Claude Managed Agents 实测:SDK 2.3.0 的 beta 头、403 与不收电脑操作

🔧 AI工具 2026-10-29 约 1 分钟阅读

照着 Anthropic quickstart 抄 /v1/agents 的 curl,回来的是 403 forbidden;装好 SDK 想取 agent,报 AttributeError。这篇用一个本地打点服务测出 SDK 2.3.0 每个端点实际发送的 beta 头,记录两个网络出口的真实状态码与耗时,并对照托管、自建 SDK、裸 Messages API 三条路线,含报错原文与按官方价目的费用推演。

💡 你将学到

照着 Anthropic quickstart 抄 /v1/agents 的 curl,回来的是 403 forbidden;装好 SDK 想取 agent,报 AttributeError。这篇用一个本地打点服务测出 SDK 2.3.0 每个端点实际发送的 beta 头,记录两个网络出口的真实状态码与耗时,并对照托管、自建 SDK、裸 Messages API 三条路线,含报错原文与按官方价目的

📜 目录

照着 quickstart 抄 curl https://api.anthropic.com/v1/agents,换个真 key 跑,回来的是 403 {"error":{"type":"forbidden","message":"Request not allowed"}}。换成 SDK 想取已建好的 agent,写 client.beta.agents.get(id),得到一句 AttributeError。两处都不是你的代码写错了。

先给结论:Claude Managed Agents 是 Anthropic 托管的 agent 运行时,四个对象串成一条链。agent 存配置,environment 定沙箱,session 是运行实例,events 是双向事件流。所有端点要带 anthropic-beta: managed-agents-2026-04-01,按 token 计费,托管的是循环和沙箱,不省推理钱。它不提供电脑操作能力,computer_toolset_20260801 那套桌面键鼠工具目前不进 Managed Agents,还得在你控制的环境里执行。会话状态留在 Anthropic 侧,beta 期间不适用零数据保留,也没有 HIPAA BAA。

想让 Claude 自己开浏览器点鼠标的,这篇到此为止。要跑几十分钟的多步任务、进沙箱改文件跑命令、断了能续上,往下看。

一条链怎么搭起来

三个 POST 一次 GET,顺序不能乱:先建 agent 拿 agent.id,再建 environment 拿 environment.id,然后建 session 把两个 id 粘一起,最后往 session 里塞事件。

from anthropic import Anthropic
client = Anthropic()  # SDK 自动带 beta 头

agent = client.beta.agents.create(
    name="Coding Assistant", model="claude-opus-5",
    tools=[{"type": "agent_toolset_20260401"}])
env = client.beta.environments.create(
    name="quickstart-env",
    config={"type": "cloud", "networking": {"type": "limited", "allow_package_managers": True}})
sess = client.beta.sessions.create(agent=agent.id, environment_id=env.id)
client.beta.sessions.events.send(sess.id, events=[
    {"type": "user.message", "content": [{"type": "text", "text": "把 fib.py 写到沙箱并跑一遍"}]}])
for ev in client.beta.sessions.events.stream(sess.id):
    print(ev.type)

agent_toolset_20260401 一次打开 8 个内置工具:bash、read、write、edit、glob、grep、web_fetch、web_search。要关掉某个,在 configs 里写 {"name": "web_fetch", "enabled": false};也可以 default_config.enabled: false 全关再逐个开。单个工具输出超过 100,000 字符,平台自动写进沙箱文件,模型只拿到截断预览加路径,想让它看到全文得再读一次。

实测:SDK 2.3.0 每个端点自带哪个 beta 头

文档说 SDK 会自动加头,加在哪没人写清楚。本地起一个 http.server 打点服务,把 base_url 指到 http://127.0.0.1:8899,逐个调 beta 资源,记录真实请求头,不花额度也不用真 key。结果:

调用 实际路径 anthropic-beta
messages.create POST /v1/messages 无
agents.create / list / retrieve /v1/agents managed-agents-2026-04-01
agents.versions.list /v1/agents/{id}/versions managed-agents-2026-04-01
environments.create /v1/environments managed-agents-2026-04-01
sessions.create / retrieve /v1/sessions managed-agents-2026-04-01
sessions.events.send / list /v1/sessions/{id}/events managed-agents-2026-04-01
sessions.events.stream GET /v1/sessions/{id}/events/stream managed-agents-2026-04-01
sessions.resources / threads /v1/sessions/{id}/resources、/threads managed-agents-2026-04-01
deployments / deployment_runs /v1/deployments、/v1/deployment_runs managed-agents-2026-04-01
vaults.credentials /v1/vaults/{id}/credentials managed-agents-2026-04-01
memory_stores.* /v1/memory_stores、/v1/memory_stores/{id}/memories agent-memory-2026-07-22
files / skills /v1/files、/v1/skills 无

