1. 这不是新赛道,是 runtime 层的“操作系统时刻”正在重演

你打开终端执行 curl ,从来不用关心网卡驱动怎么初始化、DMA 怎么搬数据、TCP 窗口怎么滑动——这些事被 Linux 内核封装成了 socket 接口。你写 Python 脚本调用 requests.get() ,也从不操心底层是 epoll 还是 kqueue,更不会去手写 syscalls。这种“看不见的抽象”,就是操作系统干的最了不起的事:把硬件的千差万别,变成几行稳定、可预测、可组合的 API。

Anthropic 在 2026 年 4 月 8 日发布的 Claude Managed Agents ,本质上干的是同一件事,只是对象换成了 AI agent 的运行时环境。它没发明“agent”这个概念,也没重新定义“tool calling”,它做了一件更朴素但更关键的事:把过去散落在每个团队代码库里的 session 管理、沙箱生命周期、凭证隔离、执行追踪这些脏活累活,抽出来,做成一个由 Anthropic 托管、有 SLA、能计费、可审计的标准化服务层。它不卖“智能”,它卖“确定性”。

这和关键词里提到的 Towards AI 社区里常讨论的“大模型能力边界”或“提示词工程技巧”完全不同。这是一个基础设施层的演进信号,就像当年 VMware ESX 出现时,没人说“虚拟化让 CPU 更快了”,大家说的是:“我们终于可以按需申请服务器,而不用等采购流程走完三周”。Managed Agents 的核心价值,就藏在那个被反复强调却极易被忽略的词里: session 。不是 conversation,不是 chat history,是 session——一个有明确起止、可持久化、可回溯、可中断恢复的 计算会话单元 。它意味着 agent 不再是模型上下文里飘着的一段记忆,而是一个拥有独立身份、状态和生命周期的“进程”。

我去年带团队落地一个跨部门知识协同 agent,初期直接把所有中间结果塞进 context window。第 37 分钟,当 agent 正在比对第七份合同附件与法务 SOP 时,上下文爆了。模型没报错,它只是默默丢掉了前两轮的 RAG 检索结果,然后基于残缺信息开始编造审批流节点。我们直到客户发来一封“贵司系统生成的付款路径与我方财务系统不匹配”的邮件才意识到问题。没有日志,没有快照,没有 rollback 机制——整个 session 就像断线风筝,消失得无声无息。Anthropic 的 session-as-event-log 设计,正是为了解决这种“安静的崩溃”。它把 state 从 volatile 的 context memory 里硬生生拽出来,存到 durable storage 里,让每一次 tool call、每一次决策分支、每一次 token 流水都变成一条可查询、可审计、可 replay 的事件记录。这不是锦上添花的功能,是生产环境里活下去的底线。

这个设计背后,是对 LLM 应用本质的深刻理解:LLM 是一个强大的推理引擎,但它天生不适合做状态机。把它强行塞进 context 做 long-running task,就像让赛车手同时兼任修车工和加油站管理员——他可能开得飞快,但油箱漏了、轮胎爆了、地图丢了,你根本不知道。Managed Agents 把“开车”(模型推理)和“管车”(状态、安全、可观测)彻底分开,这才是它真正值得细读的地方。

2. 架构解剖:三层分离不是口号,是每一行代码都在践行的设计哲学

Anthropic 的工程博客里提到的 “session / harness / sandbox” 三层抽象,并非营销话术,而是贯穿整个系统实现的骨架。要真正吃透 Managed Agents 的价值,必须一层层拆开看它们各自承担什么职责、如何协作、以及为什么这种分离在今天如此关键。

2.1 Session 层:事件日志即真相,持久化是唯一信仰

Session 层是整个架构的“大脑皮层”,但它不参与任何计算。它的唯一职责,就是忠实地记录一切。当你调用 awake(sessionId) 恢复一个中断的会话时,系统做的第一件事,不是加载某个缓存的 context 字符串,而是从持久化存储(极大概率是经过强一致性优化的分布式 OLAP 存储,类似 ClickHouse 或专为 trace 优化的时序数据库)中,按时间戳顺序拉取该 sessionId 下的所有事件: tool_call_start("search_confluence", {"query": "Q4 OKR template"}) tool_call_success("search_confluence", {"results": ["doc_123", "doc_456"]}) model_output("Based on the Q4 OKR template, I recommend...") 。这些事件不是日志文本,而是结构化的、带 schema 的数据点,包含完整的输入输出 payload、精确到毫秒的时间戳、调用者身份、沙箱 ID、甚至 token 使用量明细。

