跳转至

Claude Managed Agents

概述

Claude Managed Agents 是 Anthropic 推出的托管智能体执行平台——一套开箱即用、可配置的智能体运行框架(harness),运行于托管基础设施之上。开发者无需自行搭建智能体循环、工具执行层和运行时,即可获得完整的托管环境:Claude 可在其中读取文件、执行命令、浏览网页并安全地运行代码。平台内置提示词缓存、上下文压缩及其他性能优化能力。

该平台于 2026 年 4 月至 5 月间宣布新增三项能力:Memory(记忆)(公测,4 月 23 日)、Dreaming(梦境)(研究预览,5 月 6 日)以及 Outcomes + Multiagent Orchestration(成果 + 多智能体编排)(公测,5 月 6 日)。

基本要求:所有 Managed Agents API 请求均需携带 managed-agents-2026-04-01 beta 头。SDK 会自动设置该头。

核心概念

概念 说明
Agent(智能体) 模型、系统提示词、工具、MCP 服务器及技能的集合——定义一次,通过 ID 复用
Environment(环境) 会话的运行位置:Anthropic 托管的云容器或自托管沙箱
Session(会话) 正在执行特定任务的智能体实例,产生事件流
Events(事件) 应用与智能体之间交换的消息(用户回合、工具结果、状态信息等)

功能一 — Memory(记忆,公测)

简介

记忆存储(memory store)允许智能体跨会话保留信息:用户偏好、项目规范、历史错误以及领域背景知识。默认情况下,每个会话独立启动;若不启用记忆,所有状态会在会话结束后丢失。

记忆存储是一个工作区级别的文本文档集合。挂载到会话后,它将以目录形式挂载到容器内的 /mnt/memory/ 路径下。智能体使用与访问其他文件系统相同的文件工具(bash、grep 等)对其进行读写。系统提示词中会自动附加一条说明,描述每个挂载点的路径、访问模式、描述及操作说明。

每次修改都会生成一个不可变的记忆版本memver_...),提供完整的审计轨迹和时间点恢复能力。版本保留 30 天(近期版本无论时间长短均会保留)。

关键限制

限制项
每个会话最多挂载记忆存储数量 8 个
单个记忆文件最大大小 100 kB(约 25k tokens)
每个存储的操作说明最大长度 4,096 字符
记忆版本保留时间 30 天(近期版本始终保留)

API

创建存储POST /v1/memory_stores

store = client.beta.memory_stores.create(
    name="User Preferences",
    description="Per-user preferences and project context.",
)
# store.id = "memstore_01Hx..."

首次会话前预填内容(可选):

client.beta.memory_stores.memories.create(
    store.id,
    path="/formatting_standards.md",
    content="All reports use GAAP formatting. Dates are ISO-8601...",
)

挂载到会话 — 指定 access 和各存储的 instructions

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
    resources=[{
        "type": "memory_store",
        "memory_store_id": store.id,
        "access": "read_write",  # or "read_only"
        "instructions": "User preferences and project context. Check before starting any task.",
    }],
)

安全内容编辑 — 使用 content_sha256 实现乐观并发控制,避免并发写入冲突:

client.beta.memory_stores.memories.update(
    memory_id=mem.id,
    memory_store_id=store.id,
    content="CORRECTED: Always use 2-space indentation.",
    precondition={"type": "content_sha256", "content_sha256": mem.content_sha256},
)

版本脱敏(合规用途——从历史记录中删除 PII/密钥):

client.beta.memory_stores.memory_versions.redact(version_id, memory_store_id=store.id)

记忆结构最佳实践

记忆应组织为多个小型、专注的文件,而非少数几个大文件(每文件上限 100 kB)。使用目录路径按主题分类:

/preferences/formatting.md
/preferences/communication-style.md
/project/architecture-decisions.md
/project/known-issues.md

安全警告

记忆存储默认以 read_write 权限挂载。若智能体处理不可信输入(用户提示词、抓取的网页内容、第三方工具输出),提示词注入攻击可能将恶意内容写入存储,后续会话则会将其作为可信记忆读取。对于参考资料、共享查找表以及任何无需智能体修改的存储,请使用 read_only 权限。


功能二 — Dreaming(梦境,研究预览)

