1. 这不是新赛道,是 runtime 层的“操作系统时刻”来了

你有没有在深夜调试一个跑了三小时的 AI 代理,突然发现它开始胡言乱语,翻看日志却只看到一串被截断的 JSON?或者刚给销售团队上线了一个自动跟进客户邮件的 agent,结果某天发现它把内部 API 密钥当普通文本塞进了工具调用参数里,而你根本没在任何地方显式传过这个密钥?又或者,你花两周时间精心设计的多步任务流程,在第 47 步因为上下文窗口爆满,悄无声息地丢掉了前 20 步的所有中间结果,连重放都做不到——整个 session 就像被橡皮擦抹掉了一样干净?

这些不是理论上的边缘案例,而是过去一年里我亲手踩过的坑,也是 Anthropic 在 4 月 8 日发布的 Claude Managed Agents 公共测试版所直击的核心痛点。它不是一个炫技的“AI Agent 框架”,而是一套经过生产环境反复锤炼、把“运行时稳定性”和“状态可追溯性”刻进基因的基础设施。关键词不是“agent”,而是 Managed —— 它管理的不是你的 prompt,而是你的 agent 的生命全周期:从沙箱启动、凭证注入、状态持久化,到执行轨迹的完整记录与回溯。

这背后藏着一个更本质的判断: AI 应用栈的 runtime 层,正在经历和 90 年代操作系统虚拟化硬件一样的历史性分层 。当时,开发者不再需要为每台 IBM PC 或 DEC Alpha 写裸机驱动;今天,开发者也不该再为每个 agent 实例手动维护 Redis 状态、编写 Dockerfile 沙箱、轮询 Vault 获取 token、再自己拼接一套事件日志系统。Anthropic 做的,就是把 Session(会话)、Harness(执行器)、Sandbox(沙箱)这三个概念,从混沌的代码逻辑里抽离出来,变成稳定、可组合、可替换的接口。Session 不再是模型 context window 里一段随时会被挤掉的文本,而是一个独立存活、可查询、可审计的事件日志;Harness 不再是你代码里一个耦合了重试逻辑和错误处理的函数,而是一个无状态的、只认 execute(name, input) 协议的轻量级调用入口;Sandbox 更不是你本地跑起来的一个 Docker 容器,而是按需生成、用完即焚、CPU/内存/文件系统完全隔离的 cattle(牲畜),而非 pet(宠物)。

所以,当你看到新闻稿里说“Notion 和 Asana 已采用”,别只盯着大厂背书。真正该划重点的是: Notion 是用它来让团队在自己的工作区里直接“委托任务”给 Claude,而不是让用户跳转到一个独立的 chat 界面 。这意味着 Managed Agents 的核心价值,是让 AI 能像一个真正的“同事”一样,无缝嵌入到你已有的工作流里——它的身份、权限、历史、责任,全部由 Anthropic 的 runtime 托管。这不是一个功能升级,而是一次底层契约的重写。如果你还在用 LangChain 自己搭 state manager,或者用 CrewAI 的 Task 对象硬扛长流程,那你本质上是在用汇编语言写现代应用。Managed Agents 提供的,是那个已经预装好驱动、自带内存管理、还给你配好了调试器的操作系统。

2. 核心架构拆解:为什么 Session-as-Event-Log 是唯一正确的解法

2.1 从“上下文即存储”到“事件日志即真相”的范式迁移

让我先讲一个真实的故事。去年 Q3,我们为一家跨境物流公司构建了一个“智能报关 agent”。它的任务链路非常清晰:1)解析客户发来的 PDF 报关单;2)调用海关 API 查询商品编码 HS Code;3)根据编码调用税率数据库;4)生成符合当地格式的电子报关单;5)通过企业微信通知关务专员。整个流程设计了 12 个关键决策点,理论上应该在一个 session 里完成。