两处容易踩:memory store 走另一个头 agent-memory-2026-07-22,两个头不能互换;files 和 skills 虽然有 beta 命名空间,SDK 一个 beta 头都不发。同一轮 SDK 还统一发了 anthropic-version: 2026-10-21,而官方 quickstart 的 curl 示例仍写 2023-06-01,文档里两种都出现过,手工拼 curl 时对不上先怀疑版本头。

实测:这边网络拿不到 401

同一个 POST /v1/agents,假 key,两个出口:

出口 带 beta 头 状态码 耗时 返回体
本机(大陆家宽) 是 403 14.50s {"error":{"type":"forbidden","message":"Request not allowed"}}
香港 ECS 是 403 0.055s 同上
香港 ECS 不带 key 403 0.055s 同上

三个请求都没进到鉴权环节,拿不到 401 authentication_error,也没有 request-id 可查。想判断 key 有没有效、额度够不够,得先把出口换到能通的网络,否则看到的 403 跟 key 无关。这个坑花了半小时才绕明白。

三条路怎么选

Managed Agents Claude Agent SDK 自建 裸 Messages API
谁跑 agent 循环 Anthropic 你的进程 你写的 while
沙箱 托管容器,或自托管 sandbox 自己起容器 没有,自己造
会话状态 服务端事件日志,能回放 自己存 自己存
压缩与缓存 内置 compaction、prompt caching 自己实现 全靠自己
定时跑 deployments 配 cron 自己的调度器 自己的调度器
桌面键鼠 不支持 支持,客户端执行 支持,客户端执行
零数据保留 / HIPAA 不支持 看你自己的环境 看你自己的环境

取舍标准:循环逻辑越标准、越要长跑,越适合托管;循环里每一步都想插手,或者合规上不允许会话落在第三方,自己搭。

五个坑,附报错原文

  1. SDK 2.x 换了 HTTP 客户端,传老的 httpx Client 直接报 TypeError: Invalid http_client argument; httpx.Client is from the httpx package, but this SDK uses httpx2. Use httpx2.Client instead.。装 httpx2 就好。
  2. 没有 agents.get(),要用 agents.retrieve(),否则 AttributeError: 'Agents' object has no attribute 'get'。
  3. webhooks 只有 parse_unverified 和 unwrap,没有 list,报 'Webhooks' object has no attribute 'list'。
  4. 限流是组织级:写端点 300 次/分钟,读端点 1,200 次/分钟。批量建 session 按这个压。
  5. 会话是持久化资源,平台不会替你定期清理也不会替你备份,跑完把产物从沙箱拉到自己仓库,别把 session 当存档盘。

钱怎么算

官方价目(每百万 token):Sonnet 5.5 输入 $2、输出 $10、cache 命中 $0.10;Opus 5.5 输入 $4、输出 $20、cache 命中 $0.20;Haiku 5.5 输入 $0.10、输出 $0.50。托管不额外打折,省的是基础设施和运维。

按 40 轮、每轮输入 30k token、输出 800 token、cache 命中率 80% 推演:Sonnet 5.5 约 $0.90,全价不用 cache 是 $2.72;换 Opus 5.5 是 $1.79,全价 $5.44。这是拿官方价目自己乘出来的示例,不是账单预测,真实账单还要算工具输出回灌和压缩重写。

最后

Managed Agents 解决的是长跑和状态这两件事。Anthropic 工程博客里写了架构调整后首 token 延迟 p50 降 60%、p95 降 90% 以上,代价是会话交给对方保管。桌面操作那条线它现在没接,一个 API 包不了全部场景。

延伸阅读:

相关文章
2026-08-07
AI品牌名生成器:能出好名字的本地提示词框架
2026-08-02
AI邮件助手2026:用开源工具起草、总结、自动回复
2026-08-15
2026 东京 VTuber 最佳 AI 变声器:7 款日本实测工具
2026-08-16
2026 AI 食谱生成器:7 款根据冰箱食材出菜的免费工具
2026-08-19
2026 最佳 AI 音乐生成器:Suno 对比 Udio 对比 AIVA(内容创作者)
2026-07-24
2026最佳免费AI字幕生成器

本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论