简介

Dreaming 是一种异步记忆整理任务,在两次会话之间运行,而非在任务执行期间运行。它以记忆存储和历史会话记录为输入,输出一个经过重新整理的新记忆存储——输入内容从不被修改(设计上为非破坏性操作)。

其类比是海马体的记忆巩固机制:Dreaming 不会无限期保存原始交互记录,而是回顾累积的内容,去重、消除矛盾与过时信息,并将反复出现的模式(重复的错误、团队偏好)提炼为结构化的干净记忆。

所需额外 beta 头dreaming-2026-04-21

Dreaming 的功能

  • 将重复信息合并到已有的主题文件中(而非创建新的近似重复内容)
  • 删除或替换过时、相互矛盾的条目,保留最新值
  • 挖掘新洞察与反复出现的模式:偏好的工作流、重复的错误、团队规范
  • 将相对日期转换为绝对日期,以提升时间信息的持久性
  • 输出整洁的、带索引的主题文件结构

API

创建 dreamPOST /v1/dreams

dream = client.beta.dreams.create(
    inputs=[
        {"type": "memory_store", "memory_store_id": store_id},
        {"type": "sessions", "session_ids": [session_a, session_b]},
    ],
    model="claude-opus-4-7",
    instructions="Focus on coding-style preferences; ignore one-off debugging notes.",
)
# dream.id = "drm_01..."
# dream.status = "pending"

追踪进度(轮询):

while dream.status in ("pending", "running"):
    time.sleep(10)
    dream = client.beta.dreams.retrieve(dream.id)

使用输出 — 输出即为普通记忆存储;审核后可挂载到后续会话:

output_store_id = next(
    o.memory_store_id for o in dream.outputs if o.type == "memory_store"
)
session = client.beta.sessions.create(
    agent=agent_id,
    environment_id=environment_id,
    resources=[{"type": "memory_store", "memory_store_id": output_store_id}],
)

取消 / 归档 — 支持标准的生命周期管理操作。

Dream 生命周期

状态 含义
pending 已创建并加入队列
running 流水线处理中;usage 实时更新
completed 输出记忆存储已就绪
failed 因错误终止;输出存储包含部分结果
canceled 手动取消;输出存储包含部分结果

运行期间,dream.session_id 指向执行该流水线的底层会话——可以流式订阅该会话的事件,实时观察 dream 的读写过程。

限制与计费

限制项
每个 dream 最多包含的会话数 100
instructions 长度 4,096 字符
支持的模型 claude-opus-4-7claude-sonnet-4-6
典型运行时长 数分钟至数十分钟
计费 按标准 Token 费率计算;随会话数量和长度线性增长

错误类型

error.type 触发条件
timeout 超出运行时间预算
internal_error 未分类的流水线故障
memory_store_org_limit_exceeded 在预配期间组织触达记忆存储上限
input_memory_store_too_large 输入存储超出流水线大小限制
input_memory_store_unavailable dream 创建后输入存储被归档或删除
input_session_unavailable dream 创建后某个输入会话被归档或删除

功能三 — Outcomes(成果,公测)

简介

Outcomes 将会话从对话升级为目标导向的工作模式。你通过一份自然语言评分标准(rubric)定义"完成"的标准。运行框架自动为智能体输出分配一个独立的评分器(grader),依据评分标准评估输出结果、返回逐条反馈,智能体持续迭代,直至满足成果要求或达到 max_iterations 上限。

评分器在独立的上下文窗口中运行,与主智能体的推理过程隔离,从而防止智能体的实现选择污染评估结果(与评测框架中的 LLM 充当评审原则相同)。

评分标准设计

评分标准是一份包含明确、可评分标准的 Markdown 文档。每项标准独立评分,因此标准模糊会导致评估噪声较大。

# DCF Model Rubric

## Revenue Projections
- Uses historical revenue data from the last 5 fiscal years
- Projects revenue for at least 5 years forward

## Discount Rate
- WACC is calculated with stated assumptions
- Beta, risk-free rate, and equity risk premium are sourced or justified

## Output Quality
- All figures in a single .xlsx file with clearly labeled sheets
- Sensitivity analysis on WACC and terminal growth rate included