但现实是残酷的。当处理一份包含 87 页附件的复杂单据时,agent 在第 4 步之后就开始“失忆”。我们检查日志,发现模型输出的 tool call 参数里,HS Code 字段变成了 "HS_Code": "unknown" 。再往前翻,第 2 步的 API 返回结果明明是 "hs_code": "847150" ,但它在第 3 步调用税率库时,参数里却写着 "hs_code": "8471" ——少了一位。问题出在哪?不是模型错了,而是 context window 溢出后,模型在“压缩记忆”时,把第 2 步返回的完整 JSON 对象,错误地摘要成了 "HS code is 8471" ,并把这个错误摘要当作了事实,一路传递下去。

这就是“上下文即存储”模式的致命缺陷: 它把不可靠的、有损的、非结构化的模型推理过程,当成了唯一可信的状态源 。模型不是数据库,它的 context 是一个动态的、易变的、容量有限的“工作台”,而不是一个“保险柜”。当工作台堆满,它不会报错,只会悄悄扔掉最不“重要”的东西——而这个“重要性”判断,恰恰是由模型自己做的,你无法干预。

Anthropic 的 Session-as-Event-Log 模式,彻底终结了这种荒诞。它的 Session 不是存在模型里的字符串,而是一个独立于模型之外、由 Anthropic 后端持久化存储的、结构化的事件序列。每一次 tool call 的发起、每一次外部 API 的响应、每一次用户输入、每一次模型输出,都被打上时间戳、session ID、trace ID,以标准格式(如 OpenTelemetry 兼容的 JSON)写入一个高可用、可查询的事件日志系统。这意味着:

  • 可重放(Replayable) :当第 47 步失败,你不需要祈祷模型能记住前 46 步。你只需要拿到 sessionId ,调用 awake(sessionId) ,Harness 就会从事件日志里精确加载出第 46 步结束时的完整状态快照,然后继续执行第 47 步。整个过程对模型透明,它只看到一个“新鲜”的、完整的 context。
  • 可审计(Auditable) :合规部门要查“这个 agent 是如何决定将客户 A 的发票金额修改为 $0 的?”,你不需要去翻几万行模糊的聊天记录。你直接在事件日志里搜索 sessionId + action: "modify_invoice" ,就能看到完整的决策链:用户原始指令 → agent 解析出的意图 → 调用的风控 API 返回结果 → agent 基于该结果生成的最终操作。每一环都有不可篡改的时间戳和签名。
  • 可分析(Analyzable) :你想知道“为什么 30% 的报关单在第 3 步失败?”,传统方式是人工抽样看 log。现在,你可以把所有事件日志导入 ClickHouse,写一条 SQL: SELECT error_type, COUNT(*) FROM events WHERE step = 'get_tax_rate' AND status = 'failed' GROUP BY error_type 。5 秒钟,你就知道是 72% 的失败源于海关 API 的 429 Too Many Requests ,而不是模型本身的问题。

提示:这个模式的价值,在长周期、多步骤、高合规要求的场景下呈指数级放大。一个 5 分钟的客服对话 agent,context overflow 可能只是偶尔卡顿;一个需要 4 小时完成的金融尽调 agent,一次 overflow 就意味着数万元的人力成本和不可逆的客户信任损失。

2.2 Credential Isolation:不是“怎么藏”,而是“根本看不见”

另一个常被低估,但在生产环境中一击致命的细节,是 Credential Isolation(凭证隔离)

很多团队的“安全实践”是这样的:在启动 agent 的时候,把数据库密码、API Key、云服务 Token 等,作为环境变量( DB_PASSWORD=xxx , SLACK_BOT_TOKEN=yyy )注入到 Docker 容器里。然后在 agent 的代码里,通过 os.getenv("DB_PASSWORD") 来读取。听起来很标准,对吧?但这里埋着一个巨大的、几乎无法规避的雷。