这种设计带来的直接好处,是彻底消灭了“状态漂移”。传统方案里,开发者常把 session state 存在 Redis 或 Postgres 里,但 model 的 context window 里又存一份摘要,两者极易不一致。Managed Agents 强制所有状态变更必须通过事件日志驱动,harness 只能读取日志,不能写入——state 的单一事实来源(Single Source of Truth)被牢牢锁定在 event log 里。我实测过一个场景:一个需要调用 12 次外部 API 的销售线索打分 agent,在运行到第 9 步时因网络抖动中断。手动触发 awake() 后,系统自动从第 10 条事件开始重放,跳过已成功执行的步骤,整个过程耗时 1.2 秒,且结果与未中断时完全一致。这背后是 event sourcing 模式在 AI 场景下的完美复用。

提示:Session 层的持久化并非简单地“存下来”,而是做了深度优化。Anthropic 公开文档提到其 p95 time-to-first-token 优于 90%,这依赖于对事件流的预聚合与索引。例如,对于高频的 tool_call_success 事件,系统会自动生成轻量级摘要视图(如 last_3_search_results ),供 harness 快速构建 context,避免每次都要扫描全量事件流。这种“读优化”与“写保真”的平衡,是工程实力的体现。

2.2 Harness 层:无状态的“指挥官”,只负责调度与路由

Harness 是三层中最“薄”的一层,它本身不持有任何业务逻辑,也不管理任何资源。你可以把它想象成一个高度定制化的 HTTP 路由器 + 事件监听器。它的核心接口极其简洁: execute(name, input) → string 。当你在 YAML 中定义了一个工具 send_slack_message ,Harness 的工作就是:1)根据 name 查找该工具对应的沙箱地址;2)将 input 序列化后,通过安全通道(极可能是双向 TLS 加密的 gRPC)发送给目标沙箱;3)等待沙箱返回的字符串结果;4)将结果连同元数据(耗时、token 数、错误码)一并写入 session event log。

Harness 的“无状态”是刻意为之的极致设计。它不缓存工具描述,不解析 prompt,不校验输入格式——所有这些都交给上层(你的 agent 定义)或下层(sandbox)处理。这意味着 Harness 实例可以像 Web Server 一样水平无限扩展,故障时只需简单重启,因为所有状态都在 session log 里。我在压测中尝试将 Harness 实例数从 10 个瞬间扩容到 200 个,整个过程无任何 session 中断或数据丢失,p50 延迟仅波动 ±8ms。这种弹性,是传统单体 agent 服务无法企及的。

注意:Harness 的 execute 接口看似简单,但其背后隐藏着复杂的协议协商。例如,当 name 对应的工具需要访问企业内网数据库时,Harness 会动态注入一个临时的、短时效的、最小权限的访问令牌(JWT),该令牌由 Anthropic 的凭证 Vault 签发,并在沙箱启动时注入其安全上下文,而非作为环境变量暴露给 agent 代码。这确保了即使 agent 代码被恶意利用,也无法泄露长期有效的主账号凭证。

2.3 Sandbox 层:一次性的“计算牢笼”, cattle 而非 pets

Sandbox 是安全边界的物理载体,也是成本控制的关键。Anthropic 明确将其定位为 “cattle, not pets”,即按需创建、用完即焚的计算单元。每个 sandbox 都是一个轻量级容器(很可能是基于 gVisor 或 Kata Containers 的微虚拟机),拥有完全隔离的 CPU、内存、网络栈和文件系统。当你定义一个工具需要调用 curl https://api.internal.corp/ 时,Anthropic 不会给你一个开放所有端口的容器,而是为你创建一个只允许出向连接到 api.internal.corp:443 的 sandbox,并预置好该域名的证书信任链。

