1. 这不是新赛道,而是 runtime 层的“操作系统时刻”:一场被误读的发布
你点开技术媒体推送的标题——“Anthropic Just Shipped the Layer That’s Already Going to Zero”——第一反应可能是:又一个大模型公司杀进 Agent 领域了?又一个新概念要火了?别急。我去年亲手用 LangChain 搭过三套生产级 agent 系统,其中两套在客户现场跑满六个月,第三套直接因为 session 状态管理崩掉而回滚。所以当我看到 Anthropic 发布 Managed Agents 的工程博客时,没点开 PR 文案,先翻到了那句:“Session as durable event log living outside the model context”。就这一句,我合上电脑,泡了杯浓茶,坐了十分钟。不是因为震撼,而是因为熟悉——太熟悉了。我们团队在 2025 年 3 月那个连续加班的周五晚上,就是靠手写一套基于 PostgreSQL 的 session event store,才把客户价值 270 万美元的合同续签下来。Anthropic 没发明新东西,他们只是把我们踩过坑、重写过三次、最后用七种不同数据库试错才稳定下来的那一层,做成了托管服务。
这背后的核心关键词,不是“agent”,不是“Claude”,而是 session state management 、 credential isolation 、 sandboxed execution 和 trace portability 。它们共同指向一个事实:AI 应用栈正在经历和 2000 年代初操作系统虚拟化硬件完全相同的阶段。当时 VMware 卖的是 ESX,按物理 CPU 插槽收费;今天 Anthropic 卖的是 Managed Agents,按 session-hour 收费。价格标签变了,但底层逻辑没变——当一个抽象层足够稳定、接口足够清晰、实现足够可靠,它就注定从“产品”退化为“基础设施”,再进一步,退化为“默认选项”。这不是 Anthropic 的失败,恰恰是它的成功验证:他们证明了这一层已经成熟到可以被标准化。而所有把“runtime”当作核心护城河的创业公司,现在该做的不是优化 sandbox 启动时间,而是立刻回答一个问题:如果明天 AWS 宣布 AgentCore 免费,我的客户会留下吗?我的技术栈里,有什么是跑在 runtime 之上、却不会随 runtime 一起被压缩的?
我见过太多团队在 agent 架构上栽跟头。最典型的是把整个对话历史、工具调用结果、中间状态全塞进 prompt context window。表面看省事,实则埋雷。我们有个金融风控 agent,设计目标是完成一次跨 12 个内部系统的数据核验。第 47 分钟,context 突然从 32K token 崩到 32001,模型开始把“客户 A 的信用评级为 BBB+” hallucinate 成“客户 A 已破产清算”。没有报错,没有日志,只有下游系统收到一封措辞严谨、逻辑自洽、但内容完全错误的邮件。我们花了 11 小时回溯,最终发现是第 3 次 API 调用返回的 JSON 字段名被模型自动“标准化”了——把
credit_score
改成了
score
,而下游解析器只认原字段。这种错误不会触发 exception,只会静默污染数据流。Managed Agents 的 session-as-event-log 模式,本质上就是给每个 agent 装上黑匣子:每一次 tool call 的输入、输出、耗时、返回码、甚至 stderr,都作为结构化事件写入持久化存储。你可以随时 query “show me all tool calls for session_id=abc123 where status=‘error’”,而不是对着 87 行日志 grep “failed”。
所以,这篇文章不教你如何注册 Anthropic 开发者账号,也不罗列 YAML 配置语法。我要带你拆解的是:为什么 session 必须独立于 context?credential 隔离为什么不是“安全最佳实践”而是“生产上线底线”?当 AWS、Google、Microsoft 都已提供功能等效的托管 runtime 时,“选择 Anthropic”背后的真正商业逻辑是什么?以及,最关键的是——如果你正打算启动一个 AI 基础设施项目,钱该投在哪一层,才能避开即将被压至零的 runtime 海平面,稳稳站在下一波价值涌出的潮头之上?
2. 核心架构解剖:三层分离不是炫技,而是对抗熵增的工程刚需
Anthropic 的工程博客里反复强调三个词:Session、Harness、Sandbox。它们不是营销话术,而是对 agent 系统内在复杂性进行强制解耦的手术刀。我带过的每个失败项目,根源都在这三层的边界模糊。下面我用我们团队真实重构的一个案例来说明——这个案例后来成了我们内部培训的必讲课。
2.1 Session:为什么“持久化事件日志”是唯一正确的状态存储方案
我们曾为一家省级医保局开发一个“政策智能匹配 agent”。用户上传一份 PDF 医保报销单,agent 需要:① OCR 识别关键字段;② 调用医保目录 API 查询药品编码;③ 对比患者参保类型(职工/居民/新农合);④ 检索最新版《医保药品目录》PDF 中的报销比例条款;⑤ 生成结构化报销建议。整个流程平均耗时 6.2 分钟,最长可达 18 分钟。
最初版本,我们把所有中间结果——OCR 文本、API 返回的 JSON、PDF 解析后的条款列表——全部拼接进 system prompt,作为 context 传给 Claude。问题在第 5 天爆发:一位医生上传了一份 42 页的住院费用清单,OCR 产出 12,843 字符的文本,加上其他中间数据,context size 直接突破 96K token。模型开始出现两种行为:一是随机截断早期步骤的输出(比如把“药品 A 编码查询成功”覆盖成“药品 A 编码查询”),二是将不同步骤的上下文混淆(把 OCR 识别的“床位费”金额,错误关联到药品 B 的报销比例上)。最致命的是,整个过程没有任何 error log,监控只显示“token usage high”,而业务侧反馈是“结果偶尔不准,但无法复现”。
我们当时的解决方案是升级到 Claude 3.5 Sonnet,把 context window 扩到 200K。这治标不治本。真正的根因在于: context window 是计算资源,不是存储资源 。把它当数据库用,就像用 CPU 寄存器存用户订单——快是快,但容量极小,且一断电就全丢。Anthropic 的 session-as-event-log,本质是引入了第四范式: 事件溯源(Event Sourcing) 。每次 tool call 不再是“执行一个动作”,而是“产生一个不可变事件”。这个事件包含:
-
event_id: UUID -
session_id: 关联会话 -
tool_name:ocr_processor,medicare_api,pdf_parser -
input_hash: 输入内容的 SHA256,用于幂等性校验 -
output: 结构化输出(非原始字符串,而是 parsed JSON) -
duration_ms: 执行耗时 -
status:success/timeout/auth_error/schema_mismatch
提示:我们自己实现的 event store 用的是 TimescaleDB(PostgreSQL 的时序扩展),因为需要高效查询“过去 24 小时内所有 status=‘timeout’ 的 ocr_processor 调用”。纯关系型数据库在千万级事件表上做这类查询会严重拖慢。TimescaleDB 的 hypertable 自动按时间分块,查询性能提升 17 倍。
这种设计带来三个硬性收益:
-
可回放(Replayable)
:给定任意 session_id,可完整重建 agent 的每一步决策链。当业务方质疑“为什么没推荐药品 C”,你不需要猜,直接 query 事件流,定位到
tool_name='medicare_api' AND input_hash='xxx'的那条记录,看它的 output 是否真的没返回药品 C。 - 可审计(Auditable) :所有敏感操作(如调用医保结算 API)都有 timestamp、caller IP、执行耗时,满足等保三级对“操作留痕”的要求。
- 可降级(Degradable) :当某个 tool 临时不可用(如 OCR 服务超时),harness 可以跳过该 step,直接从 event store 读取上一次成功的 OCR 结果(需业务允许缓存),而不是让整个 session 失败。
2.2 Harness:无状态执行器的“冷启动”陷阱与规避策略
Harness 在 Anthropic 架构中定义为“stateless executor that calls containers via execute(name, input) → string”。这句话的潜台词是: Harness 本身不保存任何业务状态,它只是一个调度器 。这听起来很美,但实操中极易踩坑。我们第二个失败项目就栽在这里。
项目是为某车企搭建“4S 店智能工单分配 agent”。需求是:当客服系统创建新工单,agent 根据技师技能标签、当前工单负载、历史响应时长,实时推荐 3 名最优技师。我们按文档写了 harness,逻辑是:接收工单 JSON → 调用
skill_matcher
tool → 调用
load_balancer
tool → 调用
historical_analyzer
tool → 返回推荐列表。
上线后发现一个诡异现象:高峰期(早 9 点)推荐准确率骤降 35%。排查发现,
historical_analyzer
tool 的响应时间从平均 120ms 暴涨到 2.3s。根本原因在于:我们把
historical_analyzer
实现为一个 Python Flask 服务,其内部 cache 使用了
@lru_cache(maxsize=100)
。问题来了——harness 是无状态的,但这个 Flask 服务是有状态的。当流量激增,AWS Auto Scaling 启动了 8 个新实例,每个实例的 cache 都是空的,导致所有请求都穿透到后端数据库,瞬间打垮 DB 连接池。
注意:Anthropic 的 harness 之所以能宣称“stateless”,是因为它强制要求所有 tool 必须是容器化的、无共享状态的服务。你不能在 tool 代码里用
global dict存缓存,也不能依赖本地文件系统。所有状态必须显式地通过 input/output 传递,或由外部系统(如 Redis、S3)提供。
我们最终的修复方案是:将
historical_analyzer
改为 Lambda 函数,所有缓存逻辑移至 Amazon ElastiCache(Redis)。Lambda 本身无状态,ElastiCache 是外部有状态服务,符合 harness 的契约。代价是每次调用增加 8-12ms 的网络延迟,但换来的是线性伸缩能力——流量翻 10 倍,只要 ElastiCache 集群够大,响应时间几乎不变。
2.3 Sandbox:为什么“cattle not pets”是生产环境的生死线
Sandbox 的隔离性常被简化为“安全”,但 Anthropic 强调的“cattle, not pets, provisioned on demand”,直指另一个更致命的问题: 资源争抢导致的非确定性行为 。
我们第三个失败项目是“跨境电商物流路径优化 agent”。它需要调用 5 个不同国家的海关 API,每个 API 对请求频率、header 格式、认证方式都有细微差异。我们最初用 Docker Compose 在一台 EC2 上跑了 5 个容器,每个容器对应一个 API 的 client。测试时一切完美。上线后,客户投诉“路径推荐结果每天都不一样,有时好有时差”。监控显示,所有 API 调用成功率都是 100%,但
response_time_p95
波动极大(200ms 到 3.2s)。
根因是:5 个容器共享同一台 EC2 的 CPU、内存、网络带宽。当德国海关 API 因突发流量占用 90% CPU 时,日本海关 API 的容器只能分到剩余 10%,其内部的 TLS handshake 时间从 15ms 拉长到 120ms。而 agent 的决策逻辑依赖各 API 的响应时长加权——时间不准,权重就错,结果自然漂移。
Anthropic 的 sandbox 设计,本质是把每个 tool call 的执行环境变成一个“一次性虚拟机”。它不追求极致性能(启动时间比 Docker 慢),但保证 资源独占性 和 环境一致性 。AWS AgentCore 的 microVM、Google Vertex 的 gVisor、Azure Foundry 的 Kata Containers,都遵循同一逻辑:每个 sandbox 拥有独立的 CPU quota、内存 limit、网络 namespace。这样,即使某个 tool 因 bug 占满 CPU,也不会影响其他 tool 的执行。
实操心得:不要迷信“启动快就是好”。我们做过对比测试:Docker container 启动平均 120ms,microVM 启动平均 480ms。但在 1000 QPS 压力下,Docker 方案的 p95 响应时间标准差是 1.8s,microVM 是 0.23s。对于需要多步 tool call 的 agent,稳定性远比单次启动快 360ms 重要得多。
3. 实操落地:从 YAML 定义到生产部署的完整链路
光理解架构不够,你得知道怎么把它变成可运行的代码。下面我以我们为某银行做的“信贷风险初筛 agent”为例,展示从 Anthropic Managed Agents 的 YAML 定义,到实际部署、调试、监控的全流程。所有配置和命令均来自我们生产环境的真实截图,已脱敏。
3.1 Agent 定义:YAML 不是配置文件,而是契约声明
Anthropic 允许用 YAML 或自然语言定义 agent。我们坚持用 YAML,因为它是机器可读的契约(contract),而非人类可读的文档。以下是核心片段:
# credit_risk_agent.yaml
name: "credit_risk_screening"
description: "Screen loan applications against regulatory rules and internal risk policies"
system_prompt: |
You are a senior credit analyst at Bank X. Your task is to:
1. Extract applicant's income, debt, employment history from application JSON.
2. Check against PBOC credit database (via credit_check tool).
3. Calculate DTI ratio and compare with policy thresholds.
4. Flag applications requiring manual review.
tools:
- name: "credit_check"
description: "Query PBOC credit database for applicant's credit history"
input_schema:
type: "object"
properties:
id_card_no:
type: "string"
description: "18-digit Chinese ID number"
phone_no:
type: "string"
description: "11-digit mobile number"
required: ["id_card_no", "phone_no"]
sandbox:
image: "bankx/credit-check-sandbox:v2.1"
memory_mb: 1024
cpu_millis: 2000 # 2 vCPUs
- name: "dti_calculator"
description: "Calculate Debt-to-Income ratio from income and debt data"
input_schema:
type: "object"
properties:
monthly_income:
type: "number"
monthly_debt:
type: "number"
required: ["monthly_income", "monthly_debt"]
sandbox:
image: "bankx/dti-calculator-sandbox:v1.0"
memory_mb: 512
cpu_millis: 500
guardrails:
- type: "output_safety"
config:
blocked_phrases: ["PBOC", "credit report", "ID number"]
max_output_tokens: 2048
- type: "tool_call_validation"
config:
allow_list: ["credit_check", "dti_calculator"]
关键细节解析:
-
input_schema不是可选的。我们吃过亏:某次credit_checktool 的 input 缺少phone_no字段,sandbox 内部抛出KeyError,但 Anthropic 的 harness 捕获后只返回 generic error"Tool call failed",没有透出具体字段缺失。强制 schema 定义后,harness 会在调用前校验,直接返回"Missing required field: phone_no",前端可精准提示用户补全。 -
sandbox.memory_mb和cpu_millis是硬性限制。我们曾将credit_check的 memory 设为 256MB,结果在处理高并发请求时,sandbox 内部的 Java 进程因 OOM 被 kill,错误日志只显示"Process exited with code 137"。调高到 1024MB 后,问题消失。 Anthropic 不会为你做资源估算,这是你的责任 。 -
guardrails.output_safety.blocked_phrases是双刃剑。我们最初把"credit score"加入黑名单,结果 agent 在生成报告时,把“您的信用评分为 720 分”自动替换为“您的评分为 720 分”,导致业务方无法识别关键指标。最终改为只 block"PBOC"和"ID number"这类强敏感词,用max_output_tokens控制长度。
3.2 本地开发与沙盒调试:绕过云端,加速迭代
Anthropic 提供
claude-managed-agents-cli
工具,支持本地模拟 harness 和 sandbox。这是缩短开发周期的关键。命令如下:
# 1. 启动本地 harness(模拟 Anthropic 的执行环境)
$ claude-managed-agents-cli harness start --config credit_risk_agent.yaml
# 2. 在另一个终端,向本地 harness 发送测试请求
$ curl -X POST http://localhost:8080/v1/sessions \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "Applicant: Zhang San, ID: 11010119900307281X, Income: 15000, Debt: 5000"}],
"session_id": "test-123"
}'
# 3. 查看 sandbox 日志(无需登录容器)
$ claude-managed-agents-cli sandbox logs --session-id test-123 --tool-name credit_check
这个 CLI 的价值在于:
它把“云端部署-等待构建-查看日志”的循环,压缩为本地 3 秒内的反馈
。我们曾用它快速定位一个棘手 bug:
dti_calculator
sandbox 在处理
monthly_income=0
时,Python 的
decimal.DivisionByZero
异常被吞掉,返回空字符串。CLI 的
logs
命令直接打印出 sandbox 的 stderr,让我们 5 分钟内就修复了。
3.3 生产部署与监控:用事件流替代传统日志
生产环境的监控不能只看 CPU、内存。Agent 的健康度,由事件流的质量决定。我们在 Anthropic 的 event store(通过其
/v1/sessions/{id}/events
API 访问)之上,构建了三层监控:
| 监控层级 | 指标 | 阈值 | 告警方式 | 业务含义 |
|---|---|---|---|---|
| Session 层 |
session_duration_p95 > 300000ms
| 5 分钟 | Slack + PagerDuty | 整体流程卡顿,可能影响 SLA |
| Tool 层 |
tool_call_failure_rate > 5%
for
credit_check
| 5% | Email + Jira ticket | PBOC 接口异常,需立即联系供应商 |
| Event 层 |
event_gap_max > 120000ms
| 2 分钟 | SMS + Phone call | 事件写入延迟,可能丢失数据 |
其中
event_gap_max
是我们自定义的关键指标:计算同一 session 下,相邻两个事件的时间戳差值的最大值。如果超过 2 分钟,意味着某个 tool call 的输出没有成功写入 event store——这比 HTTP 500 更危险,因为业务方完全感知不到失败,只会得到“无响应”的静默错误。
我们用 Grafana 展示这些指标,但最关键的不是图表,而是
点击告警直接跳转到事件详情页
。例如,当
tool_call_failure_rate
告警,Grafana 链接会打开:
https://anthropic-console.example.com/events?filter=session_id:test-123&tool=credit_check&status=error
。运维人员 3 秒内就能看到失败的 input、output、error stack trace,无需 SSH 登录服务器。
4. 竞争格局与价值迁移:为什么 runtime 层注定走向“零价”
Anthropic 的 Managed Agents 发布,被媒体包装成“开创 agent 新时代”,但现实残酷得多:它不是起点,而是终点——是 runtime 层 commoditization 进程中,一个标志性节点。要理解这一点,必须跳出 Anthropic 的视角,去看整个云厂商的布局图谱。我整理了截至 2026 年 4 月的主流托管 agent runtime 对比:
| 特性 | Anthropic Managed Agents | AWS Bedrock AgentCore | Google Vertex AI Agent Builder | Azure AI Foundry |
|---|---|---|---|---|
| GA 时间 | 2026-04-08 (Beta) | 2025-11-15 (GA) | 2026-01-22 (GA) | 2026-02-10 (GA) |
| Sandbox 技术 | Proprietary (undisclosed) | Firecracker microVM | gVisor | Kata Containers |
| 最大 Session 时长 | 24 hours | 8 hours | 12 hours | 6 hours |
| 框架兼容性 | Anthropic-native only | Framework-agnostic (LangGraph, CrewAI, etc.) | Vertex-native + LangChain | Azure-native + Semantic Kernel |
| Credential Isolation | Vault-based, no env vars | IAM Roles, no secrets in env | Workload Identity, no secrets | Azure AD Managed Identity |
| Pricing Model | $0.08/session-hour + tokens | Free tier + $0.05/session-hour | $0.06/session-hour + tokens | $0.07/session-hour + tokens |
| Policy Controls | Basic guardrails | Full IAM policy engine (GA Mar 2026) | Org Policy integration | Azure Policy integration |
这张表揭示了一个事实: 除了 Anthropic,其他三家都已将 runtime 作为云平台的“默认能力”而非独立产品 。AWS 的 AgentCore SDK 下载量超 200 万次,不是因为开发者爱它,而是因为他们在用 Bedrock 时,AgentCore 是开箱即用的。Google 和 Microsoft 的策略更激进:Vertex 和 Foundry 的 agent 功能,深度绑定在其各自的 AI 开发者生态(Vertex AI Workbench、Azure Machine Learning Studio)中,你无法单独购买,它随云账单一起结算。
提示:我们帮客户做技术选型时,会直接问:“你们的云预算采购卡上,哪一家的支出占比最高?” 如果是 AWS,答案几乎是确定的——用 AgentCore。因为它的集成成本为零,而 Anthropic 的 $0.08/session-hour 是额外成本。企业采购逻辑永远是:能用免费的,绝不买付费的;能用已有的,绝不建新的。
那么,runtime 层为何必然归零?历史给出了清晰答案。我复盘了过去二十年基础设施层的 commoditization 路径:
-
2003-2010:虚拟化层
VMware ESX 单主机年费 $15,000 → Xen/KVM 开源 → AWS EC2 按秒计费(2006)→ 2015 年起,虚拟化成为云服务的隐含属性,不再单独计费。 -
2013-2018:容器编排层
CoreOS Tectonic($10,000/cluster/year) → Kubernetes 开源(2014) → GKE/EKS/AKS 免费托管(2017)→ 2020 年起,K8s 成为云平台的“操作系统”,不单独售卖。 -
2021-2025:LLM 推理层
Hugging Face Inference Endpoints($0.0001/token) → vLLM 开源(2023) → Bedrock/GCP Vertex/Triton 推理引擎免费(2024)→ 2025 年起,推理成为模型服务的标配,价格战压至边际成本。
每一层 commoditize 的时间窗口,都在加速缩短 。虚拟化用了 7 年,容器编排用了 5 年,LLM 推理用了 4 年。而 agent runtime,从 AWS 2025 年 11 月 GA 到 Anthropic 2026 年 4 月跟进,仅隔 5 个月。这意味着, 市场共识形成速度极快,价格压力传导极快 。当 AWS、Google、Microsoft 都已提供功能等效、价格相近、且与自身云生态深度绑定的方案时,“选择 Anthropic”唯一的合理理由,只剩下: 你的核心资产是 Claude 模型本身,你必须确保客户在使用 agent 时,无法轻易切换到其他模型 。
这就是 Anthropic 的真实战略:Managed Agents 不是为开发者建的,是为 防止开发者离开 Claude 生态 而建的护城河。它的定价($0.08/session-hour)刻意设定在 AWS($0.05)和 Google($0.06)之间,既不便宜到被碾压,也不贵到被抛弃。这是一种精妙的“锚定效应”——当你看到 AWS 是 $0.05,Google 是 $0.06,Anthropic 的 $0.08 就显得“合理”。
但护城河终将被填平。我们已看到开源压力曲线在加速形成:
- Daytona :2025 年初从 dev environment 工具转向 agent infrastructure,其 sandbox spin-up time <90ms,已接近 Anthropic 宣称的性能。
- Kubernetes SIG Agent-Sandbox :2026 年 3 月发布的官方项目,目标是让任何 K8s 集群都能运行标准 agent sandbox,无需云厂商锁定。
- Deer-flow :ByteDance 开源的 long-horizon agent harness,GitHub Stars 59,000+,其 subagent planning 能力已超越 Anthropic 当前 beta 版本。
历史不会简单重复,但韵律惊人相似。当 VMware 在 2005 年占据高端市场时,没人相信开源 Xen 能在 5 年内拿下 70% 新部署份额。今天,当 Anthropic 在 2026 年推出 Managed Agents 时,同样没人能预测 Daytona 或 K8s SIG 会在何时成为事实标准。但有一点是确定的: runtime 层的价值,正在从“卖软件”转向“卖连接” 。谁控制了 agent 与业务系统的连接点(如 Salesforce 的 Agentforce、ServiceNow 的 Agent Studio),谁就抓住了真正的价值。
5. 未来十年的价值高地:Trace、Governance、Vertical Marketplace
既然 runtime 层注定被压至零,钱该往哪投?答案不在 infrastructure,而在 infrastructure 之上的 observability layer 、 governance layer 和 vertical layer 。这三层,才是未来十年价值涌出的潮头。我用我们团队正在孵化的三个项目,来说明它们的落地形态。
5.1 Trace Store:从日志聚合到法律证据的跃迁
我们正在开发的 Brainstore ,是一个专为 AI agent 交互日志设计的 OLAP 数据库。它不是简单的日志收集器,而是将每个事件视为“法律证据”来建模。核心创新在于:
-
Schema-on-read + Schema-on-write 双模式 :
传统日志系统(如 ELK)要求所有事件必须符合预定义 schema。但 agent 的 tool call schema 是动态的——今天调用credit_check,明天可能新增anti_fraud_scan。Brainstore 允许事件以任意 JSON 写入,同时支持按需定义 schema 视图。例如,创建视图credit_events,自动提取input.id_card_no、output.credit_score、output.risk_level字段,并建立索引。 -
Time-travel Query :
支持SELECT * FROM events AS OF '2026-04-01 12:00:00' WHERE session_id = 'abc123'。当监管机构要求“提供 4 月 1 日所有高风险客户的审核记录”,你不需要从备份恢复,直接查询即可。 -
Cross-runtime Portability :
Brainstore 的 ingest API 兼容 Anthropic、AWS、Vertex、Azure 的 event format。客户从 Anthropic 迁移到 AWS 时,只需改一行配置,所有历史 trace 无缝接入新 runtime。这才是真正的“trace portability”——不是格式转换,而是语义统一。
实操心得:我们放弃 Kafka 作为消息队列,改用 Apache Pulsar。因为 Pulsar 的 topic 分区 + retention policy + tiered storage(冷热分离),完美匹配 agent 事件流的特征:高频写入(热)、低频查询(冷)、长期留存(合规要求 7 年)。Kafka 的分区数固定,扩容麻烦;Pulsar 的 topic 可自动 split,我们线上集群已支撑 2.3B 事件/天,p99 延迟 <15ms。
5.2 Governance & Policy:从技术控制到采购合规
AWS 在 2026 年 3 月 GA 的 AgentCore Policy Controls,标志着 governance 层正式进入企业采购视野。但政策控制不是技术问题,而是 采购流程问题 。我们帮某跨国药企落地的方案,揭示了真实痛点:
药企的采购部门要求:所有 AI agent 必须满足 OWASP Agentic Top 10 的第 3 条(Unauthorized Tool Access)和第 7 条(Insecure Output Handling)。技术团队用 IAM Role 限制了
credit_check
tool 只能访问特定 S3 bucket,但采购部门追问:“谁能证明这个策略在过去 30 天内从未被绕过?”
我们的解决方案是 Policy-as-Code + Audit-as-Proof :
-
用 Open Policy Agent (OPA) 编写策略:
allow { input.tool == "credit_check"; input.input.id_card_no matches "^[0-9]{17}[0-9Xx]$" } -
每次 tool call 前,harness 调用 OPA 的
/v1/data/allowendpoint 进行实时鉴权 -
所有鉴权请求和响应,作为
policy_decision_event写入 Brainstore - 采购仪表盘直接展示:“过去 30 天,共 1,248,932 次 credit_check 调用,100% 通过 OPA 鉴权,0 次 bypass”
这不再是“我们配置了策略”,而是“我们提供了可验证的合规证据”。Governance 层的价值,正在于此:它把技术控制,翻译成 CFO 和 CISO 能看懂的采购语言。
5.3 Vertical Agent Marketplace:从通用能力到行业合同
Salesforce Agentforce 的 $800M ARR,不是靠卖“agent runtime”,而是靠卖 “销售线索转化 agent” 。这是一个质的飞跃:客户买的不是技术,是结果。我们正在与某头部保险科技公司合作的 Healthcare Claims Agent ,正是这一逻辑的体现。
这个 agent 不是通用的“调用 API”,而是深度嵌入保险理赔流程:
- 输入:医院上传的 DICOM 影像 + 电子病历 PDF + 保险单号
-
输出:结构化理赔报告,包含:
-
covered_procedures: [“CT Scan Abdomen”, “MRI Spine”] -
denied_procedures: [“Physical Therapy (exceeds 12 sessions)”] -
compliance_notes: [“Procedure ‘CT Scan Abdomen’ requires prior auth per policy 2026-04-01”]
-
关键在于,它不是交付一个 API,而是交付一份 SLA 合同 :
- “99.5% 的理赔报告在 2 小时内生成”
- “对 covered_procedures 的识别准确率 ≥98.2%(基于季度第三方审计)”
- “每份报告附带可追溯的 audit trail,满足 HIPAA 电子签名要求”
注意:这个 agent 的 backend,可以是 Anthropic Managed Agents,也可以是 AWS AgentCore,甚至是我们自建的 K8s 集群。客户不在乎 runtime,他们在乎的是:当理赔专员说“这个报告不准”,你能 15 分钟内给出从影像上传到结论生成的完整 trace,并指出是哪个环节出了问题。
垂直 marketplace 的赢家,不是 runtime 最快的,而是
行业知识最深的
。我们团队里,有两位前平安人寿理赔总监,他们负责编写
compliance_notes
的生成规则;一位前 GE Healthcare 影像工程师,他定义 DICOM 元数据的提取逻辑。技术是载体,行业认知才是壁垒。
6. 给从业者的行动清单:现在该做什么?
读到这里,你可能在想:道理我都懂,但我的团队下周就要上线第一个 agent,现在该做什么?别慌。我给你一份基于三年实战的、可立即执行的行动清单,按优先级排序:
6.1 立即执行(24 小时内)
-
停用所有 context-based state management
:检查你现有代码,删除所有
messages.append({"role": "assistant", "content": str(state)})这类操作。无论多小的项目,今天就接入一个轻量级 event store(推荐 Supabase Realtime 或 Tinybird,它们比自建 PostgreSQL 快 10 倍,且免费额度够用)。 -
为每个 tool call 添加 input/output schema
:哪怕只是用 JSON Schema 的
type和required字段。这能帮你提前发现 70% 的集成错误。 - 在所有 sandbox 中禁用环境变量注入 :把 credentials 改为通过 vault(如 HashiCorp Vault)的 token 获取,或使用云厂商的 managed identity(AWS IAM Role, Azure AD MI)。
6.2 一周内完成
-
建立 event gap 监控
:用 Prometheus + Grafana,监控
max(time_since_last_event)。阈值设为 120 秒。这是你 agent 系统健康的“心电图”。 -
编写 policy decision log
:哪怕只是写入一个 CSV 文件,记录每次 tool call 的
tool_name,input_hash,opa_decision,timestamp。这是未来应对审计的第一道防线。 - 定义你的 vertical contract :不是“

2146

被折叠的 条评论
为什么被折叠?



