1. 这不是新赛道,而是基础设施层的“价格归零”现场直播
上周二,4月8日,Anthropic悄悄把一个叫 Claude Managed Agents 的东西推到了公测阶段。没有盛大的发布会,没有倒计时海报,只有一篇技术味很浓的工程博客和几段被媒体复述了三遍的“十倍提速”“Notion已接入”“沙箱隔离”之类的话术。如果你刷到的是科技媒体的快讯,大概率会以为这是又一个AI Agent时代的里程碑——就像2023年ChatGPT插件、2024年Tool Calling API刚出来时那样,让人忍不住点开链接、复制代码、新建一个GitHub仓库。
但如果你真去读那篇工程博客,或者更关键地——去翻AWS在2025年11月就发布的 Bedrock AgentCore GA公告 ,再对比下Google Vertex AI Agent Builder在2026年1月上线的Agent Registry控制台,你就会发现:这根本不是“谁第一个造出轮子”的故事,而是一场发生在基础设施层的、静默却剧烈的价格重估过程。Anthropic没在开辟新大陆,它是在给一块已经标好价、正在被拍卖的土地,贴上自己的品牌标签。
我去年带团队落地过三个生产级Agent系统,其中两个是纯自研Runtime,一个跑在早期版LangChain Server上。我们踩过的坑,几乎就是今天这篇分析的全部注脚。比如那个让我连续熬了三天夜的故障:一个需要调用7个外部API、做4轮文档摘要、再生成合规报告的销售支持Agent,在运行到第38分钟时突然开始胡言乱语。日志里没有任何报错,模型输出看起来逻辑自洽,但所有引用的数据都来自前15分钟——后半段工具调用结果全被context window“吃掉”了。我们没法回溯,没法重放,甚至没法判断是哪一步丢了数据。最后只能靠人工拼接中间产物,手动补全流程。这种失败不炸裂,但特别贵:一次客户演示泡汤,后续两周都在修复信任。
Anthropic说的“session as durable event log”,翻译成人话就是:别再把整个对话历史塞进模型的脑子了,让它只管思考,把记忆交给数据库。这个设计不是炫技,是血泪教训后的标准解法。而他们真正卖的,从来不是这个解法本身——这个解法AWS、Google、Microsoft全都有,且早半年就开放给了所有人。Anthropic卖的是“Claude专属通道”:你用我的Runtime,就默认用我的模型,token按量计费,session小时另算。$0.08/小时听起来不多,但当你有500个并发Agent常驻运行时,这笔钱会比模型调用本身还显眼。这不是技术选择,是采购路径锁定。
所以这篇文章不聊“Managed Agents怎么用”,也不教你怎么写YAML配置文件。我要带你拆开这个盒子,看清里面装的是什么:一个正在快速商品化的基础设施层,一群正忙着把价值往楼上搬的玩家,以及——最关键的是——作为工程师或技术决策者,你现在该把注意力投向哪里,才不会在下一轮压缩中变成被优化掉的成本项。
2. 架构解剖:为什么“Session-as-Event-Log”不是噱头,而是生存底线
2.1 传统Agent Runtime的致命缺陷:把状态当一次性纸巾用
先说清楚问题在哪。过去一年里,90%以上的Agent项目(包括我经手的)都采用一种简单粗暴的状态管理方式: 把整个对话历史、所有工具返回结果、用户上传的文件摘要,一股脑塞进LLM的context window里 。这就像让一个博士生边写论文边记笔记、边查文献边整理参考文献格式、边跟导师开会边同步会议纪要——所有事都挤在同一张A4纸上,纸满了,就撕掉最旧的一页,继续写。
问题在于,这张“纸”是有物理极限的。Claude 3.5 Sonnet的context是200K tokens,听着很大,但实际一算就很紧张:
- 用户原始提问:平均300 tokens
- 工具调用返回的JSON:单次常达2000–5000 tokens(尤其涉及表格、日志、代码片段时)
- 模型中间思考链(CoT):每次推理约1500 tokens
- 历史对话摘要(为节省空间做的压缩):每次约800 tokens
假设一个典型销售线索处理Agent需要完成:
① 解析邮件(+2200 tokens)→ ② 查询CRM(+3800)→ ③ 调用财务系统查账期(+1500)→ ④ 生成定制化报价单(+4200)→ ⑤ 输出合规免责声明(+900)
光这5步,不加任何思考链和历史摘要,就已消耗12600 tokens。如果任务复杂些,加个PDF合同解析(+6000)、多轮客户澄清(+3×1200),轻松突破20000。而真实业务场景中,一个Agent session动辄持续数小时、跨越多个工作日,中间穿插人工审核、异步回调、状态暂停——这时你还指望靠“增大context”来解决?那是拿火箭发动机给自行车提速,方向错了。
更糟的是,这种模式下的失败是 静默的、不可逆的、无法审计的 。模型不会报错说“我忘了第一步的结果”,它只会基于残缺信息编造一个看似合理的答案。你发现不了,直到客户拿着错误报价单找上门。而此时,没有任何日志能告诉你:“第17分钟调用CRM返回的account_id是ABC-789,但第42分钟生成合同时引用的是ABC-123”。
提示:这不是理论风险。2025年Q3,我们一个金融风控Agent因context溢出,将“客户信用等级B+”误读为“B-”,导致自动拒贷流程触发。损失的不仅是单笔贷款,更是银行要求的全量trace审计能力——而我们根本没有可交付的日志。
2.2 Anthropic的解法:把“记忆”从模型大脑里剥离出来
Managed Agents的核心创新,恰恰是回归基础设施设计的基本原则: 关注点分离(Separation of Concerns) 。它把Agent系统拆成三个明确边界、独立演进的组件:
- Harness(执行器) :一个极轻量的、无状态的调度服务。它只做三件事:接收
execute(tool_name, input)请求 → 启动沙箱 → 等待返回 → 把结果写入event log → 返回字符串给模型。它不存任何业务数据,挂了重启就行,awake(sessionId)直接从log里捞出最新状态继续。 - Session(会话) :不再是内存里的一个对象,而是一个持久化在Anthropic托管数据库里的 事件时间线(Event Timeline) 。每一条记录包含:时间戳、事件类型(user_message/tool_call/tool_response/agent_think)、输入payload、输出payload、调用耗时、沙箱ID。你可以用SQL-like语法查询:“找出所有调用过
send_slack_notification且response.status=‘failed’的session”。 - Sandbox(沙箱) :每次tool call都启动一个全新、隔离的Linux容器(非Docker,是轻量级microVM),预置工具二进制和最小依赖,但 绝不注入任何credentials 。API密钥存在Anthropic的Vault里,沙箱只拿到一个临时访问令牌(short-lived token),且该令牌权限精确到
read:crm/accounts级别,连list:crm/contacts都不允许。
这个架构的价值,不在于它多酷炫,而在于它把过去分散在各处的“隐性成本”显性化、可管理化:
| 传统模式痛点 | Managed Agents解法 | 实际收益 |
|---|---|---|
| context溢出导致静默失败 | Session Log提供完整可追溯事件流 | 故障定位时间从小时级降到秒级;支持任意时刻重放(replay) |
| credentials硬编码在prompt或env中 | Vault + scoped token + sandbox隔离 | 满足SOC2 Type II审计要求;杜绝“模型把密钥发给curl”类事故 |
| 多轮交互状态靠prompt压缩维持 | Harness无状态,状态全在log里 | 支持session跨天、跨设备、跨用户延续;无需担心“用户切微信回来就断上下文” |
| 自建runtime运维成本高(扩缩容/监控/安全加固) | Anthropic统一托管,按需付费 | 小团队省去DevOps人力;大客户可预测session-hour成本 |
我实测过一个迁移案例:把原有LangChain Agent(context-based)迁移到Managed Agents。改动集中在两处:① 把所有 memory.chat_memory.add_message() 调用,换成向Anthropic Sess


452

被折叠的 条评论
为什么被折叠?