Anthropic 的建议:提供一份已知高质量的示例产出,让 Claude 分析其优质之处,再将分析结果转化为评分标准——这种方式通常比从零开始撰写标准效果更好。

评分标准可以以文本形式内联传入,也可以通过 Files API 上传一次后,凭文件 ID 在多个会话中复用。

API

定义成果 — 在会话创建后发送 user.define_outcome 事件:

session = client.beta.sessions.create(agent=agent.id, environment_id=environment.id)

client.beta.sessions.events.send(
    session_id=session.id,
    events=[{
        "type": "user.define_outcome",
        "description": "Build a DCF model for Costco in .xlsx",
        "rubric": {"type": "text", "content": RUBRIC},
        # or: "rubric": {"type": "file", "file_id": rubric.id},
        "max_iterations": 5,  # optional; default 3, max 20
    }],
)

智能体在收到事件后立即开始工作,无需额外消息触发。

成果事件

事件 说明
span.outcome_evaluation_start 评分器开始评估某次迭代,iteration 字段从 0 开始计数
span.outcome_evaluation_ongoing 评分器运行期间的心跳事件;内部推理过程不透明
span.outcome_evaluation_end 评分器完成评估;result 字段指示下一步操作

span.outcome_evaluation_endresult 值:

result 后续行为
satisfied 会话转为 idle 状态
needs_revision 智能体开始新一轮迭代
max_iterations_reached 智能体可执行最后一次修订;会话转为 idle 状态
failed 评分标准与任务根本不匹配(例如描述与标准相互矛盾);会话转为 idle 状态
interrupted 评估开始后收到了 user.interrupt 事件

评估结束事件示例:

{
  "type": "span.outcome_evaluation_end",
  "outcome_id": "outc_01a...",
  "result": "satisfied",
  "explanation": "All 12 criteria met: revenue projections use 5 years of historical data, WACC assumptions are stated...",
  "iteration": 0,
  "usage": {"input_tokens": 2400, "output_tokens": 350}
}

获取交付物

智能体将输出文件写入容器内的 /mnt/session/outputs/ 目录。通过限定会话范围的 Files API 获取:

files = client.beta.files.list(scope_id=session.id)
content = client.beta.files.download(files.data[0].id)
content.write_to_file("/tmp/output.xlsx")

链式成果

同一时间只有一个成果处于活跃状态。当一个成果的终止事件发出后,可再次发送 user.define_outcome 来链式定义下一个成果。会话会保留历史成果的记录。


功能四 — Multiagent Orchestration(多智能体编排,公测)

简介

多智能体编排允许一个协调者(coordinator)智能体将复杂任务拆分并分派给各专家(specialist)智能体,各专家在各自隔离的上下文中并行运行。待专家完成后,协调者负责汇总结果。

架构

  • 所有智能体共享同一个容器、文件系统和 vault 凭据(共享状态)
  • 每个智能体在各自的会话线程中运行——拥有独立的上下文事件流和对话历史
  • 线程具有持久性:协调者可向之前调用过的智能体继续发送消息
  • 每个智能体使用自己的配置(模型、系统提示词、工具、MCP 服务器、技能)——上下文跨智能体共享
  • MCP 服务器以智能体为作用域;vault 凭据以会话为作用域(在所有线程间生效)

配置

在协调者智能体上设置 multiagent.type = "coordinator",并配置专家名单:

coordinator = client.beta.agents.create(
    name="Engineering Lead",
    model="claude-opus-4-7",
    system="Coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
    tools=[{"type": "agent_toolset_20260401"}],
    multiagent={
        "type": "coordinator",
        "agents": [
            {"type": "agent", "id": reviewer_agent.id},
            {"type": "agent", "id": test_writer_agent.id},
            {"type": "self"},  # coordinator can also spawn copies of itself
        ],
    },
)

名单条目: - {"type": "agent", "id": agent_id} — 按 ID 引用(固定为最新版本) - {"type": "agent", "id": agent_id, "version": v} — 固定特定版本 - {"type": "self"} — 协调者生成自身的副本

限制

限制项
最大并发线程数 25
名单中最多不同智能体数 20
最大委派深度 1 层(协调者 → 专家;专家不可再次委派)