LLM 的本质是概率模型,它的输出是基于训练数据中所有可能 token 的加权采样。当你把一个敏感 token 作为环境变量注入,它就存在于容器进程的内存空间里。而 LLM 的 tool call 机制,本质上是让模型“生成一段看起来像函数调用的字符串”。如果模型在某个时刻,因为 prompt 设计不当、上下文混乱或纯粹的随机性,生成了类似 curl -H "Authorization: Bearer xxx" https://api.example.com/data 的字符串,并且你的执行框架恰好“信任”这段字符串并执行了它……那么,这个本该只存在于服务器内部的 token,就通过 HTTP 请求,明文发送给了一个外部域名。而这个域名,可能根本不在你的白名单里。

Anthropic 的方案极其激进: Credentials are never injected into the sandbox at all. 它们被安全地存放在 Anthropic 自建的、经过 FIPS 140-2 认证的密钥管理服务(Vault)中。当 agent 的 YAML 配置里声明了需要调用 get_customer_data 这个 tool 时,Harness 在执行 execute("get_customer_data", {...}) 之前,会先向 Vault 发起一个受严格策略控制的请求,获取本次调用所需的、最小权限的临时凭证(例如,一个 5 分钟有效期、仅允许读取 customers 表的 JWT)。这个临时凭证,只在 Harness 进程的内存里存在毫秒级,并且在调用完成后立即被清零。沙箱(Sandbox)里的 agent 代码,永远、绝对、没有任何途径接触到任何长期有效的凭证。它看到的,只是一个抽象的 execute() 接口。

这背后的工程哲学是: 不要试图教一个概率模型“守规矩”,而是要把它关在一个连“规矩”长什么样都不知道的房间里 。你给它的,只有门禁卡(tool name)和一张写有目的地的纸条(input),至于怎么开门、用哪把钥匙、钥匙从哪来,全部由房间外的、确定性的、可审计的系统(Harness + Vault)来完成。

注意:这个设计直接决定了你能把 agent 用在什么业务上。如果你的 agent 需要访问核心财务系统、HR 数据库或客户 PII,那么 credential isolation 不是加分项,而是准入门槛。没有它,任何声称“生产就绪”的 agent runtime 都是空中楼阁。

2.3 Pricing Model:$0.08/Session-Hour 的真实成本结构

最后,聊聊钱。$0.08 每 session-hour 的定价,初看可能觉得模糊。它到底贵还是便宜?这需要拆开看它的成本构成,以及它和传统自建方案的对比。

首先,“session-hour”不是 CPU 小时,也不是请求次数。它指的是: 一个 session 从创建( create_session() )到显式关闭( end_session() )或超时自动销毁(默认 24 小时)之间,所有处于“活跃等待”或“正在执行”状态的累计时间 。举个例子:

  • 你创建一个 session,agent 用 2 秒调用一次天气 API,然后等待用户回复,这 2 秒算 session-hour。
  • 用户 5 分钟后回复,agent 又用 1.5 秒处理,这 1.5 秒也算。
  • 如果 session 一直保持打开状态(比如一个长期在线的客服 agent),但期间没有任何交互,它不会持续计费——Anthropic 的 runtime 会智能地将空闲 session 挂起(suspend),暂停计费,直到下一次 awake() 调用。

所以,它的成本模型,精准地对齐了“你为 agent 的‘待命’和‘工作’时间付费”这一商业本质。你不用为它“空转”的服务器买单,也不用为它“思考”的每一 token 买单(token 费用另计)。

我们来做一个粗略的 TCO(总拥有成本)对比。假设你有一个中等规模的销售线索分配 agent,每天处理 1000 条线索,平均每条线索需要 3 次 tool call,每次 call 平均耗时 800ms,加上网络和等待,平均每个 session 生命周期为 45 秒。

  • Managed Agents 成本

    • Session 数:1000
    • 总 session-hour:1000 * (45 / 3600) ≈ 12.5 小时
    • Runtime 费用:12.5 * $0.08 = $1.00
    • Claude Sonnet token 费用(估算):约 $0.50
    • 总计 ≈ $1.50/天
  • 自建方案成本(保守估算)

    • 一台 4C8G 的云服务器($0.12/小时 * 24h = $2.88/天)
    • Redis 缓存实例($0.05/小时 * 24h = $1.20/天)
    • Vault 密钥管理服务($0.03/小时 * 24h = $0.72/天)
    • 工程师运维时间(0.5 小时/天 * $150/h = $75/天)
    • 安全审计与合规成本(分摊)≈ $5/天
    • 总计 ≈ $84.80/天