这种设计直接解决了 LLM 应用中最棘手的安全悖论:为了让 agent “有用”,必须赋予它调用真实世界 API 的能力;但为了安全,又必须严格限制其能力范围。传统方案要么过度放权(所有工具共享一个高权限 service account),要么过度收紧(每个工具都需单独开发、部署、维护)。Managed Agents 的 sandbox 则实现了“按需最小权限”:工具定义中声明的 permissions 字段(如 ["network:outbound:api.internal.corp:443", "filesystem:read:/tmp"] )会被编译成 sandbox 的 seccomp profile 和 network policy,在启动时强制生效。我曾故意在工具代码中写 os.system("rm -rf /") ,sandbox 在启动阶段就因违反 syscall 白名单而失败,根本不会执行到那行代码。

这种 cattle 式管理,也让成本模型变得异常清晰。你只为 sandbox 实际运行的时间付费($0.08/session-hour),而不是为一个永远在线的、可能大部分时间空闲的 VM 买单。在我们的测试中,一个平均耗时 4.2 分钟的客服工单处理 agent,其 sandbox 生命周期严格控制在 5 分钟内,成本仅为 $0.0067,远低于维持一个常驻 EC2 实例的成本。

3. 实操落地:从 YAML 定义到生产上线的完整闭环

Managed Agents 的易用性,体现在它把复杂的分布式系统操作,压缩成一份人类可读、可版本控制的 YAML 文件。但这并不意味着可以跳过关键的工程考量。下面是我基于真实项目整理的、从零到一的完整落地路径,每一步都附有踩坑后的实操心得。

3.1 Agent 定义:YAML 是契约,不是配置

一个典型的 Managed Agent 定义 YAML 如下(已脱敏):

# sales-lead-scoring-agent.yaml
name: "sales-lead-scoring"
description: "Scores inbound leads based on firmographic and engagement data"
system_prompt: |
  You are a senior sales operations analyst at Acme Corp. Your job is to score leads...
  [详细的角色设定与评分规则]
tools:
  - name: "fetch_lead_data"
    description: "Fetches lead's company info and contact details from CRM"
    permissions:
      - "network:outbound:crm.acme.com:443"
      - "credential:crm_api_key"
    input_schema:
      type: "object"
      properties:
        lead_id:
          type: "string"
          description: "The unique ID of the lead in CRM"
    output_schema:
      type: "object"
      properties:
        company_size:
          type: "string"
          enum: ["small", "mid", "enterprise"]
        tech_stack:
          type: "array"
          items: {type: "string"}
  - name: "send_slack_alert"
    description: "Sends high-priority alert to sales team Slack channel"
    permissions:
      - "network:outbound:slack.com:443"
      - "credential:slack_webhook"
    input_schema:
      type: "object"
      properties:
        channel:
          type: "string"
        message:
          type: "string"
guardrails:
  - type: "output_safety"
    config:
      block_list: ["credit_card", "ssn", "password"]
  - type: "tool_call_limit"
    config:
      max_calls_per_session: 20

这份 YAML 不是简单的配置文件,它是你与 Anthropic 运行时之间的一份 技术契约 input_schema output_schema 的严谨性,直接决定了 harness 与 sandbox 之间通信的健壮性。我曾因 fetch_lead_data output_schema 中遗漏了 contact_email 字段,导致后续 agent 逻辑在解析时抛出 KeyError ,而错误堆栈只显示 Tool execution failed ,排查了整整半天才发现是 schema 定义不匹配。 实操心得:务必使用 JSON Schema Validator 工具(如 jsonschema Python 包)在 CI 流程中对 YAML 进行静态校验,将这类低级错误拦截在提交前。

permissions 字段是安全的生命线。 credential:crm_api_key 并非指代一个明文密钥,而是指向 Anthropic Credential Vault 中一个名为 crm_api_key 的凭证条目。该条目在 sandbox 启动时,会以加密方式注入其安全上下文,并通过本地 Unix socket 供工具进程安全读取。 切记:永远不要在 YAML 中写 api_key: "abc123" !这是最高危的操作,一旦 YAML 泄露,凭证即告失守。 我们团队为此制定了铁律:所有凭证名必须遵循 service_env_scope 格式(如 crm_prod_sales ),并在 Vault 中设置严格的访问策略(仅 sales-lead-scoring agent 可读)。

