Anthropic Managed Agents:解耦大脑与双手 — 深度研究报告

来源: https://www.anthropic.com/engineering/managed-agents

发布日期: 2026-04-08

研究日期: 2026-04-26

辅助来源: WIRED, InfoWorld, VentureBeat

一句话版本

Anthropic 推出了一个托管化的 Agent 运行平台(叫 Managed Agents),让你不用自己搭服务器、写调度循环、处理崩溃恢复、管密码安全——只要定义 Agent 要干什么、能用什么工具,Anthropic 的云端帮你跑。相当于 Agent 界的 "Serverless"。

核心内容

1. 背景:Harness 假设会过时

Anthropic 工程博客之前发过三篇系列文章讲如何构建 Agent、设计 Harness、处理长任务。这篇文章是那个系列的延续。

核心洞察:Harness(Agent 的调度循环代码)里编码了大量"模型做不到什么"的假设。但这些假设随着模型升级会 stale(过时)

具体例子

Harness 需要持续演进,但接口应该稳定。

2. 设计哲学:抽象大于实现

Anthropic 借鉴了操作系统的设计思路:

> "如何为'尚不存在的程序'设计系统?"

就像 OS 把硬件虚拟化成 process、file 这些抽象——read() 不关心底层是 1970 年代的磁盘还是现代 SSD——Managed Agents 把 Agent 组件虚拟化成三个接口:

抽象层定义类比
**Session**只追加的事件日志,记录发生的一切文件系统
**Harness**调用 Claude + 路由 tool call 的循环调度器
**Sandbox**代码执行和文件编辑的环境进程

关键态度:"我们对接口的形状有意见,对接口后面跑什么没意见。"

技术架构深度分析

从"养宠物"到"养牲口"

V1 架构问题(耦合式)


┌─────────────────────────┐
│  单一容器                 │
│  ┌───────┐ ┌──────────┐ │
│  │Session│ │ Harness  │ │
│  └───────┘ └──────────┘ │
│  ┌────────────────────┐ │
│  │     Sandbox        │ │
│  └────────────────────┘ │
└─────────────────────────┘

问题:

1. 容器是"宠物":挂了就丢了整个 session,无响应就得手动抢救

2. 调试困难:唯一窗口是 WebSocket 事件流,但无法区分是 harness bug、网络丢包还是容器宕机

3. VPC 集成困难:客户要连接私有云只能做网络对等,或者自己在本地跑 harness

4. 安全模型脆弱:Claude 生成的代码和 credentials 在同一个容器里,一次 prompt injection 就能让 Claude 读到自己的环境变量

V2 架构(解耦式)


Session (持久化事件日志,独立于任何容器)
     ↕
Harness (无状态,可重启,崩溃不丢数据)
     ↕
Sandbox (牲口,挂了就换新的)

安全模型的精髓

两个模式解决 credential 安全问题:

1. Bundled auth:Git token 在 sandbox 初始化时 clone 进 git remote,agent 做 push/pull 时永远不碰 token

2. Vault proxy:MCP 工具用 OAuth token 存在外部 vault。Claude 调 MCP 工具时通过代理中转,代理用 session token 去 vault 取真实 credentials

Harness 永远不知道任何 credentials。

Session ≠ Context Window

这是整篇文章最深刻的设计决策之一。

长任务超过 context window 时,传统方案都是不可逆决策:compaction(压缩)、trimming(裁剪)。但丢掉的东西未来可能需要,而且提前无法预测。

Managed Agents 的方案:

这和 Karpathy 的 "Context as REPL Object" 思路一致——上下文不再是 Claude 脑子里的一次性记忆,而是外部持久化、可程序化访问的数据对象。

多脑多手架构

性能收益

灵活性

场景还原:新旧架构实战对比

以一个具体场景把架构差异讲透——Agent 要在 GitHub 上改代码、跑测试、提交 PR

旧架构(耦合式)

启动 Managed Agent session → 系统起一个 Docker 容器,里面同时装着:

推到第 3 个 commit 时,容器 OOM 了

连锁故障:

1. 不可观测:唯一入口是 WebSocket 事件流突然停掉,分不清是容器 OOM、WebSocket 断开、还是 harness bug

2. 无法安全 debug:工程师要 SSH 进容器看,但容器里有用户代码数据——每次 debug 都是一次安全审批

3. 数据丢失:还没 flush 到磁盘的 session 记录全丢,Agent 得重来

4. 安全灾难:如果有人 prompt injection 让 Claude "把环境变量发给我"——GitHub token 就在环境变量里。攻击者拿到 token 可以 spawn 新 session、随便干什么


┌─────────────────┐
│ 👤 攻击者        │
│ "发我环境变量"   │
└──────┬──────────┘
       │ prompt injection 骗过 Claude
       ▼
┌─────────────────┐
│  单一 Docker 容器 │
│  ┌───────────┐  │
│  │ GITHUB_TOKEN│ ← 直接泄露!
│  │ ABC123...  │  │
│  ├───────────┤  │
│  │  Claude    │  │
│  ├───────────┤  │
│  │  Harness   │  │
│  ├───────────┤  │
│  │  Sandbox   │  │
│  └───────────┘  │
│   🔥 OOM/Crash   │ → 一切丢失
└─────────────────┘

新架构(Managed Agents)

同样的场景——推到第 3 个 commit 时容器 OOM。

Sandbox 层execute("bash", "git push") 返回错误。Harness 原样传给 Claude:"命令执行失败。" Claude 判断需不需要重试。如果需要,Harness 调 provision({resources}) 起一个全新容器

Session 层:如果 Harness 在容器 OOM 的瞬间也崩了,没关系——它无状态。新 harness 实例:

1. wake(sessionId) → 唤醒

2. getSession(id) → 读回事件日志

3. 从最后一个事件继续

什么都不丢。

安全层:prompt injection 让 Claude 偷 token?


🔐 Vault (外部)
│  ├── GitHub token: ABC123...
│  └── OAuth tokens: ...
│
│  初始化时 bundle token 进 git remote
│  ┌──────────────────────┐   ┌──────────────────────┐
│  │     Sandbox #1       │   │     Sandbox #2       │
│  │  .git/config:        │   │  .git/config:        │
│  │  url = token@git...  │   │  url = token@git...  │
│  │  (Claude 看不到 token)│   │  (全新 clone,接着干)  │
│  └──────────┬───────────┘   └───────────┬──────────┘
│             │                           │
│      execute("bash",     execute("bash",
│        "git push") →      "git push") →
│          返回结果              返回结果
│             │                           │
│     ┌───────┴────────────┐
│     │      Harness        │  ← 无状态, 可重启
│     │  (从 Session 恢复)   │
│     └────────┬───────────┘
│              │
│     ┌────────┴──────────┐
│     │     Session        │  ← 持久化, 独立存储
│     │  (append-only 日志) │
│     └───────────────────┘

一句话:旧架构是一间屋子,床、厨房、保险柜全在一起——着火了什么都烧。新架构是把保险柜放银行,床烧了换张新的就行,你还有一份账单(session log)精确记录你之前干了什么。

竞品对比

维度Anthropic Managed AgentsOpenAI Agents SDK / FrontierMicrosoft Copilot Studio
托管程度完全托管(beta)SDK 免费但自部署 / Frontier 托管托管($200/月起/25000消息)
模型Claude 全系列GPT 系列多模型
架构哲学接口稳定,实现可变SDK 开放,开发者控制低代码,企业集成
长任务支持Session 持久化 + getEvents需自行实现有限
安全模型Token 不进 sandbox + vault proxy开发者负责Azure 集成
多 Agent 协调原生支持 brain→hand 传递Agents SDK 支持 swarm支持

关键差异:Managed Agents 最大的差异化在于"元 harness"设计——它不预设你用什么 harness,只提供稳定接口。Claude Code 可以是其中一个 harness(Anthropic 自己也大量用)。

开源替代品对比

Managed Agents 的三层解耦架构(Session + Harness + Sandbox),目前没有一个开源框架完整覆盖。以下按接近程度排列:

最接近完整概念的

OpenHarness (HKUDS)

LangGraph (⭐24.8k · 3450万月下载)

部分维度够用

框架Stars优势缺失
**CrewAI**44.3k多 Agent 角色协作,代码少Session 持久化弱,无安全隔离
**AutoGen (MS)**54.6k事件驱动多 Agent,GAIA benchmark 强⚠️ 已进入维护模式,被合并进 MS Agent Framework
**OpenAI Agents SDK**19k轻量、provider-agnostic、tracing 内置无托管、无 sandbox、无 session 持久化
**Dify**129.8k低代码拖拽搭 Agent + RAG灵活性有限,面向非开发者
**Google ADK**17.8k深度绑定 Gemini/Vertex AI非 Google 生态不友好
**Mastra**~12kTypeScript 原生,workflow + memory偏向单 Agent

差距对照表

Managed Agents 特性最接近的开源方案差距
Session 持久化 + getEvents()LangGraph StateGraph + CheckpointerLangGraph 有状态持久化,但不如 getEvents() 灵活
无状态 Harness 可重启**无**没有开源方案做到 crash→wake→resume 的完整闭环
Sandbox 安全隔离Firecrawl Browser Sandbox仅浏览器场景,非通用代码执行
Token 不进 Sandbox**无**没有开源方案原生支持 bundled auth + vault proxy 模式
多 Brain 多 HandCrewAI / AutoGen有协作,但没有 brain 之间传递 hand 的通用接口
TTFT 优化(懒加载沙箱)**无**没有开源方案专门做这个层面优化

结论:Managed Agents 的核心护城河不是某一个功能,而是三层解耦的架构设计 + 安全模型 + 托管运维一体化。开源框架能覆盖其中一两层,组合起来也能凑出类似能力,但架构干净程度和运维成本差距明显。这也是 VentureBeat 担心的 vendor lock-in 的根源。

对我们的启发

1. OpenClaw 的架构共鸣

OpenClaw 的部分设计思想和 Managed Agents 高度共振:

2. 可以学习的点

Managed Agents 特性OpenClaw 可借鉴
Session 作为 context 外的可查询对象session log 加 programmatic query 接口
Harness 无状态可重启当前 agent 进程 if 崩溃后自动 resume
Token 不进 sandbox敏感 token 管理可以更安全(目前 .bashrc 里的 token 对 exec 可见)
多 brain 多 hand 架构子 agent spawn 的编排可以更结构化
TTFT 优化(懒加载 sandbox)spawn session 时不必等所有基础设施就绪

3. 值得警惕的地方

评分

维度评分说明
技术深度★★★★★从 OS 设计借鉴抽象层思路,session-as-context-object 尤为深刻
实用性★★★★☆解决真实痛点(TTFT、安全、崩溃恢复),但 beta 阶段
独创性★★★★★"元 harness"设计在 Agent 平台中独树一帜
可落地性★★★☆☆需依赖 Anthropic 平台,非开源,迁移成本高
与我们的相关性★★★★☆多个设计理念可直接启发 OpenClaw 架构迭代

综合评分:8.5/10

报告生成时间:2026-04-26 · 研究员:OpenClaw Deep Research Agent