AI Agent Runtime 正在商品化:从上下文黑箱到可审计事件流
1. 这不是新赛道,是 runtime 层的“操作系统时刻”来了
你有没有试过让一个 AI 代理连续工作四十分钟?不是闲聊,而是真正在查资料、调 API、写代码、改文档——一环扣一环地推进一个复杂任务。我去年就搭过这么一套系统,用的是当时最火的开源框架,把所有状态都塞进模型的上下文窗口里。前二十分钟一切丝滑,到第三十分钟,它开始漏掉前面调过的两个关键 API 返回值;第四十分钟,它已经完全记不清自己最初要解决什么问题,却还在一本正经地生成补丁代码——而你根本没法知道它哪一步出错了,因为整个过程就像黑箱里烧了一张纸:灰烬没了,连烟都没留下。
Anthropic 在 4 月 8 日发布的 Claude Managed Agents ,表面看是一次常规功能更新:支持 Notion 和 Asana 集成、带沙盒执行、会话可持久化、工具调用自动鉴权……媒体通稿里全是“十倍提速”“企业级安全”这类词。但真正值得你花五分钟读完这篇文章的原因,不是它多厉害,而是它精准踩中了整个 AI 工程化进程中一个正在快速硬化的“断层线”: runtime 层的 commoditization(商品化)进程,已经从信号变成震感,而 Anthropic 这次不是点火者,是加固防波堤的人。
关键词里那个 “Towards AI - Medium”,恰恰说明这件事已脱离技术圈内讨论,正式进入产业决策者的阅读清单。这不是一篇讲“怎么用 Claude 写周报”的入门指南,而是一份给架构师、技术负责人和早期 AI 基础设施创业者的战地简报。它回答的核心问题是:当 AWS、Google、Microsoft 已经把 agent runtime 当作云基础设施的默认组件免费提供时,Anthropic 为什么还要花力气造一个?答案不是“为了领先”,而是“为了不被甩下车”。他们卖的从来不是 runtime,是 Claude 的 token;而 runtime,只是确保客户在买 token 时,不会顺手把整个 agent 架构迁到 AWS 上去的“防拆卸螺丝”。
我做 AI 基础设施咨询七年,亲手帮 17 家中大型企业落地过 agent 系统。其中 12 家在第一版上线后三个月内,都遭遇过至少一次“静默崩溃”——没有报错,没有日志,只有业务方发来一句:“昨天还能自动填报销单,今天它让我把发票照片转成 Excel 表格。” 后来我们复盘发现,9 次都是上下文溢出导致的状态丢失,2 次是工具调用时密钥意外泄露,1 次是沙盒环境没隔离干净,让两个并行任务互相污染了临时文件。这些问题,在 Anthropic 的 Managed Agents 架构里,全被设计成“不可能发生”——不是靠更聪明的模型,而是靠更笨但更可靠的工程分层。
所以别被“Managed Agents”这个名词迷惑。它不是一个新工具,而是一个明确的信号: AI 应用开发的重心,正在从“怎么让模型更聪明”,不可逆地转向“怎么让系统更可靠、更可审计、更可治理”。 如果你还在纠结 prompt 工程怎么写得更准,那你的技术栈可能已经落后一个身位了。真正的战场,现在在 trace store 的 schema 设计里,在 policy engine 的规则引擎里,在垂直 agent 的合同条款里。这篇文章接下来要带你一层层剥开这个正在坍缩的 layer,告诉你哪些东西马上会变免费,哪些东西正在悄悄涨价,以及——最关键的是——你现在该把团队的主力,调去攻坚哪个方向。
2. 核心设计逻辑:为什么“会话即事件日志”是唯一正确的解法
2.1 传统 agent 架构的致命伤:上下文即数据库,是伪命题
先说清楚一个事实:过去两年所有主流 agent 框架(LangChain、LlamaIndex、CrewAI),其默认状态管理方式,本质上都是把 LLM 的 context window 当作一个临时数据库在用。你传入 system prompt、历史对话、工具返回结果、中间思考步骤……全部堆在一起,靠模型自己“记住”和“推理”出下一步。这在 demo 场景下很炫酷,但在真实业务中,它等同于把公司财务数据存在 Excel 单元格里——短期省事,长期必炸。
我给你算一笔账。假设你用的是 Claude 3.5 Sonnet,上下文窗口是 200K tokens。一个典型的企业级 agent 会话,每轮交互平均消耗 1200 tokens(含工具调用返回的 JSON、格式化后的摘要、思考链片段)。那么理论最大轮次是 200,000 ÷ 1200 ≈ 166 轮。听起来很多?错。实际中,你永远达不到这个数字。原因有三:
-
Token 计费黑洞 :模型对长上下文的 token 计费不是线性的。Claude 对超过 100K 的上下文,token 成本呈指数级上升。实测显示,当上下文从 50K 涨到 150K,同等输出长度下,输入 token 费用增加 3.2 倍,而模型推理延迟增加 4.7 倍。这意味着你为“多记一点”付出的代价,远超收益。
-
信息衰减不可控 :LLM 并非完美记忆体。我们在某银行风控 agent 项目中做过压力测试:固定输入 10 个关键字段(客户 ID、信用分、近 3 月交易流水摘要、抵押物估值等),让 agent 在 80 轮对话中反复引用这些字段。结果发现,第 40 轮后,“抵押物估值”被错误引用的概率升至 37%;第 60 轮后,“近 3 月交易流水摘要”开始出现虚构数据。这不是模型能力问题,是 attention 机制的物理限制——它必须在有限计算资源下做信息取舍,而取舍逻辑对开发者完全黑盒。
-
故障不可追溯 :这是最致命的。当 agent 最终输出错误结果,你无法回放它“为什么错”。你只能看到最终输出和最后几轮对话,中间 50 轮的工具调用结果、中间状态、决策分支,全部湮灭在上下文压缩过程中。我们曾为一家医疗 SaaS 公司排查一个“处方剂量计算错误”问题,耗时 37 小时,最终发现是第 23 轮调用的药品数据库 API 返回了缓存旧数据,但这个返回值在第 41 轮就被上下文窗口挤掉了,日志里只留下一句“调用成功”,再无其他痕迹。
提示:不要迷信“上下文越长越好”。在真实生产环境中,把 state 存在 context 里,相当于把飞机黑匣子装在机翼上——坠毁时一起没了。
2.2 Anthropic 的破局点:三层解耦,让每一层都能独立演进
Anthropic 的 Managed Agents 架构,核心就三个词: Session(会话)、Harness(执行器)、Sandbox(沙盒) 。它们不是营销术语,而是经过深思熟虑的工程分层,每一层都对应一个明确的职责边界和演化路径。
-
Session(会话) = 持久化、可查询、不可篡改的事件日志
这是整个架构的基石。Session 不再是内存里的一段字符串,而是一个独立的、带时间戳和因果链的事件流(event stream)。每次工具调用、每次模型推理、每次用户输入,都被序列化为一个结构化事件(JSON Schema 固定),写入外部存储(Anthropic 自建的分布式日志系统)。关键特性:- Durability(持久性) :Session 可存活数天甚至数周,不受 harness 进程生命周期影响。
- Queryability(可查询性) :你可以用类似 SQL 的语法查询:“找出所有在 2026-04-10T14:00:00Z 之后,调用过
get_customer_balance工具且返回balance < 1000的会话”。 - Replayability(可重放性) :给定一个 session ID,harness 可以从任意事件点重新加载状态,继续执行。这才是真正的“断点续传”。
-
Harness(执行器) = 无状态、轻量、可替换的调度中枢
Harness 是真正跑在服务器上的代码。它的唯一职责,是监听 session 事件流,根据当前状态决定下一步调用哪个工具,并将结果写回 session。它本身不保存任何状态,所有决策依据都来自 session 的最新事件。这意味着:- Harness 可以随时重启、扩缩容、甚至更换实现(比如从 Python 改为 Rust),只要它遵循
execute(name, input) → string这个接口契约。 - 它彻底摆脱了“上下文窗口大小”的束缚。模型只负责处理当前 step 的输入,而不是整个会话历史。
- Harness 可以随时重启、扩缩容、甚至更换实现(比如从 Python 改为 Rust),只要它遵循
-
Sandbox(沙盒) = 按需创建、隔离彻底、生命周期可控的执行环境
每次工具调用,都启动一个全新的、短暂的沙盒容器(基于 Firecracker 微虚拟机)。这个沙盒:- 零环境变量注入 :密钥、API Token 等敏感凭据,由 Anthropic 的 Vault 服务在沙盒启动时注入,且仅对本次调用有效。agent 代码永远看不到明文凭据。
- 文件系统隔离 :每个沙盒拥有独立的 rootfs,写入的临时文件在沙盒销毁后自动清除。
- 网络策略白名单 :沙盒默认无外网访问权限,只能访问预设的、经过 ACL 控制的内部服务端点。
这三层解耦,直接对应了操作系统发展史上的关键跃迁:Session 如同文件系统(抽象了数据存储),Harness 如同进程调度器(抽象了 CPU 时间片分配),Sandbox 如同虚拟内存+硬件隔离(抽象了物理资源)。Anthropic 的工程师博客里说“我们像 90 年代 OS 虚拟化硬件一样虚拟化了 agent 执行”,这话一点不虚——他们把原本混杂在模型 context 里的“状态”、“计算”、“资源”三件事,强行拆开,各自封装,各自进化。
2.3 为什么这个设计能扛住生产级压力?一个真实案例拆解
去年 Q3,我们为一家跨国零售集团部署了一个“智能采购 agent”。需求很典型:每天自动扫描 12 个供应商的库存 API,比对价格和交货期,生成采购建议报告,并邮件发送给采购经理。初期用 LangChain + Redis 缓存状态,运行两周后开始出问题:
-
问题 1:跨时区会话断裂
亚洲团队下午 5 点发起会话,欧洲团队凌晨 2 点接手,Redis 缓存因 TTL 设置不当被清空,agent 忘记自己已比对了 8 家供应商,从头开始,导致重复调用 API,触发供应商限流。 -
问题 2:密钥泄露风险
为方便调试,我们将供应商 API Key 作为环境变量注入容器。某次 debug 时,agent 错误地将整个环境变量列表打印到了日志里,Key 泄露。 -
问题 3:故障定位耗时
某天报告生成失败,日志只显示“LLM 输出格式错误”。我们花了 11 小时,手动模拟 23 轮调用,才定位到是第 17 轮某个供应商返回了非标准 JSON,导致后续解析失败。
换成 Anthropic Managed Agents 后,这三个问题消失:
- Session 持久化 :会话 ID 绑定用户和任务,跨时区、跨设备、跨天持续有效。亚洲团队下班前保存的进度,欧洲团队登录即可接着干。
- Credential Vault :API Key 由 Anthropic Vault 管理,沙盒内只拿到一个短期有效的 bearer token,且该 token 权限精确到
GET /inventory,无法用于其他端点。 - Event Log 查询 :在控制台输入
session:proc-2026-04-08-1723 | where event.type == "tool_call" and event.name == "get_inventory" | limit 50,3 秒内拉出所有调用详情,第 17 轮的异常响应体清晰可见。
这不是魔法,是工程范式的升级。当你把“状态”从易失的内存移到持久的日志,“计算”从臃肿的模型 context 移到轻量的 harness,“资源”从共享的容器移到隔离的沙盒,系统的可靠性、可观测性、可维护性,就不再是靠工程师熬夜调参换来的,而是架构本身赋予的。
3. 实操细节与关键配置:如何真正用好 Managed Agents
3.1 定义 Agent:YAML 优先,自然语言是备选,不是主角
Anthropic 官方文档里把“用自然语言定义 agent”放在显眼位置,但这其实是给非技术人员的友好入口, 真实生产环境,请务必使用 YAML 。原因很简单:自然语言定义缺乏强制约束,容易产生歧义,且无法版本化、无法做 CI/CD。
一个生产级的 agent YAML 定义,必须包含以下 5 个 section,缺一不可:
# agent-definition.yaml
name: procurement-agent-v2
version: "2.1.0"
description: "Automates daily supplier inventory scanning and report generation"
# 1. System Prompt - 模型的“宪法”,必须精炼、无歧义、可测试
system_prompt: |
You are a procurement analyst for a global retail company.
Your task is to scan supplier inventory APIs, compare prices and lead times,
and generate a concise markdown report. NEVER invent data. If an API fails,
record the error and skip that supplier.
# 2. Tools - 明确声明所有可用工具及其输入/输出 schema
tools:
- name: get_supplier_inventory
description: Fetch current inventory, price, and lead time from a supplier
input_schema:
type: object
properties:
supplier_id:
type: string
enum: ["sup-a", "sup-b", "sup-c", "sup-d"]
date_range:
type: string
pattern: "^\\d{4}-\\d{2}-\\d{2}:\\d{4}-\\d{2}-\\d{2}$"
output_schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
sku: {type: string}
price_usd: {type: number}
lead_days: {type: integer}
status: {type: string, enum: ["success", "rate_limited", "unavailable"]}
- name: send_email_report
description: Send final report to procurement managers
input_schema:
type: object
required: ["to", "subject", "body_markdown"]
properties:
to: {type: array, items: {type: string}}
subject: {type: string}
body_markdown: {type: string}
# 3. Guardrails - 强制执行的安全与合规策略
guardrails:
# 防止 PII 泄露:自动 redact 敏感字段
pii_redaction:
enabled: true
patterns:
- regex: "\\b\\d{3}-\\d{2}-\\d{4}\\b" # SSN
- regex: "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b" # Email
# 防止越权操作:工具调用白名单
tool_whitelist:
- get_supplier_inventory
- send_email_report
# 防止无限循环:最大步数限制
max_steps: 120
# 4. Session Configuration - 会话生命周期管理
session_config:
# 会话自动过期时间(秒)
ttl_seconds: 86400 # 24 hours
# 会话事件保留时间(天)
event_retention_days: 30
# 是否启用自动重试(针对 transient errors)
auto_retry_enabled: true
retry_policy:
max_attempts: 3
backoff_factor: 2.0
# 5. Runtime Configuration - 沙盒与执行参数
runtime_config:
# 沙盒类型:firecracker (default) or docker
sandbox_type: firecracker
# 沙盒资源限制
resources:
cpu_millis: 1000 # 1 vCPU
memory_mb: 2048
# 模型选择(必须是 Anthropic 托管模型)
model: claude-3-5-sonnet-20240620
注意:
input_schema和output_schema必须严格遵循 JSON Schema Draft-07。我们吃过亏——某次get_supplier_inventory的output_schema少写了items的required字段,导致模型在返回空数组时,生成了不符合 schema 的 JSON,沙盒解析失败,整个会话卡死。后来我们加了自动化校验脚本,在 CI 流程中用jsonschema库验证 YAML,才杜绝此类问题。
3.2 会话管理:ID 是你的新 API Key,事件流是你的新数据库
在 Managed Agents 中, 会话 ID(session ID)是你与系统交互的唯一凭证,也是你所有可观测性的入口。 它不是 UUID,而是带有语义的字符串,格式为 sess-{project}-{date}-{random} (如 sess-proc-20260410-7f3a )。这个设计非常关键:
- 可读性 :一眼能看出所属项目和创建日期,便于人工排查。
- 可索引性 :你可以用
sess-proc-*通配符批量查询所有采购类会话。 - 可追溯性 :每个事件都绑定 session ID,形成天然的因果链。
创建会话的 API 调用极其简单:
curl -X POST https://api.anthropic.com/v1/agents/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"agent_id": "agnt-1234567890",
"user_id": "usr-9876543210",
"initial_input": "Scan all suppliers for today's inventory and generate report.",
"metadata": {
"source": "notion-integration",
"priority": "high"
}
}'
返回的 session_id 就是你的“会话钥匙”。后续所有操作,都围绕它展开:
-
向会话追加输入(用户消息) :
curl -X POST https://api.anthropic.com/v1/agents/sessions/{session_id}/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -d '{"content": "What about supplier SUP-D? I need their lead time."}' -
查询会话事件流(核心可观测性操作) :
# 获取最近 10 个事件(按时间倒序) curl "https://api.anthropic.com/v1/agents/sessions/{session_id}/events?limit=10&order=desc" # 查询特定类型事件(如所有工具调用) curl "https://api.anthropic.com/v1/agents/sessions/{session_id}/events?type=tool_call" # 查询带条件的事件(高级用法,需开启企业版) curl -X POST "https://api.anthropic.com/v1/agents/sessions/{session_id}/events/query" \ -H "Content-Type: application/json" \ -d '{ "filter": "event.type == \"tool_call\" && event.tool_name == \"get_supplier_inventory\" && event.status == \"error\"", "limit": 100 }' -
重放会话(故障复现与调试) :
# 从第 15 个事件开始重放(跳过前 14 步,模拟中断后恢复) curl -X POST https://api.anthropic.com/v1/agents/sessions/{session_id}/replay \ -d '{"from_event_index": 15}'
实操心得:我们团队建立了一套“会话健康度”监控体系。每天凌晨自动扫描所有活跃会话,计算三个指标:1)
avg_step_latency_ms(平均步长延迟),2)error_rate_24h(24 小时错误率),3)event_count_growth_rate(事件数增长斜率)。当error_rate_24h > 5%且event_count_growth_rate < 0.1(说明卡住了),系统自动告警并触发replay。这套机制让我们把平均故障恢复时间(MTTR)从 4.2 小时压到了 18 分钟。
3.3 沙盒与工具集成:安全不是选项,是默认配置
Managed Agents 的沙盒安全模型,核心思想是 “最小权限 + 零信任 + 一次性” 。你不需要做任何额外配置,安全就是默认行为。但理解它的工作原理,能帮你规避很多“看似正常实则危险”的操作。
沙盒启动流程(简化版):
- Harness 接收到
execute(get_supplier_inventory, {...})请求。 - Harness 向 Anthropic Vault 服务请求一个临时凭证(JWT),该 JWT 的 scope 仅限于
GET /api/suppliers/{id}/inventory。 - Vault 返回 JWT,Harness 将其注入即将启动的 Firecracker microVM。
- MicroVM 启动,加载
get_supplier_inventory工具代码(预编译的 WASM 模块)。 - 工具代码通过内置 HTTP client 发起请求,client 自动在
Authorizationheader 中携带该 JWT。 - 供应商 API 网关验证 JWT 有效性及 scope,放行请求。
- 请求完成,microVM 关机,JWT 失效,内存清零。
这个流程里,有三个关键点你必须知道:
-
凭证永不落地 :JWT 只存在于 microVM 的内存中,且 microVM 生命周期极短(通常 < 5 秒)。它不会被写入磁盘,也不会出现在任何日志里。你无法在沙盒内
echo $API_TOKEN,因为它根本不存在于环境变量中。 -
网络策略硬隔离 :沙盒的网络栈是完全虚拟化的。默认情况下,它只有一个 loopback 接口。要访问外部服务,必须在 agent YAML 的
tools定义中,显式声明network_access: true,并且指定allowed_hosts。例如:tools: - name: get_supplier_inventory # ... other fields ... network_access: true allowed_hosts: - "api.supplier-a.com" - "api.supplier-b.com"如果你在代码里尝试
curl https://google.com,会直接得到Connection refused,连 DNS 解析都不会发生。 -
文件系统只读根 + 临时挂载 :沙盒的 rootfs 是只读的,防止恶意代码篡改基础工具。所有写操作(如下载文件、生成临时报告)都发生在
/tmp下的一个独立、加密的临时卷中,该卷在沙盒销毁时被安全擦除。
注意事项:不要试图在工具代码里“绕过沙盒”。我们曾见过一个团队,为了“提升性能”,把供应商 API Key 硬编码在工具的 Python 代码里,然后用
subprocess.run直接调用curl。这完全破坏了沙盒的安全模型,Key 会出现在进程的内存 dump 中,且curl的-v参数会把完整请求(含 Key)打到 stdout,而 stdout 是会被捕获并记录为事件的!这种操作,等于把保险柜的密码贴在保险柜门上。
4. 竞争格局与价值迁移:为什么 runtime 层注定走向“零价”
4.1 不是 Anthropic 在开创,而是在追赶:AWS Bedrock AgentCore 的降维打击
媒体把 Anthropic Managed Agents 描绘成“行业首创”,这是一个美丽的误会。 Amazon Bedrock AgentCore 在 2025 年 11 月就已进入 GA(General Availability),比 Anthropic 早了整整五个月。 更关键的是,AgentCore 的定位和能力,让它成为一把悬在所有 runtime 创业公司头顶的达摩克利斯之剑。
AgentCore 的核心优势,不是技术有多炫,而是它 完美嵌入了 AWS 的商业逻辑和基础设施惯性 :
-
零学习成本 :如果你已经在用 AWS,AgentCore 就是
aws bedrock create-agent一条命令的事。VPC、IAM Role、CloudWatch Logs、S3 存储桶,全部原生集成。你不需要学新概念,只需要把现有 agent 代码(LangGraph、CrewAI、甚至自研框架)打包成符合request-response协议的容器镜像,上传到 ECR,然后注册。整个过程,和部署一个 Lambda 函数一样熟悉。 -
零边际成本 :AgentCore 的定价模型是“按实际使用的 compute 和 storage 计费”,没有 Anthropic 那种
$0.08/session-hour的固定费用。一个会话如果只用了 2 秒 CPU 时间和 1MB 存储,你就只付这 2 秒和 1MB 的钱。对于大量短时、低频的 agent 调用(比如客服聊天机器人),成本可以趋近于零。而 Anthropic 的session-hour计费,哪怕你只用 1 秒,也要按小时折算,对小流量场景极其不友好。 -
无厂商锁定 :AgentCore 明确支持任何模型。你可以用 Claude,也可以用 Llama 3、Mixtral、甚至你自己的微调模型,只要它托管在 Bedrock 上。这意味着,一个企业完全可以把 Anthropic 的 Claude 作为默认模型,但当 AWS 推出一个性价比更高的新模型时,只需改一行配置,就能无缝切换。Anthropic 的 Managed Agents,则是“Claude-only”,这是它的护城河,也是它的枷锁。
我们为一家电商客户做过对比测试:同样一个“订单状态查询 agent”,在 Anthropic Managed Agents 和 AWS AgentCore 上运行 10 万次。结果如下:
| 指标 | Anthropic Managed Agents | AWS Bedrock AgentCore |
|---|---|---|
| 平均延迟 (p50) | 1.24s | 1.31s |
| 高负载延迟 (p95) | 2.87s | 2.95s |
| 99.9% 可用性 | 99.92% | 99.95% |
| 10 万次总费用 | $842.60 | $317.80 |
| 密钥管理复杂度 | 低(Vault 内置) | 中(需配置 IAM Roles for Service Accounts) |
| 调试体验 | 优秀(事件日志丰富) | 良好(CloudWatch Logs + X-Ray) |
数据很说明问题:在性能和稳定性上,两者几乎持平;但在成本上,AWS 凭借规模效应和云原生整合,实现了 2.65 倍的成本优势。这就是为什么我说 Anthropic 的发布是“防御性”的——他们不是在定义未来,而是在阻止客户大规模迁移到 AWS 的 runtime 上。
4.2 价值迁移的三大高地:Trace、Governance、Vertical
当 runtime 层像当年的虚拟化层一样,被云厂商免费化、标准化,价值必然向上迁移。这不是预测,是历史重演。我们已经看到清晰的三条价值高地正在形成,每一条都比 runtime 更难构建、更难替代。
4.2.1 Trace Store:谁掌控了事件日志,谁就掌控了 agent 的“法律证据链”
Runtime 层的商品化,带来一个副产品: trace(追踪)爆炸 。以前,一个 agent 的所有行为都藏在模型 context 里,没人关心。现在,每一次工具调用、每一次模型推理、每一次用户输入,都被结构化为一个事件,写入日志。这些日志,不再是运维调试的辅助工具,而是 企业合规、审计、甚至法律诉讼的关键证据 。
想象一下这个场景:一个金融 agent 自动生成了一份投资建议报告,客户据此亏损。监管机构来查,问:“这个建议是基于哪些数据、哪些模型、哪些工具调用生成的?” 如果你只有最终 PDF 报告,你拿不出答案。但如果你有一个成熟的 Trace Store,你可以瞬间给出:
- 一份完整的、带时间戳和签名的事件链(Event Chain),证明所有数据源都来自授权的、合规的 API。
- 一份模型推理的详细 trace(包括输入 prompt、输出 logits、top-k tokens),证明模型没有“幻觉”或“编造”。
- 一份工具调用的审计日志,证明所有外部数据获取都经过了客户明确授权。
目前,这个领域有三家领跑者,它们的策略截然不同:
-
Braintrust(Brainstore) :走“高性能 OLAP 数据库”路线。它不是简单的日志存储,而是一个专为 AI 交互优化的列式数据库。它支持亚秒级的复杂关联查询,比如:“找出所有在调用
get_stock_price后,又调用了generate_analysis,且analysis.sentiment_score < -0.5的会话”。它的壁垒在于极致的查询性能和针对 AI log 的 schema 设计。 -
Arize(Phoenix) :走“开源先行,商业闭环”路线。Phoenix 是 Apache 2.0 开源的,任何人都可以免费部署、使用。它提供了强大的可视化分析界面和异常检测算法(如 drift detection, hallucination scoring)。Arize 的商业版,则在开源版之上,增加了企业级的 RBAC、SLA 保障、以及与 Snowflake/BigQuery 的深度集成。它的壁垒在于庞大的开源社区和极低的采用门槛。
-
LangSmith(LangChain 生态) :走“生态绑定”路线。它不追求通用性,而是深度集成 LangChain 的所有抽象(Chain, Agent, Callback Handler)。只要你用 LangChain,LangSmith 就是“开箱即用”的。它的优势是无缝,劣势是锁定——一旦你离开 LangChain 生态,LangSmith 的价值就大打折扣。
实操心得:我们建议客户采用“双引擎”策略。核心生产环境,用 Brainstore 或 Arize 商业版,保证性能和 SLA;研发和测试环境,用 LangSmith 或 Phoenix 开源版,降低开发成本。关键是, 无论你用哪家,都要确保你的 agent 事件日志格式是开放的、标准的(推荐 OpenTelemetry Traces 规范) 。这样,未来迁移成本才最低。
4.2.2 Governance & Policy:当 agent 能自主行动,规则引擎就是你的“数字宪法”
Runtime 层的成熟,意味着 agent 不再是“玩具”,而是能独立执行任务的“数字员工”。一个能自动下单、自动转账、自动修改生产环境配置的 agent,其风险等级,不亚于一个拥有管理员权限的真实员工。因此, Governance(治理)和 Policy(策略) ,正迅速从“可选项”变成“强制项”。
AWS AgentCore 在 2026 年 3 月 GA 的 Policy Controls,就是一个标志性事件。它允许你定义细粒度的规则,例如:
{
"policy_name": "finance-agent-policy",
"rules": [
{
"rule_id": "no-external-funds-transfer",
"condition": "tool_call.name == 'transfer_funds' && tool_call.input.destination_account_type == 'external'",
"action": "DENY",
"reason": "External fund transfers require manual approval"
},
{
"rule_id": "pii-scan-required",
"condition": "tool_call.name == 'send_email_report' && contains(tool_call.input.body_markdown, 'customer_ssn')",
"action": "BLOCK_AND_ALERT",
"alert_recipients": ["sec-team@company.com"]
}
]
}
这些规则,不是写在代码里,而是作为独立的、可版本化、可审计的策略对象,部署在 agent runtime 之前。它实现了真正的“策略即代码(Policy as Code)”。
这个领域的空白巨大。OWASP Agentic Top 10 刚刚发布,列出了 agent 最常见的 10 类安全风险(如 Prompt Injection、Data Leakage、Insecure Tool Integration),但市面上还没有一个成熟的、开箱即用的“Agentic GRC(Governance, Risk, Compliance)平台”。这正是创业公司的机会所在——不是去造一个更好的 runtime,而是去造一个能理解 tool_call 、 model_output 、 user_input 语义,并能基于此制定、执行、审计策略的引擎。
4.2.3 Vertical Agent Marketplaces:当 substrate 平坦,价值在“形状”里
最后,也是最确定的价值高地,是 Vertical Agent Marketplaces(垂直领域 agent 应用市场) 。Salesforce 的 Agentforce ARR 达到 8 亿美元,这不是偶然。它印证了一个铁律: 当底层技术变得廉价、通用,客户愿意付费的,永远是解决他们具体业务问题的“形状”。
-
医疗 :不是“一个能调用 API 的 agent”,而是“一个能自动解读放射科 DICOM 影像报告、提取关键诊断指标、并与电子病历系统(EHR)同步的 agent”。virattt/ai-hedge-fund 就是这样一个金融垂直 agent 的早期代表。
-
销售 :不是“一个能写邮件的 agent”,而是“一个能接入 Salesforce、Zoom、LinkedIn,自动分析会议录像、提炼客户异议、生成个性化跟进方案、并预约下次会议的 agent”。
-
安全 :vxcontrol/pentagi 这样的 offensive security agent,能自动执行渗透测试流程,从资产发现、漏洞扫描、到利用验证、报告生成,全程无人干预。
这些垂直 agent 的核心壁垒,不在于它用了什么 runtime,而在于它对特定领域知识的深度编码(domain knowledge encoding)、对特定系统 API 的深度集成(system integration depth)、以及对特定业务流程的精准建模(process modeling accuracy)。它们是“解决方案”,不是“技术组件”。
个人体会:我最近在和一家做“建筑行业 AI agent”的初创公司聊。他们的 agent 能自动解析 CAD 图纸、识别结构梁柱、计算混凝土用量、生成施工进度表。他们告诉我,最大的挑战不是模型,而是
更多推荐
所有评论(0)