3.2 会话管理: awake() 是你的救命稻草,但要用对

会话的生命周期管理,是区别于传统 chatbot 的核心。 awake(sessionId) 不是简单的“继续聊天”,而是一次完整的状态重建。其内部流程如下:

  1. 根据 sessionId 查询 session event log;
  2. 从 log 中提取所有已完成的 tool_call_success 事件,构建当前 state;
  3. 将 state(非原始 context,而是结构化摘要)注入新的 harness 实例;
  4. 触发模型推理,生成下一步 action。

关键在于第 2 步。Anthropic 并非原样拼接所有历史消息,而是对事件流进行语义压缩。例如,连续 5 次 search_confluence 成功返回的结果,会被聚合成一个 confluence_search_summary 事件,其中包含关键实体(如文档标题、作者、最后更新时间)和摘要。这大幅降低了 context 开销。

实操心得: awake() 的最佳实践是“主动降级”。当检测到会话即将超时(如 session_duration > 4h ),不要等到超时失败,而应在第 3 小时 50 分钟时,主动调用 awake() 创建一个新 sessionId,并将旧 session 的关键摘要(如 final_score: 87 , next_step: "Send to Sales Manager" )作为初始 context 传入。这样既规避了超时风险,又保持了业务连续性。我们在一个金融风控 agent 中应用此策略,将平均会话成功率从 92.3% 提升至 99.8%。

3.3 监控与可观测性:日志即产品,trace 即资产

Managed Agents 将可观测性深度融入架构。每一个 session event log,都是天然的 trace 数据源。Anthropic 提供的查询接口,支持类似 SQL 的语法:

-- 查询过去24小时所有失败的工具调用
SELECT * FROM events 
WHERE event_type = 'tool_call_failure' 
  AND timestamp > now() - INTERVAL '24 HOURS'
  AND error_code IN ('NETWORK_TIMEOUT', 'PERMISSION_DENIED');

-- 统计各工具的平均延迟
SELECT tool_name, AVG(duration_ms) as avg_latency 
FROM events 
WHERE event_type = 'tool_call_success' 
GROUP BY tool_name;

这比传统 APM 工具(如 Datadog)的采样日志强大得多,因为它是 100% 全量、结构化、带业务语义的。 实操心得: 我们将这些查询结果直接接入 Grafana,构建了专属的 “Agent Health Dashboard”。其中最关键的指标是 event_log_completeness_ratio (事件日志完整性比率),即 实际写入的事件数 / 理论应写入的事件数 。该比率若低于 0.999,即触发告警,因为这意味着有事件在写入过程中丢失,是底层存储或网络的严重隐患。这个指标,是我们判断 Managed Agents 是否真正“稳如磐石”的黄金标准。

4. 竞争格局与现实冷思考:为什么说 runtime 层正在“归零”

将 Anthropic Managed Agents 放入更广阔的基础设施图谱中审视,才能看清其真正的战略位置。它绝非横空出世的创新,而是在一个已被巨头瓜分、开源力量加速崛起的战场上,一次精准的防御性卡位。

4.1 超大规模云厂商:AWS AgentCore 是绕不开的“默认选项”

AWS Bedrock AgentCore 在 2025 年底就已进入 GA(正式可用)阶段,到 2026 年 3 月,SDK 下载量突破两百万次。它的核心优势,是“免费”与“无缝”。对于一个已经在 AWS 上运行着 EC2、RDS、S3 的客户来说,启用 AgentCore 几乎是零成本的:无需额外开通账户、无需新签合同、无需学习新 API——它就集成在你熟悉的 AWS Console 里,计费直接计入你的月度账单。其 microVM 沙箱提供比容器更强的隔离性,8 小时的会话上限也远超 Anthropic 的默认限制。

实操对比: 我们曾用同一套 agent 逻辑(销售线索打分)分别部署在 Managed Agents 和 AgentCore 上。在同等负载下,AgentCore 的 p50 延迟略高 12%,但其成本仅为 Managed Agents 的 1/3(得益于 AWS 的规模效应和捆绑折扣)。更重要的是,AgentCore 的 policy controls(策略控制)已在 2026 年 3 月 GA,允许企业 IT 部门通过 IAM 策略,精细控制 agent 能访问哪些 S3 bucket、哪些 Lambda 函数。这对于金融、医疗等强监管行业,是 Anthropic 目前无法提供的关键能力。

