1. 这不是新赛道是 runtime 层的“操作系统时刻”来了你有没有试过让一个 AI 代理连续工作四十分钟处理一份需要反复查文档、调 API、比对数据、生成报告的复杂任务我去年就干过这事。当时我们把所有中间状态——用户原始提问、每一轮检索结果、API 返回的 JSON、临时生成的表格草稿——全塞进模型的上下文窗口里。开始很顺到第三十七分钟系统突然开始胡说八道它把前两轮查到的关键合同条款给“忘了”却一本正经地引用一个根本不存在的条款编号还据此生成了错误的法律意见。更糟的是我们没法回溯——没有日志、没有快照、没有时间戳。整个 session 就像一盘没保存的棋局啪一下全没了。我们花了三天重写状态管理模块把所有中间产物存到外部数据库用唯一 session ID 串起来。做完那天我盯着控制台里那条session_state_saved: true的日志第一次真正理解什么叫“状态外置”。Anthropic 这次发布的 Claude Managed Agents核心就干了这一件事把 session 做成一个独立、持久、可查询的事件日志。它不新鲜但它是对过去一年无数团队踩坑后最痛共识的工程实现。关键词不是“agent”而是“managed”——这个词背后是运维成本、是故障恢复、是审计合规、是团队协作时那个“谁在什么时候改了什么”的确定性。它解决的不是“能不能跑”而是“敢不敢让关键业务跑”。这不是给技术爱好者玩的玩具这是给 SRE、给安全工程师、给法务、给采购经理看的基础设施公告。Notion 用它让团队在内部 workspace 里直接委派任务给 ClaudeRakuten 用它把销售线索自动分发到 Slack 和 TeamsSentry 用它让 AI 自动写补丁、提 PR——这些都不是 demo是真实世界里已经签单、走流程、上生产环境的用例。它们共同指向一个事实AI 代理正在从“能对话”走向“可交付”而交付的前提是 runtime 层必须像操作系统一样可靠、可观察、可治理。你不需要立刻上手写 YAML但你得明白当你的团队开始讨论“要不要自己搭一套 LangGraph Redis Docker 的 agent 框架”时Anthropic 已经把这套框架的运维负担打包成 $0.08/小时的账单放在你面前了。2. 架构解剖为什么“Session as Event Log”是这次发布真正的支点2.1 三层解耦Harness、Session、Sandbox 的各自归位Anthropic 的工程博客里反复强调“decoupled agent stack”这绝不是营销话术而是对过去两年行业混乱的一次精准外科手术。我们来拆开看这三层到底怎么各司其职Harness执行器它被设计成彻底无状态的“瘦客户端”。你调用execute(name, input) → string它只负责一件事拉起一个容器、传入参数、等返回、吐出字符串。它不存任何东西不记任何事挂了就挂了。下次awake(sessionId)调用时它会从外部存储里重新加载 session 状态然后接着干。这就像一个只管开车、不管导航、不记路过的司机。它的价值在于轻量和可替换——今天用 Claude Sonnet明天换成 Opus只要接口不变Harness 层完全不用动。Session会话这才是真正的“大脑”。它不再是一个漂浮在内存里的 JSON 对象而是一个结构化的、带时间戳的、可持久化到磁盘的事件流event log。每一次工具调用、每一次模型推理、每一次用户输入、每一次错误发生都被记录为一条原子事件。你可以像查数据库一样用SELECT * FROM session_events WHERE session_id xxx AND event_type tool_call ORDER BY timestamp来回溯整个决策链。更重要的是这个 log 是 durable 的——它活在 Anthropic 的托管存储里哪怕 Harness 容器重启十次log 依然完整。这解决了我们去年那个四十分钟崩溃案的根本问题状态不再是易失的上下文而是坚不可摧的记录。Sandbox沙箱它被明确定义为“cattle, not pets”牛而非宠物。每次工具调用都动态创建一个全新的、隔离的微虚拟机microVM执行完立刻销毁。凭证API keys、DB passwords不是通过环境变量注入——那是把钥匙挂在门把手上——而是由 Anthropic 的密钥管理服务Vault在沙箱启动时以只读方式挂载进指定路径且沙箱进程无法访问 Vault 的网络端点。这意味着即使模型 prompt engineering 出了致命漏洞让 agent “误以为”自己需要 curl 一个危险 endpoint它也拿不到那个 curl 命令里本不该出现的 token。这种设计是血泪教训换来的我们曾因一个未过滤的os.environ注入在测试环境里意外泄露了 staging 数据库密码。提示这三层解耦的终极价值不是性能而是“可治理性”。当你需要向审计部门证明“这个 agent 在 3 月 15 日下午 2 点调用了哪个 API传了什么参数返回了什么数据”答案不在某个工程师的本地日志里而在 Anthropic 提供的、带数字签名的事件日志中。这就是企业级落地的门槛。2.2 为什么“Session as Event Log”比“Context Window as State”先进一个时代把状态塞进 context window本质上是一种“寄生式”架构。它把计算层模型和存储层状态强行绑在一起带来了三个无法回避的硬伤容量天花板即失败点Claude 3.5 Sonnet 的上下文是 200K tokens听起来很大。但实际场景中一个包含多张表格、数份 PDF 文本摘要、数次 API 返回的 JSON 的 session轻松就能吃掉 150K。剩下的 50K要留给 system prompt、当前指令、以及模型生成回复的空间。一旦超限模型不会报错它会“优雅降级”——自动丢弃最早的部分。这个过程对开发者完全黑盒。你看到的只是输出越来越离谱却找不到原因。我们那个四十分钟的案例就是典型的“静默坍塌”。调试与可观测性为零你想知道 agent 为什么在第 7 步开始胡说你得把整个 200K tokens 的 context dump 下来手动翻找。没有时间戳没有事件类型标记没有调用栈。它就像一锅煮糊的粥所有信息都混在一起无法分离。协作与复用成本爆炸如果 A 同学写的 agent 需要 B 同学写的工具B 同学就得把工具的完整描述、输入输出 schema、错误码列表全部塞进自己的 system prompt 里。A 同学想升级工具版本B 同学的 prompt 得跟着改。这根本不是工程协作这是人肉 API 同步。而 Session as Event Log 彻底重构了这个范式。它引入了清晰的“契约”工具契约每个工具只需定义name,description,input_schema。Harness 只认这个 schema不关心工具内部怎么实现。事件契约每次调用无论成功失败都产生一条标准格式的事件{ event_id: ..., session_id: ..., timestamp: ..., type: tool_call_start, tool_name: search_docs, input: { ... } }。状态契约Session 存储只提供get_state(session_id)和append_event(event)两个原子操作。Harness 不需要知道 state 存在哪怎么存。这种契约化让“组合”变成了乐高积木式的拼接。Notion 可以把他们的create_notion_page工具注册进 Anthropic 的 registryRakuten 的销售 agent 就能直接调用无需任何代码修改。这正是操作系统虚拟化硬件后带来的生态效应应用开发者不再需要为每台服务器写不同的驱动他们只写一次就能跑在 VMware、KVM、AWS Nitro 上。3. 实操指南从零部署一个生产级 Claude Agent含避坑清单3.1 第一步定义你的 AgentYAML vs Natural LanguageAnthropic 允许你用两种方式定义 agent严格的 YAML 或宽松的自然语言。别被“自然语言”迷惑它只适合快速原型生产环境请务必用 YAML。原因很简单自然语言解析有歧义而 YAML 是机器可验证的契约。一个典型的sales_agent.yaml长这样# sales_agent.yaml name: Sales Development Representative description: Qualifies inbound leads and schedules demos for enterprise sales team. system_prompt: | You are a senior SDR at Acme Corp. Your goal is to qualify leads by asking up to 3 targeted questions about their company size, use case, and timeline. If qualified (company 100 employees, clear use case, timeline 6 months), schedule a demo with the sales team. Never ask more than 3 questions. tools: - name: search_company_db description: Search our internal CRM for company details by domain name. input_schema: type: object properties: domain: type: string description: The companys website domain, e.g., acme.com required: [domain] - name: schedule_demo description: Schedule a 30-min demo slot with the sales team calendar. input_schema: type: object properties: lead_name: type: string lead_email: type: string preferred_time: type: string description: ISO 8601 datetime, e.g., 2026-04-15T14:00:00Z required: [lead_name, lead_email, preferred_time] guardrails: - type: content_policy policy: block rules: - Do not discuss pricing or discounts. - Do not make promises about product features not yet released. - type: tool_call_policy policy: allowlist allowed_tools: [search_company_db, schedule_demo]注意input_schema必须严格遵循 JSON Schema v7。我见过太多团队因为type: string写成type: str导致工具调用永远失败排查了两天才发现是 YAML 格式错误。建议用 VS Code 安装YAML插件它能实时校验 schema。3.2 第二步部署与配置CLI 与 Console 的双轨制Anthropic 提供了claude-cli工具这是最高效的部署方式。安装后一行命令即可上线# 登录使用 Anthropic 提供的 API Key claude login --api-key sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 部署 agent假设 yaml 文件在当前目录 claude agents deploy --file sales_agent.yaml --name sales-sdr-prod --environment production # 输出类似 # ✅ Agent sales-sdr-prod deployed successfully. # Session ID prefix: sess_prod_sdr_ # Estimated cost: $0.08/hour active runtime Claude token fees实操心得不要跳过--environment参数它会在后台为你创建独立的资源命名空间和权限策略。我们最初为了省事没加结果测试 agent 和生产 agent 共享同一个 sandbox pool导致测试流量偶尔触发了生产告警。后来强制要求所有部署都带--environment并用prod,staging,dev严格区分。如果你偏好图形界面Anthropic Console 的 Agent Management 页面也很直观。但要注意一个隐藏细节Console 里创建的 agent 默认是public意味着任何拥有你账户read权限的人都能看到它的定义。而 CLI 部署的 agent 默认是private。对于包含敏感工具描述比如delete_customer_data的 agent务必用 CLI 部署或在 Console 里手动将 visibility 改为 private。3.3 第三步集成到你的应用REST API 与 WebhookManaged Agents 提供了标准的 REST API。核心是两个 endpointPOST /v1/agents/{agent_id}/sessions创建新 session返回session_id。POST /v1/sessions/{session_id}/messages向 session 发送用户消息触发 agent 执行。一个完整的 Python 集成示例使用requestsimport requests import json # 1. 创建 session response requests.post( https://api.anthropic.com/v1/agents/agent_abc123/sessions, headers{x-api-key: sk-ant-api03-..., anthropic-version: 2023-06-01}, json{metadata: {source: web_app, user_id: u_789}} ) session_id response.json()[id] # e.g., sess_prod_sdr_456 # 2. 发送用户消息 user_message { role: user, content: [{type: text, text: Hi, Im from Acme Corp. Were looking for a CRM solution.}] } response requests.post( fhttps://api.anthropic.com/v1/sessions/{session_id}/messages, headers{x-api-key: sk-ant-api03-..., anthropic-version: 2023-06-01}, json{messages: [user_message]} ) # 3. 处理响应可能是 tool_use, content_block_delta, 或 final answer result response.json() if result.get(stop_reason) tool_use: # agent wants to call a tool, handle it tool_use result[content][0] if tool_use[name] search_company_db: # 调用你自己的公司数据库 API db_result call_your_crm_api(tool_use[input][domain]) # 把结果送回 agent requests.post( fhttps://api.anthropic.com/v1/sessions/{session_id}/messages, json{messages: [{role: assistant, content: [{type: tool_result, tool_use_id: tool_use[id], content: json.dumps(db_result)}]}]} )关键避坑点tool_result的tool_use_id必须和 agent 返回的tool_use中的id完全一致包括大小写和下划线。我们曾因前端 JS 代码里.toLowerCase()了这个 id导致 agent 一直卡在“等待工具结果”状态日志里全是tool_use_id not found。解决方案是永远原样透传不做任何字符串处理。3.4 第四步监控与调试Event Log 的实战价值部署后别急着庆祝。打开 Anthropic Console 的Sessions标签页你会看到一个按时间排序的 session 列表。点击任意一个进入详情页。这里就是你的“数字取证室”。Timeline View时间线视图这是最强大的功能。它把 session 的整个生命周期按毫秒级时间戳展开00:00:00.000: User message received00:00:00.123: Model started thinking (p50 TTFB: 123ms)00:00:00.456: Tool callsearch_company_dbinitiated00:00:01.789: Sandboxsbx_abcprovisioned00:00:02.345: Tool call completed, returned{ employees: 250, industry: SaaS }00:00:03.012: Model generated next question: Whats your primary use case for a CRM?这个时间线让你一眼就能定位瓶颈。如果Sandbox provisioned到Tool call completed耗时超过 2 秒说明你的工具 API 响应慢如果Model started thinking到Tool call initiated耗时过长说明 system prompt 或当前上下文太复杂模型在“思考”如何调用工具。Raw Events原始事件点击右上角View Raw Events你会看到一个 JSON 数组每一条都是一个标准事件。你可以复制这段 JSON粘贴到你的内部日志分析平台如 Datadog、Elasticsearch用 KQL 查询“找出所有tool_call_failed事件并关联其前 3 个user_message事件”。这比在一堆杂乱的console.log里大海捞针高效一万倍。实操心得我们给所有生产 session 的metadata字段都加上了{team: sales, channel: slack}。这样在 Console 里可以用team:sales这样的 filter 快速筛选避免被其他团队的 session 干扰。这是小技巧但每天能节省工程师 15 分钟。4. 竞争格局与生存法则为什么 Runtime 层注定“归零”4.1 Hyperscaler 的碾压式入场不是竞争是“吸收”Anthropic 的发布会通稿里把 Managed Agents 描绘成一个开创性的新类别。但现实是就在五个月前AWS Bedrock AgentCore 已经进入通用可用GA阶段。截至 2026 年 3 月它的 SDK 下载量已突破两百万次。这不是一个“友商产品”这是你云账单里已经存在的、免费的基础设施。AgentCore 的架构和 Anthropic 如出一辙session 作为事件日志、harness 无状态、sandbox 按需创建。但它有一个 Anthropic 永远无法复制的优势深度绑定。当你在 AWS 控制台里创建一个 AgentCore agent 时它默认使用你账户里已有的 IAM 角色来调用工具。你的search_company_db工具就是一个普通的 Lambda 函数它的权限策略IAM Policy已经写好了。AgentCore 的 sandbox直接运行在你的 VPC 里可以无缝访问你的 RDS、ElastiCache、甚至你的私有 Kubernetes 集群。这一切都不需要额外配置因为它们本就是你云环境的一部分。这就像当年 VMware 卖 ESX 的时候AWS 说“我们不卖 hypervisor我们卖的是 EC2。你买一台 t3.micro里面已经装好了 KVM还配好了网络、存储、监控价格是 $0.0104/hour。” Anthropic 的 $0.08/hour对标的是 EC2 的t3.micro而不是 VMware 的 $15,000/年。这不是价格战这是商业模式的降维打击——AWS 不是在卖一个更好的 runtime它是在把你整个云基础设施包装成一个 runtime。Google Vertex AI Agent Builder 和 Microsoft Azure AI Foundry 也在做同样的事。Vertex 的优势在于 BigQuery 和 Vertex Matching Engine 的原生集成Azure 的优势在于与 Microsoft Graph 和 Power Automate 的深度打通。它们都在把“runtime”变成一个“默认选项”而不是一个“需要评估的采购项”。提示如果你的公司已经在用 AWS现在就去控制台花 5 分钟创建一个 AgentCore agent。你会发现它比 Anthropic 的 CLI 部署更快、更顺滑。这不是 Anthropic 不好而是 AWS 的“默认集成”优势是任何独立厂商都无法撼动的护城河。4.2 开源压力曲线Daytona、K8s SIG、Deer-flow 的合围如果说 hyperscaler 是“吸收”那么开源社区就是“瓦解”。2025 年初Daytona 从一个 DevOps 工具转型为 AI agent 基础设施其核心卖点是sub-90ms sandbox spin-up。这意味着它能在不到 0.1 秒内从零创建一个隔离的、预装了 Python 和常用工具的容器。这个速度已经逼近了函数计算Function-as-a-Service的冷启动水平。它不卖 SaaS它卖一个 Helm Chart你helm install daytona就能在自己的 Kubernetes 集群里拥有一套和 Anthropic 几乎同构的 agent runtime。更可怕的是 Kubernetes SIG特别兴趣小组的动作。他们在 2026 年 3 月正式发布了kubernetes-sigs/agent-sandbox项目。这是一个官方支持的、符合 OCIOpen Container Initiative标准的 sandbox 运行时。它不是一个完整的 agent 框架而是一个“标准化的沙箱引擎”。任何 agent 框架LangGraph、CrewAI、甚至 Anthropic 的 Harness都可以对接它。这就像 Linux 内核提供了fork()和exec()系统调用所有编程语言的 runtime 都基于此构建进程模型。K8s SIG 正在为 agent 世界定义那个最底层的fork()。ByteDance 的deer-flow项目则代表了另一个方向长周期、强规划的 agent。它内置了 sub-agent子代理机制允许一个主 agent 把“研究竞品”、“撰写 PPT”、“准备演讲稿”拆分成三个独立的子任务分别交给三个 specialized agent 去执行。它的 GitHub Stars 已破 59,000这意味着已经有近六万开发者在用它构建自己的 agent 应用。而 deer-flow 的核心恰恰是那个可插拔的、标准化的 harness 接口。这三股力量——Daytona 提供极致性能的沙箱、K8s SIG 提供标准化的沙箱引擎、deer-flow 提供高级的 agent 编排能力——正在共同编织一张网把“runtime”这个概念从一个封闭的、商业化的、需要付费的产品变成一个开放的、标准化的、可以自由组合的基础设施层。这正是 VMware 当年面对 Xen 和 KVM 时的处境。4.3 价值迁移的三大高地Trace Store、Governance、Vertical Marketplace当 runtime 层不可避免地走向 commoditization商品化钱会流向哪里答案不是“更快的 sandbox”而是“sandbox 之上的三座高地”。第一座高地Trace Store追踪存储当所有 agent 都在用差不多的 runtime你凭什么收费答案是你拥有那个不可替代的、关于“agent 到底做了什么”的真相。Braintrust 的 Brainstore是一个专为 AI 交互日志设计的 OLAP 数据库。它能让你在毫秒级内回答这样的问题“过去 24 小时所有调用schedule_demo工具的 sessions 中有多少比例的preferred_time是在工作时间9am-5pm之外” 这种洞察对销售运营团队的价值远超 runtime 本身。Arize 的 Phoenix 项目选择了一条更聪明的路它把核心的 trace ingestion 和 query engine 以 Apache 2.0 许可证开源。这意味着任何公司都可以免费部署一个 Phoenix获得基础的可观测性。而 Arize 的商业产品则建立在这个开源基座之上提供企业级的 SSO、RBAC、SLA 保证和定制化报表。这是一种“开源捕获商业变现”的经典模式它确保了 Phoenix 成为事实上的 trace 标准。LangSmith 的优势在于生态绑定。它随 LangChain 一起安装几乎成了 LangChain 用户的默认选择。它的价值不在于技术有多领先而在于“你已经装了它”。当你的团队有 50 个 LangGraph agent 都在往 LangSmith 里打日志时切换到另一个 trace store 的迁移成本就高到无法承受。实操心得我们做过一个实验把同一个 agent 的日志同时发给 LangSmith 和自建的 Elasticsearch。三个月后团队 90% 的 debug 工作都发生在 LangSmith 的 UI 里。不是因为 LangSmith 更好而是因为它的 UI 专门为 agent 日志设计时间线视图、工具调用高亮、一键重放 session。而我们的 ES Kibana 仪表板需要工程师自己写复杂的 KQL 查询。这就是“默认选择”的力量。第二座高地Governance Policy治理与策略AWS AgentCore 在 2026 年 3 月 GA 的政策控制Policy Controls标志着一个拐点。它允许你在 agent 级别设置规则“禁止调用任何delete_*命名的工具”、“禁止在finance环境中调用send_email工具”、“所有search_*工具的返回结果必须经过pii_redactor工具脱敏”。这些规则不是写在 agent 的 YAML 里而是写在 AWS IAM Policy 里由 AgentCore 的 control plane 强制执行。OWASP Agentic Top 10 的发布则为企业采购提供了标准话术。当 CISO 问“你们的 agent 怎么防止 prompt injection”销售不能再回答“我们用了最好的 model”而必须拿出一份文档说明“我们集成了 OWASP Top 10 的第 3 条Insecure Output Handling并通过 Policy Controls 实现了自动拦截”。这个领域目前是一片蓝海。没有巨头垄断没有事实标准。谁能第一个提供一套既满足 OWASP 要求又能无缝集成到 AWS/GCP/Azure 策略引擎里的商业产品谁就能吃下未来三年的企业级 agent 治理市场。第三座高地Vertical Agent Marketplace垂直领域 Agent 商店Salesforce 的 Agentforce ARR 达到 8 亿美元这个数字不是靠卖 runtime 卖出来的。它是靠卖“销售开发代理”、“客户服务代理”、“财务报销代理”这些具体、可感知、能放进采购预算的垂直解决方案卖出来的。它的客户不是工程师而是销售 VP、客服总监、CFO。这个模式的成功源于一个简单事实企业愿意为“解决一个明确的业务问题”付费而不是为“拥有一套先进的 AI 基础设施”付费。当 runtime 变得免费且无处不在时“agent”本身就成了可交易的商品。开源社区已经嗅到了这个味道。virattt/ai-hedge-fund项目提供了一个开箱即用的量化交易 agent它能连接 Yahoo Finance、执行回测、生成交易信号。vxcontrol/pentagi项目则是一个红队渗透测试 agent它能自动扫描目标、识别漏洞、生成 exploit PoC。这些项目不是玩具它们是垂直市场的种子。最后分享一个小技巧如果你想评估一个 agent-infra 初创公司的长期价值不要问“你们的 sandbox 启动速度是多少”。去问他们“你们的 trace store是否支持跨 runtime 迁移如果我的客户今天用你们的 trace store明天把 agent 迁移到 AWS AgentCore日志还能无缝接入吗” 如果答案是“不能”那它大概率只是一个过渡期的工具。如果答案是“能并且我们提供 migration toolkit”那它才真正抓住了 commodity layer 之上的价值。5. 终极拷问你的技术选型是在买“hypervisor”还是在建“应用平台”我最后一次部署一个纯 runtime 的 agent 框架是在 2025 年 6 月。我们花了三周时间用 LangGraph 搭建了 workflow用 Redis 做了 session state用 Docker Compose 管理了 sandbox最后用 Prometheus 监控了 TTFB。上线后它稳定运行了两个月。然后AWS AgentCore GA 了。我们开了个会会议纪要只有两行“1. 评估迁移成本。2. 结论零成本因为 AgentCore 的 LangGraph adapter 是官方维护的一行代码都不用改。” 我们删掉了那三周写的全部代码把docker-compose.yml换成了aws cloudformation create-stack然后把省下的工程师时间全部投进了打磨我们的sales-sdragent 的业务逻辑里——优化提问话术、增加行业知识库、对接更多 CRM 字段。这就是 runtime commoditization 的真实面貌它不是一场你死我活的战争而是一次集体性的“卸载”。我们卸载了那些本不该由业务团队操心的、关于沙箱、关于状态、关于监控的底层细节把宝贵的精力重新聚焦在“如何让 agent 更好地完成销售任务”这个核心命题上。Anthropic 的 Managed Agents是一个优秀的、及时的、工程上无可挑剔的产品。它证明了“session as event log”是正确的架构方向。但它发布的时机注定了它不是开山者而是守门人。它在守护的不是 runtime 这个即将消失的层而是 Claude 这个模型的 token 生态。它的定价策略$0.08/hour非常精妙对小团队它足够便宜值得尝试对大客户它又贵得恰到好处让你认真考虑“是不是该把 agent 迁到 AWS 上顺便把 compute、storage、networking 全部打包进一张账单”。所以回到最开始的问题你现在该做什么我的建议是立刻动手用 Anthropic 的 CLI 部署一个最简单的 agent。不是为了长期使用它而是为了亲身体验那个“session as event log”的范式。感受一下 Timeline View 的威力试试 Raw Events 的 JSON 结构把它集成到你的 Slack bot 里。然后花一天时间去 AWS 控制台用同样的 YAML部署一个 AgentCore agent。对比两者的体验差异。最后打开 GitHub搜索daytona agent和kubernetes-sigs/agent-sandbox看看它们的 README 和 issue list。这个过程不是为了选一个 winner而是为了确认一件事你正在构建的是一个可以轻松迁移到任何 runtime 的、真正有价值的 agent。而那个 agent 的价值永远不在于它跑在哪家的 sandbox 里而在于它能帮你签下多少单、节省多少工时、规避多少风险。Runtime 层归零不是终点而是起点——一个让我们终于可以把全部注意力放回“AI 能为业务做什么”这个本质问题上的干净的起点。
AI Agent Runtime 重构:Session 作为事件日志的工程实践
发布时间:2026/6/29 11:41:37
1. 这不是新赛道是 runtime 层的“操作系统时刻”来了你有没有试过让一个 AI 代理连续工作四十分钟处理一份需要反复查文档、调 API、比对数据、生成报告的复杂任务我去年就干过这事。当时我们把所有中间状态——用户原始提问、每一轮检索结果、API 返回的 JSON、临时生成的表格草稿——全塞进模型的上下文窗口里。开始很顺到第三十七分钟系统突然开始胡说八道它把前两轮查到的关键合同条款给“忘了”却一本正经地引用一个根本不存在的条款编号还据此生成了错误的法律意见。更糟的是我们没法回溯——没有日志、没有快照、没有时间戳。整个 session 就像一盘没保存的棋局啪一下全没了。我们花了三天重写状态管理模块把所有中间产物存到外部数据库用唯一 session ID 串起来。做完那天我盯着控制台里那条session_state_saved: true的日志第一次真正理解什么叫“状态外置”。Anthropic 这次发布的 Claude Managed Agents核心就干了这一件事把 session 做成一个独立、持久、可查询的事件日志。它不新鲜但它是对过去一年无数团队踩坑后最痛共识的工程实现。关键词不是“agent”而是“managed”——这个词背后是运维成本、是故障恢复、是审计合规、是团队协作时那个“谁在什么时候改了什么”的确定性。它解决的不是“能不能跑”而是“敢不敢让关键业务跑”。这不是给技术爱好者玩的玩具这是给 SRE、给安全工程师、给法务、给采购经理看的基础设施公告。Notion 用它让团队在内部 workspace 里直接委派任务给 ClaudeRakuten 用它把销售线索自动分发到 Slack 和 TeamsSentry 用它让 AI 自动写补丁、提 PR——这些都不是 demo是真实世界里已经签单、走流程、上生产环境的用例。它们共同指向一个事实AI 代理正在从“能对话”走向“可交付”而交付的前提是 runtime 层必须像操作系统一样可靠、可观察、可治理。你不需要立刻上手写 YAML但你得明白当你的团队开始讨论“要不要自己搭一套 LangGraph Redis Docker 的 agent 框架”时Anthropic 已经把这套框架的运维负担打包成 $0.08/小时的账单放在你面前了。2. 架构解剖为什么“Session as Event Log”是这次发布真正的支点2.1 三层解耦Harness、Session、Sandbox 的各自归位Anthropic 的工程博客里反复强调“decoupled agent stack”这绝不是营销话术而是对过去两年行业混乱的一次精准外科手术。我们来拆开看这三层到底怎么各司其职Harness执行器它被设计成彻底无状态的“瘦客户端”。你调用execute(name, input) → string它只负责一件事拉起一个容器、传入参数、等返回、吐出字符串。它不存任何东西不记任何事挂了就挂了。下次awake(sessionId)调用时它会从外部存储里重新加载 session 状态然后接着干。这就像一个只管开车、不管导航、不记路过的司机。它的价值在于轻量和可替换——今天用 Claude Sonnet明天换成 Opus只要接口不变Harness 层完全不用动。Session会话这才是真正的“大脑”。它不再是一个漂浮在内存里的 JSON 对象而是一个结构化的、带时间戳的、可持久化到磁盘的事件流event log。每一次工具调用、每一次模型推理、每一次用户输入、每一次错误发生都被记录为一条原子事件。你可以像查数据库一样用SELECT * FROM session_events WHERE session_id xxx AND event_type tool_call ORDER BY timestamp来回溯整个决策链。更重要的是这个 log 是 durable 的——它活在 Anthropic 的托管存储里哪怕 Harness 容器重启十次log 依然完整。这解决了我们去年那个四十分钟崩溃案的根本问题状态不再是易失的上下文而是坚不可摧的记录。Sandbox沙箱它被明确定义为“cattle, not pets”牛而非宠物。每次工具调用都动态创建一个全新的、隔离的微虚拟机microVM执行完立刻销毁。凭证API keys、DB passwords不是通过环境变量注入——那是把钥匙挂在门把手上——而是由 Anthropic 的密钥管理服务Vault在沙箱启动时以只读方式挂载进指定路径且沙箱进程无法访问 Vault 的网络端点。这意味着即使模型 prompt engineering 出了致命漏洞让 agent “误以为”自己需要 curl 一个危险 endpoint它也拿不到那个 curl 命令里本不该出现的 token。这种设计是血泪教训换来的我们曾因一个未过滤的os.environ注入在测试环境里意外泄露了 staging 数据库密码。提示这三层解耦的终极价值不是性能而是“可治理性”。当你需要向审计部门证明“这个 agent 在 3 月 15 日下午 2 点调用了哪个 API传了什么参数返回了什么数据”答案不在某个工程师的本地日志里而在 Anthropic 提供的、带数字签名的事件日志中。这就是企业级落地的门槛。2.2 为什么“Session as Event Log”比“Context Window as State”先进一个时代把状态塞进 context window本质上是一种“寄生式”架构。它把计算层模型和存储层状态强行绑在一起带来了三个无法回避的硬伤容量天花板即失败点Claude 3.5 Sonnet 的上下文是 200K tokens听起来很大。但实际场景中一个包含多张表格、数份 PDF 文本摘要、数次 API 返回的 JSON 的 session轻松就能吃掉 150K。剩下的 50K要留给 system prompt、当前指令、以及模型生成回复的空间。一旦超限模型不会报错它会“优雅降级”——自动丢弃最早的部分。这个过程对开发者完全黑盒。你看到的只是输出越来越离谱却找不到原因。我们那个四十分钟的案例就是典型的“静默坍塌”。调试与可观测性为零你想知道 agent 为什么在第 7 步开始胡说你得把整个 200K tokens 的 context dump 下来手动翻找。没有时间戳没有事件类型标记没有调用栈。它就像一锅煮糊的粥所有信息都混在一起无法分离。协作与复用成本爆炸如果 A 同学写的 agent 需要 B 同学写的工具B 同学就得把工具的完整描述、输入输出 schema、错误码列表全部塞进自己的 system prompt 里。A 同学想升级工具版本B 同学的 prompt 得跟着改。这根本不是工程协作这是人肉 API 同步。而 Session as Event Log 彻底重构了这个范式。它引入了清晰的“契约”工具契约每个工具只需定义name,description,input_schema。Harness 只认这个 schema不关心工具内部怎么实现。事件契约每次调用无论成功失败都产生一条标准格式的事件{ event_id: ..., session_id: ..., timestamp: ..., type: tool_call_start, tool_name: search_docs, input: { ... } }。状态契约Session 存储只提供get_state(session_id)和append_event(event)两个原子操作。Harness 不需要知道 state 存在哪怎么存。这种契约化让“组合”变成了乐高积木式的拼接。Notion 可以把他们的create_notion_page工具注册进 Anthropic 的 registryRakuten 的销售 agent 就能直接调用无需任何代码修改。这正是操作系统虚拟化硬件后带来的生态效应应用开发者不再需要为每台服务器写不同的驱动他们只写一次就能跑在 VMware、KVM、AWS Nitro 上。3. 实操指南从零部署一个生产级 Claude Agent含避坑清单3.1 第一步定义你的 AgentYAML vs Natural LanguageAnthropic 允许你用两种方式定义 agent严格的 YAML 或宽松的自然语言。别被“自然语言”迷惑它只适合快速原型生产环境请务必用 YAML。原因很简单自然语言解析有歧义而 YAML 是机器可验证的契约。一个典型的sales_agent.yaml长这样# sales_agent.yaml name: Sales Development Representative description: Qualifies inbound leads and schedules demos for enterprise sales team. system_prompt: | You are a senior SDR at Acme Corp. Your goal is to qualify leads by asking up to 3 targeted questions about their company size, use case, and timeline. If qualified (company 100 employees, clear use case, timeline 6 months), schedule a demo with the sales team. Never ask more than 3 questions. tools: - name: search_company_db description: Search our internal CRM for company details by domain name. input_schema: type: object properties: domain: type: string description: The companys website domain, e.g., acme.com required: [domain] - name: schedule_demo description: Schedule a 30-min demo slot with the sales team calendar. input_schema: type: object properties: lead_name: type: string lead_email: type: string preferred_time: type: string description: ISO 8601 datetime, e.g., 2026-04-15T14:00:00Z required: [lead_name, lead_email, preferred_time] guardrails: - type: content_policy policy: block rules: - Do not discuss pricing or discounts. - Do not make promises about product features not yet released. - type: tool_call_policy policy: allowlist allowed_tools: [search_company_db, schedule_demo]注意input_schema必须严格遵循 JSON Schema v7。我见过太多团队因为type: string写成type: str导致工具调用永远失败排查了两天才发现是 YAML 格式错误。建议用 VS Code 安装YAML插件它能实时校验 schema。3.2 第二步部署与配置CLI 与 Console 的双轨制Anthropic 提供了claude-cli工具这是最高效的部署方式。安装后一行命令即可上线# 登录使用 Anthropic 提供的 API Key claude login --api-key sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 部署 agent假设 yaml 文件在当前目录 claude agents deploy --file sales_agent.yaml --name sales-sdr-prod --environment production # 输出类似 # ✅ Agent sales-sdr-prod deployed successfully. # Session ID prefix: sess_prod_sdr_ # Estimated cost: $0.08/hour active runtime Claude token fees实操心得不要跳过--environment参数它会在后台为你创建独立的资源命名空间和权限策略。我们最初为了省事没加结果测试 agent 和生产 agent 共享同一个 sandbox pool导致测试流量偶尔触发了生产告警。后来强制要求所有部署都带--environment并用prod,staging,dev严格区分。如果你偏好图形界面Anthropic Console 的 Agent Management 页面也很直观。但要注意一个隐藏细节Console 里创建的 agent 默认是public意味着任何拥有你账户read权限的人都能看到它的定义。而 CLI 部署的 agent 默认是private。对于包含敏感工具描述比如delete_customer_data的 agent务必用 CLI 部署或在 Console 里手动将 visibility 改为 private。3.3 第三步集成到你的应用REST API 与 WebhookManaged Agents 提供了标准的 REST API。核心是两个 endpointPOST /v1/agents/{agent_id}/sessions创建新 session返回session_id。POST /v1/sessions/{session_id}/messages向 session 发送用户消息触发 agent 执行。一个完整的 Python 集成示例使用requestsimport requests import json # 1. 创建 session response requests.post( https://api.anthropic.com/v1/agents/agent_abc123/sessions, headers{x-api-key: sk-ant-api03-..., anthropic-version: 2023-06-01}, json{metadata: {source: web_app, user_id: u_789}} ) session_id response.json()[id] # e.g., sess_prod_sdr_456 # 2. 发送用户消息 user_message { role: user, content: [{type: text, text: Hi, Im from Acme Corp. Were looking for a CRM solution.}] } response requests.post( fhttps://api.anthropic.com/v1/sessions/{session_id}/messages, headers{x-api-key: sk-ant-api03-..., anthropic-version: 2023-06-01}, json{messages: [user_message]} ) # 3. 处理响应可能是 tool_use, content_block_delta, 或 final answer result response.json() if result.get(stop_reason) tool_use: # agent wants to call a tool, handle it tool_use result[content][0] if tool_use[name] search_company_db: # 调用你自己的公司数据库 API db_result call_your_crm_api(tool_use[input][domain]) # 把结果送回 agent requests.post( fhttps://api.anthropic.com/v1/sessions/{session_id}/messages, json{messages: [{role: assistant, content: [{type: tool_result, tool_use_id: tool_use[id], content: json.dumps(db_result)}]}]} )关键避坑点tool_result的tool_use_id必须和 agent 返回的tool_use中的id完全一致包括大小写和下划线。我们曾因前端 JS 代码里.toLowerCase()了这个 id导致 agent 一直卡在“等待工具结果”状态日志里全是tool_use_id not found。解决方案是永远原样透传不做任何字符串处理。3.4 第四步监控与调试Event Log 的实战价值部署后别急着庆祝。打开 Anthropic Console 的Sessions标签页你会看到一个按时间排序的 session 列表。点击任意一个进入详情页。这里就是你的“数字取证室”。Timeline View时间线视图这是最强大的功能。它把 session 的整个生命周期按毫秒级时间戳展开00:00:00.000: User message received00:00:00.123: Model started thinking (p50 TTFB: 123ms)00:00:00.456: Tool callsearch_company_dbinitiated00:00:01.789: Sandboxsbx_abcprovisioned00:00:02.345: Tool call completed, returned{ employees: 250, industry: SaaS }00:00:03.012: Model generated next question: Whats your primary use case for a CRM?这个时间线让你一眼就能定位瓶颈。如果Sandbox provisioned到Tool call completed耗时超过 2 秒说明你的工具 API 响应慢如果Model started thinking到Tool call initiated耗时过长说明 system prompt 或当前上下文太复杂模型在“思考”如何调用工具。Raw Events原始事件点击右上角View Raw Events你会看到一个 JSON 数组每一条都是一个标准事件。你可以复制这段 JSON粘贴到你的内部日志分析平台如 Datadog、Elasticsearch用 KQL 查询“找出所有tool_call_failed事件并关联其前 3 个user_message事件”。这比在一堆杂乱的console.log里大海捞针高效一万倍。实操心得我们给所有生产 session 的metadata字段都加上了{team: sales, channel: slack}。这样在 Console 里可以用team:sales这样的 filter 快速筛选避免被其他团队的 session 干扰。这是小技巧但每天能节省工程师 15 分钟。4. 竞争格局与生存法则为什么 Runtime 层注定“归零”4.1 Hyperscaler 的碾压式入场不是竞争是“吸收”Anthropic 的发布会通稿里把 Managed Agents 描绘成一个开创性的新类别。但现实是就在五个月前AWS Bedrock AgentCore 已经进入通用可用GA阶段。截至 2026 年 3 月它的 SDK 下载量已突破两百万次。这不是一个“友商产品”这是你云账单里已经存在的、免费的基础设施。AgentCore 的架构和 Anthropic 如出一辙session 作为事件日志、harness 无状态、sandbox 按需创建。但它有一个 Anthropic 永远无法复制的优势深度绑定。当你在 AWS 控制台里创建一个 AgentCore agent 时它默认使用你账户里已有的 IAM 角色来调用工具。你的search_company_db工具就是一个普通的 Lambda 函数它的权限策略IAM Policy已经写好了。AgentCore 的 sandbox直接运行在你的 VPC 里可以无缝访问你的 RDS、ElastiCache、甚至你的私有 Kubernetes 集群。这一切都不需要额外配置因为它们本就是你云环境的一部分。这就像当年 VMware 卖 ESX 的时候AWS 说“我们不卖 hypervisor我们卖的是 EC2。你买一台 t3.micro里面已经装好了 KVM还配好了网络、存储、监控价格是 $0.0104/hour。” Anthropic 的 $0.08/hour对标的是 EC2 的t3.micro而不是 VMware 的 $15,000/年。这不是价格战这是商业模式的降维打击——AWS 不是在卖一个更好的 runtime它是在把你整个云基础设施包装成一个 runtime。Google Vertex AI Agent Builder 和 Microsoft Azure AI Foundry 也在做同样的事。Vertex 的优势在于 BigQuery 和 Vertex Matching Engine 的原生集成Azure 的优势在于与 Microsoft Graph 和 Power Automate 的深度打通。它们都在把“runtime”变成一个“默认选项”而不是一个“需要评估的采购项”。提示如果你的公司已经在用 AWS现在就去控制台花 5 分钟创建一个 AgentCore agent。你会发现它比 Anthropic 的 CLI 部署更快、更顺滑。这不是 Anthropic 不好而是 AWS 的“默认集成”优势是任何独立厂商都无法撼动的护城河。4.2 开源压力曲线Daytona、K8s SIG、Deer-flow 的合围如果说 hyperscaler 是“吸收”那么开源社区就是“瓦解”。2025 年初Daytona 从一个 DevOps 工具转型为 AI agent 基础设施其核心卖点是sub-90ms sandbox spin-up。这意味着它能在不到 0.1 秒内从零创建一个隔离的、预装了 Python 和常用工具的容器。这个速度已经逼近了函数计算Function-as-a-Service的冷启动水平。它不卖 SaaS它卖一个 Helm Chart你helm install daytona就能在自己的 Kubernetes 集群里拥有一套和 Anthropic 几乎同构的 agent runtime。更可怕的是 Kubernetes SIG特别兴趣小组的动作。他们在 2026 年 3 月正式发布了kubernetes-sigs/agent-sandbox项目。这是一个官方支持的、符合 OCIOpen Container Initiative标准的 sandbox 运行时。它不是一个完整的 agent 框架而是一个“标准化的沙箱引擎”。任何 agent 框架LangGraph、CrewAI、甚至 Anthropic 的 Harness都可以对接它。这就像 Linux 内核提供了fork()和exec()系统调用所有编程语言的 runtime 都基于此构建进程模型。K8s SIG 正在为 agent 世界定义那个最底层的fork()。ByteDance 的deer-flow项目则代表了另一个方向长周期、强规划的 agent。它内置了 sub-agent子代理机制允许一个主 agent 把“研究竞品”、“撰写 PPT”、“准备演讲稿”拆分成三个独立的子任务分别交给三个 specialized agent 去执行。它的 GitHub Stars 已破 59,000这意味着已经有近六万开发者在用它构建自己的 agent 应用。而 deer-flow 的核心恰恰是那个可插拔的、标准化的 harness 接口。这三股力量——Daytona 提供极致性能的沙箱、K8s SIG 提供标准化的沙箱引擎、deer-flow 提供高级的 agent 编排能力——正在共同编织一张网把“runtime”这个概念从一个封闭的、商业化的、需要付费的产品变成一个开放的、标准化的、可以自由组合的基础设施层。这正是 VMware 当年面对 Xen 和 KVM 时的处境。4.3 价值迁移的三大高地Trace Store、Governance、Vertical Marketplace当 runtime 层不可避免地走向 commoditization商品化钱会流向哪里答案不是“更快的 sandbox”而是“sandbox 之上的三座高地”。第一座高地Trace Store追踪存储当所有 agent 都在用差不多的 runtime你凭什么收费答案是你拥有那个不可替代的、关于“agent 到底做了什么”的真相。Braintrust 的 Brainstore是一个专为 AI 交互日志设计的 OLAP 数据库。它能让你在毫秒级内回答这样的问题“过去 24 小时所有调用schedule_demo工具的 sessions 中有多少比例的preferred_time是在工作时间9am-5pm之外” 这种洞察对销售运营团队的价值远超 runtime 本身。Arize 的 Phoenix 项目选择了一条更聪明的路它把核心的 trace ingestion 和 query engine 以 Apache 2.0 许可证开源。这意味着任何公司都可以免费部署一个 Phoenix获得基础的可观测性。而 Arize 的商业产品则建立在这个开源基座之上提供企业级的 SSO、RBAC、SLA 保证和定制化报表。这是一种“开源捕获商业变现”的经典模式它确保了 Phoenix 成为事实上的 trace 标准。LangSmith 的优势在于生态绑定。它随 LangChain 一起安装几乎成了 LangChain 用户的默认选择。它的价值不在于技术有多领先而在于“你已经装了它”。当你的团队有 50 个 LangGraph agent 都在往 LangSmith 里打日志时切换到另一个 trace store 的迁移成本就高到无法承受。实操心得我们做过一个实验把同一个 agent 的日志同时发给 LangSmith 和自建的 Elasticsearch。三个月后团队 90% 的 debug 工作都发生在 LangSmith 的 UI 里。不是因为 LangSmith 更好而是因为它的 UI 专门为 agent 日志设计时间线视图、工具调用高亮、一键重放 session。而我们的 ES Kibana 仪表板需要工程师自己写复杂的 KQL 查询。这就是“默认选择”的力量。第二座高地Governance Policy治理与策略AWS AgentCore 在 2026 年 3 月 GA 的政策控制Policy Controls标志着一个拐点。它允许你在 agent 级别设置规则“禁止调用任何delete_*命名的工具”、“禁止在finance环境中调用send_email工具”、“所有search_*工具的返回结果必须经过pii_redactor工具脱敏”。这些规则不是写在 agent 的 YAML 里而是写在 AWS IAM Policy 里由 AgentCore 的 control plane 强制执行。OWASP Agentic Top 10 的发布则为企业采购提供了标准话术。当 CISO 问“你们的 agent 怎么防止 prompt injection”销售不能再回答“我们用了最好的 model”而必须拿出一份文档说明“我们集成了 OWASP Top 10 的第 3 条Insecure Output Handling并通过 Policy Controls 实现了自动拦截”。这个领域目前是一片蓝海。没有巨头垄断没有事实标准。谁能第一个提供一套既满足 OWASP 要求又能无缝集成到 AWS/GCP/Azure 策略引擎里的商业产品谁就能吃下未来三年的企业级 agent 治理市场。第三座高地Vertical Agent Marketplace垂直领域 Agent 商店Salesforce 的 Agentforce ARR 达到 8 亿美元这个数字不是靠卖 runtime 卖出来的。它是靠卖“销售开发代理”、“客户服务代理”、“财务报销代理”这些具体、可感知、能放进采购预算的垂直解决方案卖出来的。它的客户不是工程师而是销售 VP、客服总监、CFO。这个模式的成功源于一个简单事实企业愿意为“解决一个明确的业务问题”付费而不是为“拥有一套先进的 AI 基础设施”付费。当 runtime 变得免费且无处不在时“agent”本身就成了可交易的商品。开源社区已经嗅到了这个味道。virattt/ai-hedge-fund项目提供了一个开箱即用的量化交易 agent它能连接 Yahoo Finance、执行回测、生成交易信号。vxcontrol/pentagi项目则是一个红队渗透测试 agent它能自动扫描目标、识别漏洞、生成 exploit PoC。这些项目不是玩具它们是垂直市场的种子。最后分享一个小技巧如果你想评估一个 agent-infra 初创公司的长期价值不要问“你们的 sandbox 启动速度是多少”。去问他们“你们的 trace store是否支持跨 runtime 迁移如果我的客户今天用你们的 trace store明天把 agent 迁移到 AWS AgentCore日志还能无缝接入吗” 如果答案是“不能”那它大概率只是一个过渡期的工具。如果答案是“能并且我们提供 migration toolkit”那它才真正抓住了 commodity layer 之上的价值。5. 终极拷问你的技术选型是在买“hypervisor”还是在建“应用平台”我最后一次部署一个纯 runtime 的 agent 框架是在 2025 年 6 月。我们花了三周时间用 LangGraph 搭建了 workflow用 Redis 做了 session state用 Docker Compose 管理了 sandbox最后用 Prometheus 监控了 TTFB。上线后它稳定运行了两个月。然后AWS AgentCore GA 了。我们开了个会会议纪要只有两行“1. 评估迁移成本。2. 结论零成本因为 AgentCore 的 LangGraph adapter 是官方维护的一行代码都不用改。” 我们删掉了那三周写的全部代码把docker-compose.yml换成了aws cloudformation create-stack然后把省下的工程师时间全部投进了打磨我们的sales-sdragent 的业务逻辑里——优化提问话术、增加行业知识库、对接更多 CRM 字段。这就是 runtime commoditization 的真实面貌它不是一场你死我活的战争而是一次集体性的“卸载”。我们卸载了那些本不该由业务团队操心的、关于沙箱、关于状态、关于监控的底层细节把宝贵的精力重新聚焦在“如何让 agent 更好地完成销售任务”这个核心命题上。Anthropic 的 Managed Agents是一个优秀的、及时的、工程上无可挑剔的产品。它证明了“session as event log”是正确的架构方向。但它发布的时机注定了它不是开山者而是守门人。它在守护的不是 runtime 这个即将消失的层而是 Claude 这个模型的 token 生态。它的定价策略$0.08/hour非常精妙对小团队它足够便宜值得尝试对大客户它又贵得恰到好处让你认真考虑“是不是该把 agent 迁到 AWS 上顺便把 compute、storage、networking 全部打包进一张账单”。所以回到最开始的问题你现在该做什么我的建议是立刻动手用 Anthropic 的 CLI 部署一个最简单的 agent。不是为了长期使用它而是为了亲身体验那个“session as event log”的范式。感受一下 Timeline View 的威力试试 Raw Events 的 JSON 结构把它集成到你的 Slack bot 里。然后花一天时间去 AWS 控制台用同样的 YAML部署一个 AgentCore agent。对比两者的体验差异。最后打开 GitHub搜索daytona agent和kubernetes-sigs/agent-sandbox看看它们的 README 和 issue list。这个过程不是为了选一个 winner而是为了确认一件事你正在构建的是一个可以轻松迁移到任何 runtime 的、真正有价值的 agent。而那个 agent 的价值永远不在于它跑在哪家的 sandbox 里而在于它能帮你签下多少单、节省多少工时、规避多少风险。Runtime 层归零不是终点而是起点——一个让我们终于可以把全部注意力放回“AI 能为业务做什么”这个本质问题上的干净的起点。