1. 这不是新赛道,而是 runtime 层的“操作系统时刻”正在重演
你打开终端,输入 docker run -it ubuntu:24.04 /bin/bash ,几秒后就进了一个干净、隔离、可丢弃的 Linux 环境——你根本不用关心这台机器上装的是 Intel 还是 AMD,内存是 DDR4 还是 DDR5,硬盘是 NVMe 还是 SATA。你只和一个抽象接口打交道: run 、 exec 、 stop 、 logs 。这个抽象背后,是 Linux 内核的 cgroups、namespaces、seccomp,是硬件资源被层层虚拟化、标准化、稳态化的结果。二十年前,当你第一次在 Windows 上双击安装一个 .exe ,它能跑起来,靠的不是你手动配 PATH、注册 DLL、开防火墙端口,而是 Windows 提供了一套稳定、向后兼容的 Win32 API 和服务管理模型。这些都不是凭空出现的,它们是在无数个“我写的程序在客户服务器上崩了,因为他们的 .NET 版本太老”、“我的 Java 应用在客户 A 的 JVM 上正常,在客户 B 的 JVM 上 OOM”这类血泪教训里,被硬生生熬出来的基础设施共识。
Anthropic 在 2026 年 4 月 8 日发布的 Claude Managed Agents ,就是这个时刻在 AI 工程领域的复刻。它不是一个“更聪明的聊天机器人”,而是一套面向生产环境的、可编程的、有状态的、带沙箱的 AI 运行时(Runtime) 。关键词不是“Agent”,而是 Managed 。这个词背后藏着所有一线工程师最痛的三根刺:状态管理失控、凭证泄露风险、故障不可追溯。我去年亲手搭过一套基于 LangChain 的客服工单处理 Agent,系统上线第三周,一个用户提交了长达 47 步的复杂退货请求,Agent 在第 38 步调用内部 ERP 接口时,突然开始胡言乱语,把“已发货”说成“已退款”,把“仓库编号 WH-07”错写成“WH-007”。我们翻日志,发现 context 窗口早已溢出,前面 20 步的工具调用返回结果全被截断,模型只能对着一个残缺的、自我编造的历史做推理。更糟的是,整个 session 没有任何结构化事件记录,我们无法回放、无法比对、无法定位是哪一步的 JSON 解析出了错。最后只能靠人工翻数据库变更日志,花了整整两天才还原真相。这种安静的、昂贵的、无法复现的失败,才是 AI 工程落地真正的拦路虎。Anthropic 的 Managed Agents 把“Session”从模型上下文里彻底剥离出来,变成一个独立、持久、可查询的事件日志(Event Log),就像数据库的 WAL(Write-Ahead Log)一样,每一次 tool call、每一次 state update、每一次 human feedback,都原子性地写入这个外部存储。这不是锦上添花,这是给整个 AI 应用装上了黑匣子和安全气囊。它解决的不是“能不能做”,而是“敢不敢让这个 Agent 去动生产数据库”。
这个产品发布在 Towards AI 上被冠以“Layer That’s Already Going to Zero”的标题,绝非危言耸听。它精准地戳中了当前 AI 基础设施演进的核心矛盾:当模型能力(Model Capability)成为公共品,当推理成本(Inference Cost)被 hyperscaler 们压到毫厘之间,真正决定谁能活下来、谁会被淘汰的,不再是“谁的模型更大”,而是“谁能把模型安全、可靠、可审计、可扩展地跑起来”。Managed Agents 的定价是 $0.08/小时的 active runtime,外加 Claude 的 token 费用。这个价格本身不重要,重要的是它的计费模型——它按“运行时间”收费,而不是按“调用次数”或“token 数量”。这意味着 Anthropic 在告诉开发者:“别再把 Agent 当成一次性的 API 调用,把它当成一个长期驻留、有状态、需要被运维的服务。”这本身就是一种范式迁移。它要求你思考 session 生命周期管理、checkpoint 恢复策略、沙箱资源配额、trace 数据归档周期。这些,正是操作系统时代,我们为进程(Process)、文件(File)、网络连接(Socket)所建立的那套成熟心智模型。所以,这不是 Anthropic 在开创一个新类别,而是在为一个即将被所有人默认采用的底层标准,提供第一个高质量的、商业友好的参考实现。它像当年 VMware Workstation 之于 x86 虚拟化,是那个“让大家第一次真切感受到虚拟化有多香”的启蒙者,而非最终赢家。
2. 核心设计解构:为什么是 Session-As-Event-Log,而不是 Context-As-State?
要真正理解 Anthropic Managed Agents 的架构价值,必须先拆解它试图解决的三个核心痛点,以及它给出的、与传统做法截然不同的工程解法。这不仅仅是“换个存储位置”那么简单,而是一次对 AI 应用数据流的根本性重构。
2.1 痛点一:Context Window 是脆弱的“纸糊保险柜”
绝大多数开源 Agent 框架(LangChain、LlamaIndex、CrewAI)默认将 session state 存储在 LLM 的 context window 里。这就像把你的银行账户余额、交易流水、密码提示问题,全都写在一张便利贴上,然后塞进一个只能容纳 32KB 的信封里。每次模型推理,你都要把这张便利贴连同新指令一起塞进去。问题来了:这张便利贴会越写越长。当用户问“刚才我让你查的订单号是多少?”,模型必须从这堆文字里准确提取出那个 12 位数字;当用户说“把这个订单的状态改成已发货”,模型必须找到对应订单的 JSON 片段并修改其中的 status 字段。这依赖两个极其脆弱的假设:第一,模型能完美地解析和定位文本;第二,context 窗口永远够用。现实是,前者在长文本中准确率断崖式下跌,后者在多轮复杂交互中必然耗尽。我实测过一个基于 GPT-4-turbo 的采购审批 Agent,当它需要串联查询供应商库、比价表、库存系统、财务预算模块共 7 个步骤后,context 就已占用 92%。第 8 步,也就是最关键的“生成最终审批邮件”环节,模型直接把上一步的库存数量(127)错记为“1270”,导致邮件里写了“请备货 1270 件”,而实际库存只有 127。这不是模型“蠢”,这是架构设计把模型逼到了悬崖边。
Anthropic 的解法是 Session-as-Event-Log 。它把每一次交互都视为一个不可变的事件(Immutable Event):
-
Event Type:tool_call -
Tool Name:get_inventory -
Input:{"sku": "ABC-123"} -
Output:{"quantity": 127, "warehouse": "WH-07"} -
Timestamp:2026-04-08T14:23:11.456Z
这个事件被写入一个外部、持久、高可用的存储(很可能是基于 DynamoDB 或类似技术的 OLAP 优化型数据库)。当模型需要知道“库存是多少”,Harness(执行器)不再去 context 里翻找,而是直接向这个 event store 发起一个精确的、带时间戳范围的查询,拿到结构化的 JSON 结果,再注入 context。这带来了三个质变:第一,state 不再是模糊的文本,而是精确的、可索引的、可验证的数据;第二,context 窗口只承载“当前任务所需的最小信息”,长度可控,稳定性飙升;第三,整个 session 的历史变成了一个可审计、可回放、可分析的完整链条。你可以轻松回答:“这个订单的库存查询结果,是在哪一刻、由哪个工具、以什么参数返回的?”——这在传统 context-based 架构里,是根本无法做到的。


344

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