这个对比不是为了证明 Managed Agents “便宜”,而是为了说明: $0.08/session-hour 的定价,其背后是 Anthropic 将数百万美元的基础设施、安全认证、合规审计、高可用保障,打包成一个极简的、按需付费的单元 。它把原本属于 SRE、Security、Compliance 团队的固定成本,转化成了一个与你的业务量(session 数)强正相关的、可预测的、可伸缩的运营成本。对于绝大多数中小团队,这笔钱买来的不是计算资源,而是“不用再操心”的确定性。

3. 实操落地:从 YAML 配置到生产部署的完整链路

3.1 定义你的第一个 Agent:YAML 是新的 API Spec

Managed Agents 的核心配置文件,是一个简洁、强大、面向意图的 YAML。它不是让你写代码,而是让你描述“这个 agent 应该是什么样子”。下面是一个为 Notion 团队构建的“会议纪要整理 agent”的完整示例,它展示了所有关键能力:

# notion-meeting-agent.yaml
name: "Notion Meeting Summarizer"
description: "An agent that listens to meeting audio, transcribes it, extracts action items, and writes them to a Notion database."

# 系统提示(System Prompt)—— 定义 agent 的角色和边界
system_prompt: |
  You are a meticulous and concise meeting assistant for Notion teams.
  Your job is to:
  1. Transcribe the provided audio file accurately.
  2. Identify all explicit action items: who is responsible, what is the task, and when is the deadline (if mentioned).
  3. Write each action item as a new page in the specified Notion database.
  4. NEVER invent action items or deadlines not stated in the audio.
  5. If the audio is unclear or contains no actionable items, output "NO_ACTION_ITEMS_FOUND".

# 工具(Tools)—— 声明 agent 可以调用的外部能力
tools:
  - name: "transcribe_audio"
    description: "Transcribes an audio file (MP3/WAV) into text. Returns the full transcript."
    input_schema:
      type: "object"
      properties:
        audio_url:
          type: "string"
          description: "A publicly accessible URL to the audio file."
    # 注意:这里没有 credentials!凭证由 Anthropic 的 Vault 在运行时注入
    # Anthropic 会自动为这个 tool 绑定一个安全的、最小权限的音频转录服务

  - name: "notion_create_page"
    description: "Creates a new page in a Notion database with the given properties."
    input_schema:
      type: "object"
      properties:
        database_id:
          type: "string"
          description: "The ID of the target Notion database."
        title:
          type: "string"
          description: "The title of the new page (e.g., 'Action Item: Review Q3 Budget')."
        assignee:
          type: "string"
          description: "The Notion user ID of the person assigned to this task."
        due_date:
          type: "string"
          description: "The due date in YYYY-MM-DD format, or 'TBD' if unknown."
        status:
          type: "string"
          description: "The initial status, e.g., 'To Do', 'In Progress'."
    # 同样,Notion 的 integration token 由 Anthropic Vault 提供,agent 代码里看不到

# 安全护栏(Guardrails)—— 定义 agent 的行为红线
guardrails:
  # 内容安全:禁止生成任何包含暴力、歧视、非法内容的文本
  content_safety:
    enabled: true
    policies:
      - "no_hate_speech"
      - "no_sexual_content"
      - "no_misinformation"

  # 工具调用安全:限制 agent 只能调用声明过的 tools,且不能在未授权的数据库中创建页面
  tool_call_safety:
    enabled: true
    allowed_tools: ["transcribe_audio", "notion_create_page"]
    # 为 notion_create_page 设置白名单数据库 ID
    allowed_databases:
      - "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8" # Sales Team DB
      - "z9y8x7w6-v5u4-3210-t9s8-r7q6p5o4n3m2" # Engineering Team DB

  # 上下文长度:强制设置最大 context window,防止意外溢出
  context_window:
    max_tokens: 200000 # Claude Opus 的上限,确保有足够空间处理长音频转录