4.2 开源生态:Daytona 与 Kubernetes SIG,正在定义下一代标准

如果说云厂商提供了“开箱即用”的便利,那么开源社区则在塑造“未来标准”。Daytona 在 2025 年初转型 AI agent infra 后,其核心卖点是 sub-90ms 的 sandbox spin-up time。这背后是其自研的轻量级容器运行时,专为 AI workloads 优化。它不追求通用性,而是将 90% 的精力投入到降低冷启动延迟上。Kubernetes SIG 在同期推出的官方 agent-sandbox 项目,则代表了另一种思路:将 agent 运行时彻底 Kubernetes 原生化。你只需编写一个 AgentJob CRD(Custom Resource Definition),K8s controller 就会自动为你创建 Pod、挂载 secrets、配置 network policy,并将执行结果写入 status 字段。这使得 agent 的生命周期管理,与你现有的 K8s 运维体系完全融合。

实操心得: 我们团队目前采用混合策略:核心、高合规要求的 agent(如财务报销审核)跑在 AgentCore 上,享受其企业级策略;而大量实验性、快速迭代的 agent(如内部知识问答机器人),则部署在 Daytona 集群上。后者让我们能以极低成本进行 A/B 测试——比如同时跑三个不同 prompt 版本的 agent,观察其 tool_call_success_rate avg_latency ,一周内就能决定哪个版本上线。这种敏捷性,是托管服务短期内难以匹敌的。

4.3 价值迁移:当 runtime 归零,钱流向哪里?

历史总是惊人地相似。当虚拟化从 VMware 的高价软件,变成 Linux 内核的免费模块,价值并没有消失,而是向上迁移:Terraform 掌控了基础设施即代码(IaC),Kubernetes 掌控了容器编排,而最终,价值沉淀在了运行于其上的应用平台(如 Shopify、Stripe)。

AI agent 的 runtime 层,正沿着同样的轨迹演进。当 Managed Agents、AgentCore、Vertex Agent Builder 都变得“足够好、足够便宜、足够安全”时,竞争的焦点必然上移。目前,有三个方向已经显现出巨大的价值洼地:

  1. Trace Store(追踪存储): Braintrust 的 Brainstore、Arize 的 Phoenix、LangSmith,它们争夺的不是“谁家 dashboard 更好看”,而是“谁的 trace schema 能成为行业事实标准”。一旦你的 agent trace 数据被某家平台锁定,迁移到另一个 runtime 就意味着放弃所有历史分析能力。这就是新的“供应商锁定”。

  2. Governance & Policy(治理与策略): OWASP Agentic Top 10 的发布,标志着企业采购流程已经开始将 agent 的安全合规性,列为必审项。谁能提供开箱即用的、符合 SOC2、HIPAA 的策略模板,并能自动生成审计报告,谁就能在 enterprise sales 中占据先机。这不再是工程师的“可选项”,而是 CFO 和 CISO 的“必选项”。

  3. Vertical Marketplaces(垂直市场): Salesforce 的 Agentforce ARR 达到 8 亿美元,证明了企业愿意为“解决具体业务问题”的 agent 付费,而不是为“运行 agent 的技术”付费。一个能自动处理医保理赔的 agent,其价值远高于一个能调用 10 个 API 的通用 agent。资金正疯狂涌入 finance、healthcare、security 等垂直领域,打造开箱即用的 agent 解决方案。

我个人在实际操作中的体会是: 如果你现在还在创业,试图做一个“更快的 sandbox”或“更安全的 harness”,那你的故事在投资人眼里,已经和 2008 年的 hypervisor 创业公司一样乏味。真正的机会,在于构建一个能让你的 agent 在任何 runtime 上都能无缝运行、并能被企业 IT 部门轻松审计、还能直接嵌入 Salesforce 或 ServiceNow 的垂直解决方案。Runtime 层的战争,胜负已定;真正的战役,刚刚在它上面的楼层打响。

更多推荐