协调者可在名单中多次调用同一智能体(每次调用创建一个新线程)。

委派模式

模式 说明
并行化 同时展开独立子任务(搜索多个来源、分析不同文件),再汇总结果
专业化 将任务路由到具有特定领域提示词和工具的智能体(安全智能体、文档智能体)
升级处理 针对特定复杂子任务,委托给能力更强的模型处理

线程事件(主事件流)

事件 说明
session.thread_created 线程已创建;包含 session_thread_idagent_name
session.thread_status_running 线程开始活动
session.thread_status_idle 智能体等待输入;包含 stop_reason
session.thread_status_terminated 线程已归档或出现终止性错误
agent.thread_message_received 专家智能体向协调者返回结果
agent.thread_message_sent 协调者向专家智能体发送后续消息

子智能体发出的工具权限请求(requires_action)会被转发到主线程。以 user.tool_confirmation(携带 tool_use_id)响应——服务器会自动将其路由到对应线程。


自我改进循环(组合使用)

Memory + Dreaming + Outcomes 组合构成一个复合自我改进循环:

Session executes task
  ↓
Outcomes grader evaluates against rubric (separate context)
  → needs_revision? Agent iterates
  → satisfied? Session completes
  ↓
Agent writes observations, preferences, patterns to memory store during session
  ↓
[Between sessions] Dreaming job runs:
  - Ingests episodic logs from past sessions + current memory store
  - Deduplicates, removes stale facts, promotes recurring patterns
  - Produces new consolidated memory store
  ↓
Next session starts with enriched, curated memory
  → Agent has inherited behavioral improvements without model retraining

这是 Anthropic 对 CoALA 分类法中"反思/巩固长期记忆(LTM)"策略的生产级实现。整个过程无需对模型进行微调或更新权重——改进完全通过记忆整理实现。

生产案例:Harvey(法律 AI 初创公司,试点客户)报告称,在法律文书工作流中采用此组合循环后,任务完成率提升了约 6 倍(2026 年 5 月)。


可用性

功能 状态 Beta 头
Memory(记忆) 公测 managed-agents-2026-04-01
Outcomes(成果) 公测 managed-agents-2026-04-01
Multiagent Orchestration(多智能体编排) 公测 managed-agents-2026-04-01
Dreaming(梦境) 研究预览(需申请) managed-agents-2026-04-01,dreaming-2026-04-21

注意:Claude Managed Agents 在设计上为有状态服务,不符合零数据保留(ZDR)或 HIPAA BAA 的覆盖条件。会话、文件和记忆存储均可通过 API 删除。


速率限制

操作 限制
创建端点(agents、sessions、environments 等) 300 次请求/分钟
读取端点(retrieve、list、stream 等) 600 次请求/分钟

最佳实践

挑战 说明 建议
评分标准模糊 标准不明确会导致评分噪声较大 编写明确、可量化的标准:例如"CSV 包含一列数值类型的价格列",而非"数据看起来不错"。使用已知高质量产出来生成标准。
记忆文件过大 大型单一记忆文件触达 100 kB 上限,降低相关性 /mnt/memory/ 下将记忆组织为多个小型主题文件,并使用目录层次结构
记忆遭提示词注入 read_write 存储处理不可信输入 → 恶意记忆被写入 对参考类存储使用 read_only;隔离处理用户输入内容的存储
Dreaming 数据质量差 记忆组织混乱导致整理输出质量低 在运行 dream 前先按主题组织初始记忆;提供 instructions 聚焦 dreaming 范围
多智能体 Token 预算 并行专家可能导致总成本膨胀 为每个专家选用能胜任任务的最小模型(例如用 Haiku 做研究、用 Opus 做推理);控制名单规模
评分器上下文污染 评分器看到智能体推理过程会破坏隔离性 绝不将智能体的草稿或思维链传递给评分器——独立上下文窗口已从机制上强制执行此约束
并发记忆写入 多个智能体共享 read_write 存储产生竞态条件 在更新时使用 content_sha256 前置条件;考虑为每个智能体线程单独分配存储
最大迭代次数调优 过少导致提前终止;过多导致成本失控 从默认值(3)开始,仅在已知高修订周期的任务中提高;在事件中监控 iteration 字段

参见

参考资料