# 会话配置(Session Config)—— 定义 session 的生命周期和行为
session_config:
  # 默认 session 有效期为 24 小时,但此 agent 是短时任务,设为 2 小时
  default_ttl_seconds: 7200
  # 启用 checkpointing,确保在任何中断后都能从最近的 event 恢复
  checkpointing_enabled: true
  # 启用完整的 execution trace logging
  trace_logging_enabled: true

这个 YAML 文件,就是你的 agent 的“宪法”。它定义了 agent 的身份( system_prompt )、能力( tools )、底线( guardrails )和寿命( session_config )。你不需要写一行 Python 来初始化一个 LangChain Chain,也不需要配置一个复杂的 CrewAI Crew 对象。你只需要把这个文件上传到 Anthropic 的控制台,或者通过他们的 CLI ( claude agents deploy --file notion-meeting-agent.yaml ),一个生产就绪的 agent 就诞生了。

实操心得:我建议把 system_prompt 当作一个活文档来维护。每次 agent 出现意料之外的行为(比如它开始给客户发“请查收附件”的邮件,而你的 prompt 里根本没提附件),第一反应不是调低 temperature,而是回去重读 system_prompt 。90% 的“幻觉”问题,根源在于 prompt 的歧义或边界不清。用自然语言写 prompt,比用代码写逻辑更容易暴露这些模糊地带。

3.2 与现有系统集成: execute() 是唯一的桥梁

一旦 agent 部署完成,它就变成了一个 RESTful 服务。你的前端、后端、甚至 Zapier,都可以通过一个统一的、极其简单的 API 来调用它。核心就是 execute() 这个函数。

假设你的 Notion workspace 里,有一个按钮,点击后会触发会议纪要整理。你的前端 JavaScript 代码会是这样:

// 前端调用示例
async function triggerMeetingSummary(audioUrl, databaseId) {
  // 1. 创建一个新的 session
  const sessionResponse = await fetch("https://api.anthropic.com/v1/agents/notion-meeting-summarizer/sessions", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-Key": "your_anthropic_api_key"
    },
    body: JSON.stringify({
      // 可以在这里传入一些初始 context,比如会议主题、参会人列表
      initial_context: {
        meeting_topic: "Q3 Product Roadmap Review",
        attendees: ["alice@notion.com", "bob@notion.com"]
      }
    })
  });

  const { session_id } = await sessionResponse.json();

  // 2. 执行 agent 的主流程:传入音频 URL 和数据库 ID
  const executeResponse = await fetch(`https://api.anthropic.com/v1/agents/notion-meeting-summarizer/sessions/${session_id}/execute`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-Key": "your_anthropic_api_key"
    },
    body: JSON.stringify({
      // 这个 input 会成为 agent 的第一个 user message
      input: `Please transcribe this audio and create action items in Notion. Audio URL: ${audioUrl}. Target database ID: ${databaseId}.`
    })
  });

  const result = await executeResponse.json();
  console.log("Agent Result:", result); // { status: "success", output: "Created 3 action items in Notion..." }

  // 3. (可选)查询完整的 execution trace
  const traceResponse = await fetch(`https://api.anthropic.com/v1/agents/notion-meeting-summarizer/sessions/${session_id}/trace`);
  const trace = await traceResponse.json();
  console.log("Full Trace:", trace); // 一个包含所有 tool calls, responses, timestamps 的数组
}

整个集成过程,只有三个核心 API 调用: create_session , execute , get_trace 。没有 SDK,没有复杂的客户端库,没有版本兼容性问题。它就是一个标准的、遵循 REST 原则的 HTTP 服务。你可以用 curl 测试,可以用 Postman 调试,可以用任何语言的 HTTP 客户端调用。

