build-managed-agents
教 Claude Code / OpenClaw 等 coding agent 使用 Anthropic Claude Managed Agents(云端托管代理服务)API —— create/run/audit 全流程。当用户(或上游 coding agent)需要创建托管 agent、跑 session、流式处理事件、审计用量或调用 /v1/agents、/v1/environments、/v1/sessions 等 API 时使用。触发词:managed agents、托管代理、build a managed agent、agent_toolset_20260401、client.beta.agents、client.beta.sessions。
git clone https://github.com/YijiaDuan/build-managed-agents
git clone --depth=1 https://github.com/YijiaDuan/build-managed-agents ~/.claude/skills/yijiaduan-build-managed-agents-build-managed-agents
SKILL.mdbuild-managed-agents
这是一个给 coding agent(Claude Code / OpenClaw / Cursor agent 等)用的 skill —— 当 coding agent 需要帮用户构建基于 Claude Managed Agents 的应用时,照着本 skill 的 recipe 执行。
Anthropic 托管的 agent 运行时:云容器 + 内置工具 + 事件流。你不用自己搭 agent loop、工具执行、沙箱。
本 skill 覆盖三个阶段:Create(定义 agent/环境/session)→ Run(发消息、流式接收、处理工具确认)→ Audit(查状态、事件流、token 用量、成本)。
何时使用
- 用户要"创建一个 managed agent" / "托管 agent" / "跑一个 session"
- 代码里出现
、client.beta.agents
、client.beta.environmentsclient.beta.sessions - 用户询问
、/v1/agents
、/v1/environments
等端点/v1/sessions - 用户要审计/调试 session(看事件流、token 消耗、错误重试)
前置条件
pip install anthropic # Python # 或 npm install @anthropic-ai/sdk # TypeScript export ANTHROPIC_API_KEY="sk-ant-..."
所有 API 需要 beta header:
anthropic-beta: managed-agents-2026-04-01(SDK 自动加)。
Research preview 功能(outcomes / 多 agent / memory stores)需额外:
managed-agents-2026-04-01-research-preview。
核心概念速查
| 概念 | 说明 | 生命周期 |
|---|---|---|
| Agent | 模型 + system prompt + 工具 + MCP + skills | 复用,有版本号 |
| Environment | 云容器模板(预装包、网络规则) | 复用 |
| Session | 一次运行实例(Agent × Environment) | 一次性,有完整事件流 |
| Event | 会话中每条消息/工具调用/状态变更 | 永久存储,可审计 |
标准工作流
1. Create 阶段(一次性)
from anthropic import Anthropic client = Anthropic() agent = client.beta.agents.create( name="My Agent", model="claude-sonnet-4-6", system="你的 system prompt", tools=[{"type": "agent_toolset_20260401"}], # bash/read/write/edit/glob/grep/web_fetch/web_search ) env = client.beta.environments.create( name="my-env", config={"type": "cloud", "networking": {"type": "unrestricted"}}, )
详细参数、MCP、skills、自定义工具、权限策略 → 见
reference/create.md
2. Run 阶段(每个任务一次)
session = client.beta.sessions.create(agent=agent.id, environment_id=env.id) with client.beta.sessions.events.stream(session.id) as stream: client.beta.sessions.events.send( session.id, events=[{"type": "user.message", "content": [{"type": "text", "text": "..."}]}], ) for event in stream: match event.type: case "agent.message": for block in event.content: print(block.text, end="") case "agent.tool_use": pass # 内置工具,系统自动执行 case "agent.custom_tool_use": # 自定义工具 — 你必须发 user.custom_tool_result 回去 ... case "session.status_idle": break
关键细节:
- 必须先开 stream 再 send(不然前几个事件丢失)
- 遇到
权限的工具,agent 会停下等always_askuser.tool_confirmation - 遇到
,你必须回agent.custom_tool_use
,否则 session 卡死user.custom_tool_result - 要中断 agent 用
user.interrupt
完整事件类型表、图片/文档输入、多 agent、outcomes、memory stores → 见
reference/run.md 和 reference/events.md
3. Audit 阶段(任何时候)
# 列出所有 session 状态 for s in client.beta.sessions.list(limit=50): print(s.id, s.status, s.usage.input_tokens + s.usage.output_tokens) # 拉某个 session 的完整事件流(审计链) for evt in client.beta.sessions.events.list(session_id): print(evt.type, evt.processed_at) # 看 token 用量 + 时长 s = client.beta.sessions.retrieve(session_id) print(s.usage, s.stats)
成本估算、按时间段过滤、错误分类统计 → 见
reference/audit.md
可用脚本
— 一键跑通 create→run→audit 的最小模板scripts/quickstart.py
— 管理工具(list-sessions / show / stats / cleanup)scripts/admin.py
直接 copy 到项目里改 system prompt 即可。
常见陷阱
- Agent 版本漂移:生产环境要 pin 版本
,否则 update 后静默升级agent={"type": "agent", "id": "...", "version": N} - Stream 顺序:先
打开通道,再.stream()
发消息,顺序反了会丢事件.send() - Custom tool 悬挂:收到
必须回agent.custom_tool_use
(user.custom_tool_result
也行),否则 session 永远 idleis_error=True - Tool confirmation:
权限下 agent 会停在always_ask
且session.status_idle
,需要stop_reason.type="requires_action"
放行user.tool_confirmation - Rate limits:Create 类 60/min,Read 类 600/min。列表操作尽量用 limit + pagination
- Archive vs Delete:优先 archive(保留审计),delete 是永久的
- Running session 不能 delete:先发
让它 idleuser.interrupt
参考文件索引
— Agent/Environment/Session 完整创建参数reference/create.md
— 事件收发、流式、多 agent、memory stores、outcomesreference/run.md
— 所有事件类型 schema(agent.* / user.* / session.* / span.*)reference/events.md
— 列表查询、用量统计、成本估算、合规审计reference/audit.md
— 错误类型、重试策略、状态机reference/errors.md
— 可运行模板scripts/quickstart.py
— CLI 管理工具scripts/admin.py