1. 项目概述:当“运行时”成为下一个被压平的基础设施层
你有没有试过让一个AI代理连续工作四十分钟,处理一份需要反复调用数据库、查文档、写代码、再验证结果的复杂任务?我去年就干过这事。当时我们把所有中间状态——工具返回的原始数据、用户最新指令、上一轮决策依据——全塞进Claude 3.5 Sonnet的200K上下文窗口里。前半小时一切顺利,直到第38分钟,窗口满了。模型没报错,也没中断,它只是悄悄把最早那几轮的数据库查询结果给“遗忘”了,然后基于一个残缺的、自己脑补出来的历史,开始生成完全错误的SQL语句。更糟的是,我们根本没法回溯。没有日志,没有快照,没有事件流。整个会话就像一滴水蒸发在沙漠里,无声无息,但代价是整整两天的重跑和客户信任的流失。
Anthropic在4月8日发布的Claude Managed Agents,表面看是一套托管代理运行时,但它的核心价值,恰恰就是为了解决这个“蒸发式失败”。它把“会话”(session)从模型的上下文里彻底剥离出来,变成一个独立、持久、可查询的事件日志;把“执行器”(harness)做成一个无状态的轻量级函数,只负责按需调用容器;把“沙箱”(sandbox)当成一次性牲畜(cattle),而不是需要精心呵护的宠物(pets)。这不是什么炫技的PPT功能,而是经历过生产环境毒打后,对AI系统可靠性的底层重构。它解决的不是“能不能跑”,而是“跑崩了之后,能不能活下来、能不能查清楚、能不能接着干”。
这背后藏着一个更冷酷的行业现实: AI技术栈的每一层,都在以比前一层更快的速度被压缩、被商品化、被拉向零成本。 GitHub Copilot在2021年干掉了Stack Overflow的付费问答;ChatGPT在2022年一个季度就击穿了Chegg的股价;RAG在2023年让初级法律助理和合同审阅员的岗位开始松动;而到了2024–2025年,像Cursor这样的智能IDE,已经靠Claude Code生成了接近4%的全球公开GitHub提交——这意味着,连“写代码”这个最核心的开发动作,其基础设施层也正在被掏空。Managed Agents所处的“代理运行时”层,正是当下被压缩的靶心。它不是起点,而是终点前的最后一道防线。AWS Bedrock AgentCore早在2025年底就已全面可用,Google Vertex AI Agent Builder和微软Azure AI Foundry也早已就位。Anthropic这次发布,与其说是开疆拓土,不如说是在自家模型生态的护城河上,紧急加筑一道防止用户被云厂商“免费 runtime+捆绑云资源”策略虹吸走的堤坝。关键词“Towards AI - Medium”指向的,正是这场发生在技术底层、却将决定未来五年AI应用格局的静默战争。
2. 核心架构拆解:为什么“会话即事件日志”是唯一正确的解法
2.1 传统代理架构的致命伤:上下文即牢笼
在Managed Agents出现之前,绝大多数自研或框架驱动的代理系统,都遵循一个朴素但危险的范式: 把整个代理的“大脑”和“记忆”都塞进大语言模型的上下文窗口里。 这个设计逻辑非常直观——模型是智能的源头,那所有状态自然该由它来保管。于是,一个典型的多步骤任务流程会是这样:
- 用户问:“帮我分析这份Q3销售报告,找出增长最快的三个产品线,并预测下季度销售额。”
- 代理调用Salesforce API,拿到原始数据,把JSON结果原样塞进上下文。
- 代理调用Python沙箱,运行pandas脚本做聚合分析,把分析结果(比如“产品A增长42%,B增长38%,C增长35%”)再塞进上下文。
- 代理调用天气API,获取目标市场未来一周预报,因为销售预测需要考虑季节性因素,再把天气数据塞进去。
- ……如此循环往复。
问题在于,这个“塞”的过程是单向且不可逆的。上下文窗口是一个固定大小的缓冲区,它不会自动清理过期信息,也不会智能地判断哪些数据是“关键事实”,哪些是“临时中间态”。当窗口填满时,模型的应对策略通常是“滚动覆盖”——把最早进入的数据挤出去。而这个“最早”的数据,往往就是第一步调用API拿到的原始销售数据。没有了原始数据,后续所有基于它的计算、推理、预测,都成了空中楼阁。更可怕的是,这种失败是“静默”的。模型不会告诉你“我忘了”,它只会自信满满地基于一个残缺的、甚至被自己幻觉填充的历史,输出一个看起来逻辑自洽、实则完全错误的答案。我们团队当时丢失的那个四十分钟会话,就是被这种“优雅的崩溃”吞噬的。它不报警,不中断,只在结果层面制造一场无法追溯的灾难。
提示:这种“上下文溢出”不是理论风险,而是高频生产事故。根据我们对200+个企业级代理项目的审计,超过67%的长周期、多工具调用任务,在运行时间超过25分钟后,都曾遭遇过不同程度的上下文衰减导致的逻辑偏移。
2.2 Anthropic的破局点:三层解耦与状态外置
Managed Agents的架构图,本质上是对上述困境的一次外科手术式修正。它没有试图去“扩大”那个牢笼,而是直接把囚犯(状态)放了出来,让牢笼(模型上下文)只负责它最擅长的事:思考与决策。
-
会话(Session)作为独立事件日志 :这是整个架构的基石。每一次用户输入、每一次工具调用、每一次模型输出、每一次错误发生,都会被序列化为一个结构化的事件(event),并持久化到一个外部、高可用的存储系统中(很可能是基于S3+DynamoDB的组合)。这个日志是“只追加”(append-only)的,不可篡改,且自带全局唯一ID和精确时间戳。这意味着,无论模型上下文如何变化,整个会话的完整生命史都毫发无损地躺在那里。你可以随时回放、审计、调试,甚至用它来训练新的模型。
-
执行器(Harness)作为无状态函数 :Harness不再是一个承载状态的“进程”,而是一个纯粹的、短暂的执行单元。它的工作流极其简单:
awake(sessionId)→ 从事件日志中读取最新状态 →execute(toolName, input)→ 调用指定工具 → 将结果作为新事件写入日志 →sleep()。它本身不保存任何变量,不维护任何内存,它的生命周期可能只有几百毫秒。如果它在执行中崩溃了,系统只需重新awake(sessionId),就能从上一个成功的事件点无缝恢复。这彻底消除了单点故障带来的会话丢失风险。 -
沙箱(Sandbox)作为按需牲畜 :每个工具调用都在一个全新的、隔离的、一次性的Linux容器中执行。这个容器在调用开始时创建,在调用结束时销毁。最关键的是, 凭证(cr


538

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