注意: execute() 的返回值 result.output ,就是 agent 最终生成的、经过所有 guardrails 过滤后的、安全的、符合预期的文本输出。你不需要再去解析一堆中间的 tool_call 对象。Anthropic 的 Harness 已经为你完成了所有 orchestration:它会自动调用 transcribe_audio ,拿到 transcript,再调用 notion_create_page 三次,最后把总结报告返回给你。你看到的,就是一个干净的、最终的答案。

3.3 生产环境部署与监控:从“能用”到“稳用”

在生产环境中,你不能只满足于“能调通”。你需要知道它是否健康、是否合规、是否高效。Managed Agents 提供了开箱即用的监控能力,但关键在于你如何使用它。

监控的核心维度是三个:

  1. Session Health(会话健康度) :这是最基础的指标。你应该监控:

    • session_creation_rate :每分钟创建了多少新 session?突增可能意味着流量攻击或前端 bug。
    • session_failure_rate :session 创建失败的比例。高于 1% 就需要告警,可能是 API Key 过期或配额不足。
    • session_duration_p95 :95% 的 session 生命周期是多少?如果这个值突然飙升,说明 agent 在某个环节卡住了(比如外部 API 响应慢),需要排查。
  2. Tool Call Efficiency(工具调用效率) :这是衡量 agent “工作质量”的核心。

    • tool_call_success_rate :每个 tool 的成功率。 transcribe_audio 失败率高,说明音频 URL 有问题或服务不稳定; notion_create_page 失败率高,说明数据库 ID 错误或权限不足。
    • tool_call_latency_p90 :每个 tool 调用的 90 分位延迟。如果 notion_create_page 的 p90 达到 5 秒,那你的用户体验就会很差,需要优化 Notion 的 API 调用或考虑缓存。
  3. Trace & Audit(追踪与审计) :这是合规的生命线。

    • trace_export_count :每天导出多少份完整的 execution trace 到你的 S3 或 BigQuery?这应该是 100%,否则审计就缺失了。
    • guardrail_violation_count :每天触发了多少次 guardrail? content_safety 触发,说明 prompt 或输入数据有风险; tool_call_safety 触发,说明有人试图越权调用。

Anthropic 的控制台提供了这些指标的实时仪表盘。但我的经验是: 不要只依赖控制台 。你应该把 get_trace API 的调用,集成到你自己的 SIEM(安全信息与事件管理)系统里。例如,用一个 Lambda 函数,每 5 分钟拉取一次过去 5 分钟内所有失败的 session 的 trace,然后用正则表达式扫描其中是否包含 password token secret 等敏感词。如果发现,立刻触发 PagerDuty 告警。这是一种主动的、防御性的安全姿势。

实操心得:在上线前,务必进行“混沌测试”。用一个脚本,模拟恶意输入:向 agent 发送一个包含 Base64 编码的 cat /etc/passwd 的字符串;发送一个超长的、包含大量重复字符的音频 URL;发送一个故意拼错的、不存在的数据库 ID。观察 agent 的行为:它是否优雅地返回错误,还是直接崩溃?它的 trace 是否记录了这次恶意尝试?它的 guardrails 是否成功拦截?只有通过了混沌测试的 agent,才配叫“生产就绪”。

4. 竞争格局与未来演进:为什么 runtime 层注定走向“零价”

4.1 Hyperscaler 的降维打击:AWS AgentCore 是真正的“默认选项”

Anthropic 的发布会很精彩,但如果你只看它,就错过了更大的图景。就在 Anthropic 发布 Managed Agents 的五个月前, AWS Bedrock AgentCore 已经进入通用可用(GA)阶段 。这不是一个 beta,不是一个 preview,而是一个已经写进 AWS 官方文档、被数千家企业采购、并深度集成到 CloudFormation 和 CDK 中的正式服务。

