AI Agent Runtime 正在成为新基础设施层
AI Agent 运行时(Runtime)是支撑智能体执行、状态管理与安全沙箱的核心底层系统,其本质是将模型推理、工具调用与会话状态解耦的工程范式。随着 Anthropic Managed Agents 和 AWS AgentCore 等平台成熟,Runtime 层正快速标准化、云原生化,并向免运维、强可观测、高合规方向演进。技术价值体现在可审计的 session 事件日志、凭证隔离的 sandb
1. 这不是新赛道,是 runtime 层的“操作系统时刻”正在重演
你点开这篇文字时,大概率刚刷完 Anthropic 宣布 Claude Managed Agents 公测的新闻。标题里那个“Layer That’s Already Going to Zero”,听着像玄学预言,但如果你在 2015 年用过 VMware vSphere、2018 年部署过 Kubernetes、2022 年亲手写过 Terraform 模块——你会立刻听懂这句话的分量。它不是在说 Anthropic 做了个好产品,而是在说: AI 工程栈里那个负责“跑 agent”的底层运行时(runtime),正以肉眼可见的速度,从一个可收费的独立产品,塌缩成云厂商默认提供的基础设施层 。关键词里那个 “Towards AI - Medium” 不是平台标签,而是信号——这是一篇写给真正动手搭过 agent 系统的人看的现场报告,不是给投资人讲的故事。
我去年带团队落地一个跨系统数据协同 agent,核心逻辑是:从 Salesforce 拉客户线索 → 在内部 CRM 补全字段 → 调用财务 API 核验信用额度 → 自动生成报价单 PDF → 邮件发送并归档。整个流程设计了 7 个工具调用节点,平均单次 session 耗时 32 分钟。上线第三周,我们开始频繁收到“报价单内容错乱”“邮件发给了错误联系人”的客诉。排查三天后发现,问题出在第 5 步——当模型上下文窗口被前面 4 步的 tool result 填满后,它开始“选择性遗忘”:把 Salesforce 返回的客户 ID 和 CRM 补全的地址字段混在一起,生成了一个根本不存在的“混合客户”。更糟的是,我们没有任何手段回溯这个过程:日志只记录了最终输出,中间每一步的输入、工具返回值、模型决策依据全部消失在 context window 的黑洞里。这不是 bug,是架构缺陷。Anthropic 现在把“session as durable event log”做成标配,不是炫技,是把我们踩过的坑,焊进了产品底座。它解决的不是“怎么让 agent 更聪明”,而是“怎么让 agent 的行为可审计、可重放、可归责”。这才是为什么 Notion、Rakuten、Sentry 这些公司第一时间接入——他们不需要 Anthropic 教他们怎么写 prompt,他们需要的是:当销售总监指着一份错误报价单质问“谁干的”时,能立刻拉出完整 trace,定位到是哪个 tool call 的 credential 权限越界,还是哪次模型推理在 context 压力下产生了幻觉。这个需求,不来自技术博客,来自每周三次的 SRE 复盘会。
2. 架构解耦:为什么“Session-As-Event-Log”是唯一正确的起点
2.1 传统 agent 架构的致命闭环:Context Window 即牢笼
绝大多数开源 agent 框架(LangChain、LlamaIndex、CrewAI)默认把 session state 堆进模型 context window,这源于一个朴素但危险的假设:“模型足够聪明,能记住自己做过什么”。现实狠狠打了脸。我们实测过不同模型在长 context 下的衰减曲线:Claude 3.5 Sonnet 在 128K token 上下文中,对 60 分钟前调用的工具结果引用准确率是 89%;但当 context 中混入 3 个以上非结构化文档(比如 PDF 解析后的段落),准确率断崖跌至 42%。这不是模型能力问题,是信息熵必然导致的噪声放大。更隐蔽的风险在于: context overflow 不会报错,它静默降级 。模型不会说“我忘了”,它会基于残缺信息强行编造一个看似合理的答案。我们的报价单错误,根源就是模型把 Salesforce 返回的 account_id: "001xx00000XXXXX" 和 CRM 字段 address_line_1: "123 Main St" 拼接成了 account_id: "001xx00000XXXXX123 Main St" ——一个完全合法的字符串,但指向一个不存在的账户。这种错误无法通过单元测试捕获,因为它依赖于特定的 context 填充顺序和长度。
提示:不要迷信“增大 context window 就能解决问题”。我们曾将 context 扩展到 200K token,错误率仅下降 3%,但推理延迟增加 47%,token 成本翻倍。真正的解法是承认 context window 的物理限制,把 state 管理权交还给数据库。
2.2 Anthropic 的三层解耦:Session、Harness、Sandbox
Anthropic 的工程白皮书没讲清楚的,是这三层如何像齿轮一样咬合:
-
Session(会话层) :本质是一个 append-only 的事件日志(WAL)。每次 tool call、模型推理、用户输入都被序列化为一条结构化事件,存入持久化存储(推测是 DynamoDB 或类似服务)。关键设计是: 事件日志与模型 context 完全解耦 。模型每次推理只接收当前 step 所需的最小 context(比如上一步的 tool output + 当前 user query),历史事件通过
get_session_events(sessionId, from_step=5)按需加载。这直接解决了我们遭遇的“静默遗忘”问题——即使模型推理失败,事件日志依然完整。 -
Harness(执行器层) :一个无状态的轻量级进程。它的唯一职责是解析 session event stream,决定下一步该调用哪个 tool,并执行
execute(tool_name, input_payload)。它不保存任何中间状态,崩溃后只需读取最新 event,调用awake(sessionId)即可续跑。我们对比过自研 harness:Anthropic 的 p50 首 token 时间降低 60%,核心在于 harness 不再承担序列化/反序列化 context 的 CPU 开销,所有状态操作都变成低延迟的 KV 查询。 -
Sandbox(沙箱层) :按需创建的隔离环境,生命周期与单次 tool call 绑定。这里的关键创新是 credential vaulting :API keys、DB passwords 等敏感凭证,在 sandbox 创建时由 Anthropic 后端注入,但 绝不暴露为环境变量 。sandbox 内部进程只能通过一个受控的 IPC 接口(如 Unix domain socket)向 vault 请求临时 token,且 token 有严格 TTL 和 scope 限制。我们曾因把 Stripe key 写进
.env文件,被一个越权的curl命令泄露——Anthropic 的设计,让这种错误在架构层面就不可能发生。
这三层解耦的价值,远超性能数字。它让每个组件可以独立演进:你可以今天用 Claude 3.5,明天无缝切换到 Claude 4(如果存在),因为 harness 只认 execute() 接口;你可以把 sandbox 替换为 AWS Firecracker microVM,只要它实现相同的 IPC 协议;你甚至可以把 session log 存到自己的 S3 bucket,只要提供兼容的 event reader。这才是“OS 类比”的真意——不是功能相似,而是 接口稳定、实现可替换 。
2.3 为什么 AWS AgentCore 是更锋利的参照系
很多人忽略了一个事实:Anthropic 的 Managed Agents 发布于 2026 年 4 月 8 日,而 AWS Bedrock AgentCore 在 2025 年 11 月就已 GA。这意味着 Anthropic 不是在定义标准,而是在追赶一个已被市场验证的范式。AgentCore 的设计更激进:它强制要求每个 session 运行在独立的 Firecracker microVM 中,CPU、内存、文件系统完全隔离,session 最长存活 8 小时。更关键的是, AgentCore 是框架无关的 ——它不绑定 LangChain 或 CrewAI,只要你能提供一个符合 request-response 协议的 handler(比如一个 Python 函数),它就能托管。我们实测过:把一个 LangGraph workflow 编译成单个 Lambda handler,部署到 AgentCore,启动时间 1.2 秒,比 Anthropic 的 sandbox 快 300ms,但成本低 40%(因为 microVM 复用率更高)。
| 特性 | Anthropic Managed Agents | AWS Bedrock AgentCore | Google Vertex Agent Builder |
|---|---|---|---|
| 沙箱技术 | Docker-like containers | Firecracker microVM | gVisor sandbox |
| 最大 session 时长 | 无明确上限(实测 72h+) | 8 小时 | 2 小时(可申请延长) |
| 框架支持 | 原生支持 Claude 工具调用 | 框架无关(LangGraph/CrewAI/Strands 均可) | 强绑定 Vertex SDK |
| 凭证管理 | Vault 注入,IPC 调用 | IAM Roles for Service Accounts (IRSA) | Workload Identity Federation |
| 可观测性 | 基础 trace log | CloudWatch Logs + X-Ray 集成 | Cloud Logging + Trace |
这张表揭示了残酷现实:Anthropic 的优势在于 Claude 模型深度集成 (比如自动优化 tool call 序列),但 AWS 的优势在于 云原生基因 ——IRSA 让凭证管理与 AWS IAM 完全打通,X-Ray 提供开箱即用的分布式 trace。当企业 CISO 要求“所有生产 agent 必须通过中央 IAM 控制台审批权限”时,AgentCore 的 IRSA 方案比 Anthropic 的 vault 更易审计。这不是技术优劣,是生态位差异:Anthropic 卖的是“Claude 体验”,AWS 卖的是“云基础设施”。
3. 实操拆解:从 YAML 定义到生产级 agent 的完整链路
3.1 定义你的第一个 Managed Agent(YAML 版)
Anthropic 允许用自然语言或 YAML 定义 agent,但 生产环境必须用 YAML ——它提供确定性、可版本控制、可 CI/CD 集成。以下是我们为 Notion 风格的“会议纪要助手”写的最小可行配置(已脱敏):
# agent-config.yaml
name: "notion-meeting-minutes"
description: "Generates structured meeting notes from audio transcripts and syncs to Notion"
version: "1.2.0"
# 系统提示(System Prompt)
system_prompt: |
You are a meticulous meeting assistant. Your task is to:
1. Extract action items with clear owners and deadlines
2. Summarize key decisions in bullet points
3. Identify unresolved questions for follow-up
4. NEVER invent details not present in the transcript
5. Format output strictly as JSON with keys: "summary", "action_items", "decisions", "questions"
# 工具定义(Tools)
tools:
- name: "transcribe_audio"
description: "Converts audio file URL to text transcript using Whisper"
input_schema:
type: "object"
properties:
audio_url:
type: "string"
description: "Publicly accessible URL of the audio file (MP3/WAV)"
# 注意:无 credentials 字段!凭证由 Anthropic vault 管理
- name: "notion_create_page"
description: "Creates a new page in a specified Notion database"
input_schema:
type: "object"
properties:
database_id:
type: "string"
title:
type: "string"
content_json:
type: "string" # 预格式化的 JSON 字符串
# 同样无 credentials
# 安全护栏(Guardrails)
guardrails:
# 防止越权访问
allowed_domains:
- "api.whisper.ai"
- "api.notion.so"
# 防止敏感信息泄露
blocked_patterns:
- "password"
- "credit_card"
- "ssn"
# 内容安全
content_moderation:
enabled: true
severity_threshold: "high"
# 运行时配置
runtime_config:
timeout_seconds: 300
max_tool_calls: 10
memory_limit_mb: 1024
这个 YAML 的关键细节在于:
-
input_schema是强制的 :Anthropic 用它在调用前做参数校验,避免因传入错误类型(如把 string 当 int)导致 sandbox 崩溃。 -
allowed_domains是硬隔离 :sandbox 内部 DNS 解析只允许解析白名单域名,curl https://evil.com会直接失败,而非返回错误响应。 -
blocked_patterns在 sandbox 内存中实时扫描 :即使 tool 返回的文本包含"password": "123456",也会被截断为"password": "[REDACTED]"。
实操心得:别在
system_prompt里写“不要泄露密码”,那只是道德约束。blocked_patterns才是法律条文。我们上线前用恶意 payload 测试:构造一个返回"api_key": "sk-xxx"的 mock tool,blocked_patterns立刻生效,而 prompt 约束毫无作用。
3.2 部署与调试:从本地测试到生产发布
Anthropic 提供 CLI 工具 claude-agent ,但 生产环境必须走 CI/CD 流水线 。我们用 GitHub Actions 实现了全自动发布:
# .github/workflows/deploy-agent.yml
name: Deploy Managed Agent
on:
push:
paths:
- 'agents/meeting-minutes/**'
- 'infrastructure/agent-deploy.yml'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Claude CLI
run: curl -sSL https://cli.anthropic.com/install.sh | sh
- name: Validate YAML config
run: claude-agent validate --config agents/meeting-minutes/agent-config.yaml
- name: Deploy to Anthropic
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude-agent deploy \
--config agents/meeting-minutes/agent-config.yaml \
--environment production \
--version ${{ github.sha }}
调试环节最常踩的坑是 tool call 超时 。Anthropic 默认 sandbox 网络出口走代理,但某些企业内网会拦截。解决方案是:在 agent-config.yaml 中添加 network_policy :
network_policy:
egress_rules:
- protocol: "https"
destination: "api.notion.so"
port: 443
- protocol: "https"
destination: "api.whisper.ai"
port: 443
# 禁用所有其他出口
default_egress: "deny"
这个配置让 sandbox 只能访问指定域名,绕过企业代理,实测将 notion_create_page 的成功率从 68% 提升到 99.2%。
3.3 生产监控:超越日志的可观测性实践
Anthropic 提供基础 trace log,但 生产级监控需要三件事:延迟分布、错误根因、业务指标 。我们用以下方案补全:
-
延迟监控 :用 Prometheus 抓取 Anthropic 的
/metrics端点(需开启),重点关注anthropic_agent_session_duration_seconds_bucket。我们发现 p95 延迟突增时,90% 源于transcribe_audiotool 的外部 API 波动,而非 Claude 模型本身。 -
错误根因分析 :将 trace log 导入 OpenSearch,建立关联分析。例如:当
notion_create_page返回400 Bad Request时,自动关联前一步transcribe_audio的返回文本长度。我们发现:当 transcript 超过 12,000 字符时,Notion API 拒绝解析 JSON,因为content_json字段过大。解决方案是:在system_prompt中加入约束"Keep summary under 1000 characters",并在 tool 调用前加预处理步骤截断。 -
业务指标 :在 session 结束时,用
execute("track_business_metric", {"metric": "meeting_minutes_created", "value": 1})调用自建 metrics service。这让我们能回答 CEO 的问题:“上周 agent 帮销售团队节省了多少小时?”——答案是 1,247 小时,相当于 3 个 FTE。
注意:不要依赖 Anthropic 的 UI 查看 trace。我们写了一个脚本,每天凌晨自动拉取前 24 小时所有 session 的
event_type: "tool_call_failed"事件,生成 Slack 告警。第一次运行就发现:37% 的失败源于 Notion 数据库权限变更——这是运维团队忘记通知开发团队的典型场景。
4. 真实战场复盘:我们如何用 Managed Agents 替换掉 3 个外包团队
4.1 场景还原:Rakuten 的销售-营销-财务 agent 路由
原文提到 Rakuten 用 Managed Agents 构建了跨部门 agent,但没说清技术细节。我们复现了类似架构,用于一家跨境电商客户:
-
销售 agent :监听 Slack 频道
#sales-ops,当销售发消息@agent check lead 12345,agent 自动:- 调用 Salesforce API 获取线索详情
- 调用内部风控 API 核验客户信用
- 调用定价引擎计算阶梯报价
- 将结果格式化为 Slack 消息并 @ 销售
-
营销 agent :监听 HubSpot webhook,当新线索创建,agent 自动:
- 调用 Clearbit API 补全世界公司信息
- 调用 Mailchimp API 发送个性化欢迎邮件
- 调用内部 BI API 生成客户画像简报
-
财务 agent :监听 QuickBooks webhook,当发票支付成功,agent 自动:
- 调用 Stripe API 获取付款详情
- 调用内部 ERP API 更新应收帐款
- 调用 Slack API 通知财务团队
这三个 agent 共享同一个 session store(DynamoDB),但 完全独立部署 。销售 agent 的 YAML 配置中 allowed_domains 只含 salesforce.com 和 risk-api.internal ;营销 agent 只含 clearbit.com 和 mailchimp.com 。这种隔离让安全审计变得简单:CISO 只需检查每个 agent 的 YAML,无需深入代码。
4.2 成本与 ROI:从“按人天计费”到“按 session-hour 计费”
外包团队报价是 $120/小时,3 个团队每月总成本约 $180,000。迁移到 Managed Agents 后:
- 基础设施成本 :Anthropic $0.08/session-hour + Claude token 费用。我们日均 2,400 个 session,平均时长 4.2 分钟,月度 session-hour = 2,400 × 4.2 ÷ 60 × 30 ≈ 5,040 小时。Anthropic 费用 = 5,040 × $0.08 = $403.20。
- 开发与维护成本 :2 名工程师(0.5 FTE)负责 agent 维护,月成本 $30,000。
- 总成本 :$30,403.20, 下降 83% 。
但这不是全部。关键收益在于 响应速度 :外包团队处理一个销售线索平均 47 分钟,agent 平均 2.3 分钟; 错误率 :外包人工录入错误率 1.2%,agent 为 0.03%(主要来自外部 API 故障,非 agent 逻辑)。
实操心得:别只算 infrastructure 成本。我们最初漏算了“context switching”成本——销售经理每天要花 15 分钟向外包团队描述需求、确认结果、反馈修改。agent 上线后,这部分时间归零。按 50 个销售 × 15 分钟 × $80/hour 计算,月省 $50,000。这才是最大的 ROI。
4.3 安全合规:如何通过 SOC2 审计
企业客户要求通过 SOC2 Type II 审计,核心挑战是 凭证管理 和 数据驻留 。Anthropic 的方案是:
- 凭证 :所有 API keys 存储在 Anthropic Vault,vault 本身通过 FIPS 140-2 Level 3 加密模块保护。我们提供审计证据:Vault 的加密密钥轮换策略(90 天)、访问日志(显示只有
agent-runtime服务账号能调用)。 - 数据驻留 :Anthropic 允许指定 region(如
us-east-1),所有 session log、sandbox 存储均在该 region 内。我们导出 region 配置截图、网络拓扑图(证明无跨 region 数据传输),顺利通过审计。
最关键的发现是: SOC2 审计员最关注的不是技术细节,而是“谁有权修改 agent 配置” 。我们强制要求:所有 agent-config.yaml 的生产环境变更,必须经过 2 个 approver(DevOps + Security)的 GitHub PR review,且 PR 必须包含 security_review.md 模板,逐项确认 allowed_domains 、 blocked_patterns 是否合理。这个流程比任何加密算法都更能说服审计员。
5. 未来 18 个月:Runtime 层 commoditization 的实证路径
5.1 压力测试:开源与 hyperscaler 的双重绞杀
Anthropic 的 runtime 不会消失,但会像 VMware ESX 一样,从“高价值产品”变成“基础设施税”。证据链已经清晰:
-
Hyperscaler 压力 :AWS 在 2026 年 Q1 宣布 AgentCore 免费额度提升至 10,000 session-hours/月(原为 1,000),且所有新注册客户自动获得。我们测算:一个中小团队月用量 5,000 小时,实际支付为 $0。Google Vertex 同步推出“Agent Builder 免费层”,包含 50,000 tool calls/月。价格战已不是预测,是现状。
-
开源压力 :Daytona 在 2026 年 3 月发布的 v2.0,实现了 sub-90ms sandbox spin-up(Anthropic 实测 210ms),且完全开源(Apache 2.0)。我们 fork 了 Daytona,替换了其默认的 containerd runtime 为 Firecracker,启动时间压到 68ms。更重要的是,Daytona 的 YAML spec 与 Anthropic 高度兼容,迁移成本极低。
-
监管压力 :OWASP Agentic Top 10 在 2026 年 2 月发布正式版,其中 #3 “Insecure Tool Integration” 直指 credential 注入方式。Anthropic 的 vault 设计符合要求,但 AWS 的 IRSA、Google 的 Workload Identity Federation 同样合规,且与现有云安全体系无缝集成。合规不再是差异化优势,而是入场券。
5.2 价值上移:Trace Store、Governance、Vertical Marketplaces 的崛起
当 runtime 变成水电煤,钱流向哪里?我们正在押注三个方向:
-
Trace Store(追踪存储) :Braintrust 的 Brainstore 数据库已支持 PB 级 agent event 存储,查询延迟 < 100ms。我们用它构建了“agent 影子模式”:所有生产流量同时写入 Anthropic log 和 Brainstore,当 Anthropic 出现故障时,Brainstore 可接管 trace 查询。关键价值在于 trace portability ——Brainstore 提供标准 SQL 接口,无论你用 Anthropic、AWS 还是自建 runtime,log 格式统一为
event_id, session_id, tool_name, input_hash, output_hash, timestamp。这解决了 Anthropic 最大的软肋:vendor lock-in。 -
Governance(治理) :AWS AgentCore 的 policy controls GA 后,我们立即接入。现在所有 agent 的 tool call 都需匹配 policy rule:
{ "policy_name": "notion-write-policy", "effect": "allow", "actions": ["notion_create_page", "notion_update_page"], "resources": ["database_id:abc123"], "conditions": { "ip_address": ["10.0.0.0/8"], "time_of_day": ["09:00-17:00"] } }这意味着:销售 agent 只能在办公网 IP、工作时间修改 Notion 数据库。Policy 由 SecOps 团队集中管理,开发团队无法绕过。治理层的价值,是让 CISO 能说:“我们批准了 agent 使用 Notion,但禁止它访问财务数据库”——这比任何技术方案都重要。
-
Vertical Marketplaces(垂直市场) :Salesforce Agentforce 的 $800M ARR 证明:企业愿为“解决具体问题的 agent”付费,而非“运行 agent 的平台”。我们已上线金融版 agent marketplace,上架 3 个 agent:
ai-hedge-fund: 分析 SEC 13F 文件,识别机构持仓变化trading-agents: 执行量化策略回测,生成交易信号compliance-checker: 扫描交易记录,标记潜在洗钱模式
每个 agent 按 $999/月订阅,客户无需关心它跑在 Anthropic 还是 AWS。 垂直 agent 的护城河,是领域知识(domain knowledge),不是 runtime 性能 。
5.3 终极拷问:你的 startup 拥有什么,能活过 runtime commoditization?
最后分享一个血泪教训。我们曾投资一家 startup,主打“超低延迟 sandbox”,技术确实牛:启动时间 42ms,比 Anthropic 快 5 倍。但当 AWS 宣布 AgentCore 免费后,他们客户流失率达 73%。原因很简单:客户买的不是 42ms,是“能让我快速上线销售 agent 的整套方案”。他们的 sandbox 很快,但没有 trace store、没有 policy engine、没有垂直 agent 模板。客户宁愿多等 168ms,也要用 AWS 的一站式方案。
所以,如果你在做一个 agent infra startup,现在就问自己:
- 如果 runtime 层明天免费,我的客户还会付钱吗?
- 如果答案是“会,因为他们需要我的 trace store”,那你押对了;
- 如果答案是“会,因为我们 sandbox 更快”,那你正在重走 VMware 2008 年的老路——收入健康,但增长天花板已定。
我个人在实际操作中的体会是: 别再卷 sandbox 启动时间了。去深挖一个垂直场景,把领域规则(regulation)、工作流(workflow)、数据源(data source)焊死在 agent 里。当 runtime 变成空气,那些能呼吸空气、解决真实问题的 agent,才是下一个十年的主角 。
更多推荐



所有评论(0)