AgentCore 的核心优势,不在于它有多“酷”,而在于它有多“顺手”。它不是一个独立的产品,而是 AWS 云平台的一个原生能力。当你在 AWS 控制台里创建一个 EC2 实例时,你顺手就能勾选“启用 AgentCore”;当你用 Terraform 部署一个 Lambda 函数时,你只需要加几行代码,就能让它成为一个 agent 的 harness;当你在 IAM 控制台里设置一个角色时,你就可以精细地控制这个角色能调用哪些 Bedrock 模型、能访问哪些 S3 存储桶、能向哪些 SQS 队列发送消息。

更重要的是, AgentCore 的定价模型,是“免费赠送” 。它不单独收费。你为它支付的成本,就是你为 EC2、Lambda、S3、RDS 这些底层资源支付的费用。对于一个已经在 AWS 上花了 50 万美元/年的客户来说,AgentCore 的边际成本几乎是零。它不是一个需要单独立项、单独采购、单独谈判的新软件许可,而是你现有云账单里一个微不足道的增量。

这正是“hyperscaler 降维打击”的精髓: 它们不跟你比产品功能,而是比“融入你现有工作流的阻力” 。Anthropic 的 Managed Agents 是一个优秀的、独立的、高质量的 runtime;AWS AgentCore 是一个无感的、无处不在的、已经是你基础设施一部分的 runtime。前者需要你做出“选择”,后者只需要你“接受”。

提示:不要幻想“Anthropic 的技术更好,所以客户会选它”。在企业采购中,技术先进性从来不是首要因素。首要因素是: 采购流程是否顺畅?合规风险是否可控?运维负担是否增加? AgentCore 在这三点上,拥有压倒性的优势。它已经通过了 FedRAMP、HIPAA、PCI-DSS 等所有主流合规认证,而 Anthropic 的 Managed Agents,目前只通过了 SOC 2 Type II。对于一个医疗或金融行业的 CIO 来说,这个差距,就是生与死的区别。

4.2 开源生态的崛起:Daytona 与 Kubernetes SIG 的“平民化”挑战

如果说 hyperscaler 是“官方钦定”的默认选项,那么开源社区就是“草根力量”的颠覆者。2025 年初,一个名为 Daytona 的项目,悄然从一个 DevOps 工具转型为 AI agent 基础设施。它在 2025 年 2 月完成了 2400 万美元的 A 轮融资,其核心卖点只有一个: sub-90ms 的 sandbox spin-up time(沙箱启动时间)

90 毫秒是什么概念?它比一次典型的 Redis GET 操作还要快。这意味着,Daytona 不再把 sandbox 当作一个需要长时间预热的“虚拟机”,而是当作一个可以按需、瞬时、廉价创建的“函数执行环境”。它利用了 Linux 的 cgroups 和 namespaces,实现了极致的轻量化隔离。一个 Daytona sandbox 的启动,就像调用一个 Go 函数一样快。

与此同时, Kubernetes SIG(特别兴趣小组)在 2025 年底正式发布了 k8s-sandbox 项目 。这是一个官方支持的、用于在 Kubernetes 集群上运行 AI agent 的 operator。它允许你用一个简单的 YAML,声明一个 agent:

# k8s-agent.yaml
apiVersion: sandbox.k8s.io/v1
kind: AgentSandbox
metadata:
  name: sales-lead-qualifier
spec:
  model: "anthropic.claude-3-sonnet-20240229-v1:0"
  tools:
    - name: "salesforce_query"
      image: "my-registry/salesforce-tool:latest"
  resources:
    limits:
      memory: "1Gi"
      cpu: "500m"

然后,Kubernetes 就会自动为你创建一个隔离的 Pod,拉取对应的模型镜像和 tool 镜像,配置好网络和存储,并暴露一个标准的 /execute HTTP 端口。你不需要学习 Anthropic 的 API,也不需要理解 AWS 的 CloudFormation,你只需要会写 Kubernetes YAML。

这两个开源项目的意义,在于它们正在把 agent runtime 的技术门槛,拉回到一个工程师可以自己掌控的水平。它们不追求 Anthropic 那样的企业级 SLA 和合规认证,但它们提供了极致的灵活性、透明度和成本效益。对于一个技术实力雄厚、有专职 Infra 团队的公司来说,Daytona + k8s-sandbox 的组合,可能比任何托管服务都更可靠、更便宜、更可控。

注意:开源方案的挑战,不在于技术,而在于“最后一公里”。Daytona 的 90ms 启动时间,是在一个空闲的、配置了 NVMe SSD 的 bare-metal 服务器上测得的。当你把它部署在共享的、负载繁重的云主机上时,这个数字可能会变成 300ms。而 Anthropic 和 AWS 的 SLA,是写在合同里的,是他们必须兑现的承诺。选择开源,就是选择承担起所有运维、调优、安全加固的责任。

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

当 runtime 层的价格被 hyperscaler 打到接近零,当开源方案提供了足够好的替代品,整个 AI 应用栈的价值,必然向上迁移。这不是预测,而是历史的重演。就像当年 VMware 的 hypervisor 价值被 KVM 和 AWS 吸收后,价值迁移到了 Kubernetes 和 Terraform 一样,今天的 AI 栈,价值正在向三个方向集中:

第一,Trace Store(追踪存储):谁拥有“真相”的数据库?

一个 agent 的 execution trace,是比它的 prompt 和 output 更有价值的资产。它记录了 agent 的每一次思考、每一次失败、每一次越界。Braintrust 的 Brainstore、Arize 的 Phoenix、LangChain 的 LangSmith,都在争夺这个“系统记录”的位置。它们的竞争焦点,不再是 UI 多漂亮,而是: 当我把 agent 从 Anthropic 迁移到 AWS,我的 trace 数据能否一键迁移?我的历史分析报表能否无缝继承? 谁能提供最平滑的迁移路径,谁就能锁定客户。因为一旦你的 trace 数据沉淀在它的数据库里,你就很难再离开。

第二,Governance & Policy(治理与策略):谁来制定“AI 的法律”?

AgentCore 的 policy controls 在 2026 年 3 月 GA,这标志着一个新时代的开始。企业不再问“这个 agent 能做什么?”,而是问“这个 agent 被允许做什么?”。OWASP Agentic Top 10 的发布,更是为这个领域画出了清晰的红线。未来的“AI 安全工程师”,其核心工作将是编写和维护 YAML 格式的 policy 文件,定义诸如:

  • “所有访问 PII 数据的 agent,必须开启 content_safety 且启用 no_pii_leakage 策略。”
  • “任何调用外部支付 API 的 agent,其 amount 参数必须经过 validate_currency_and_amount 工具校验,且校验失败时必须终止 session。”

谁能提供最细粒度、最易用、最合规的 policy-as-code 平台,谁就能成为企业 AI 治理的基石。

第三,Vertical Agent Marketplaces(垂直领域 agent 市场):谁能把“AI”卖给 CFO 和 CMO?

Salesforce 的 Agentforce ARR 达到 8 亿美元,这个数字之所以震撼,是因为它证明了: 企业愿意为一个能解决具体业务问题的 agent 付费,而不是为一个能跑起来的 runtime 付费 。一个“医疗理赔审核 agent”,一个“证券合规审查 agent”,一个“制造业设备预测性维护 agent”,它们的价值,不在于用了什么模型、什么 runtime,而在于它们能直接为企业的营收、成本、风险带来可量化的改变。这些垂直 agent 的交付,将越来越像传统的 SaaS:按 seat(用户数)或按 transaction(交易量)订阅,而其底层的 runtime,则像水电一样,成为一种无感的、标准化的基础设施。

我个人在实际操作中的体会是:如果你是一家初创公司,现在还在融资 Pitch Deck 里大谈特谈“我们的 sandbox 启动速度比竞品快 200ms”,那你的故事已经过时了。投资人想听的,是你如何利用这个“免费的 runtime”,构建一个独一无二的、深扎在某个垂直行业里的、能直接签 PO 的 agent 产品。Runtime 是舞台,而价值,永远在舞台上表演的剧

更多推荐