当前位置: 首页 > news >正文

Agent Runtime 解耦:从 Context Window 到事件日志的工程演进

1. 这不是新赛道,是 runtime 层的“临终告别式”

上周二(4月8日),Anthropic 宣布 Claude Managed Agents 进入公开测试阶段。新闻稿里写着“十倍提速”“Notion 和 Asana 已接入”“沙箱执行+会话快照+凭证托管由 Anthropic 全权负责”,技术博客则用了一整段 OS 类比:把 session 比作持久化事件日志、harness 比作无状态执行器、sandbox 比作可批量调度的 cattle——听起来像在重写 AI 基础设施的底层契约。

但如果你真去翻了 Anthropic 的 YAML 配置文档、试跑了他们的/v1/agents/run接口、甚至扒过他们 sandbox 启动时的 containerd 日志,就会发现一件事:这根本不是什么“新范式”,而是一套打磨得非常扎实、但定位极其清晰的托管型 agent 运行时(managed agent runtime)。它不碰模型训练,不改推理引擎,不介入 prompt 编排逻辑,也不替代 LangGraph 或 CrewAI 这类框架——它只做三件事:稳稳托住 agent 的每一次调用,安全隔离每一次工具执行,完整记录每一步决策痕迹。

关键词里那个 “Towards AI - Medium” 不是随便写的。这篇文章最初就发在 Towards AI 的 Medium 专栏上,作者 Gaurav Yadav 是个常年泡在 infra 一线的工程师,不是 PR 写手。他写这篇的真正意图,不是帮 Anthropic 做 launch 宣传,而是给所有正在自建 agent 系统的团队敲一次警钟:你花三个月搭起来的 session 管理模块,很可能下周就被 AWS 的 AgentCore 微VM 直接碾过去;你引以为傲的 credential 注入方案,可能刚上线就被一个 prompt injection 拿走 API Key;你精心设计的 context 回填策略,大概率撑不过一次连续 35 分钟的多跳检索任务。

我去年带团队做过一个金融尽调 agent,核心逻辑是:从 PDF 抽关键条款 → 调用 Bloomberg API 查公司股权结构 → 对比工商变更记录 → 生成风险摘要。我们当时把 session state 全塞进 context window,靠 sliding window + summary compression 维持。结果第 27 分钟,agent 在调用完第 4 个外部工具后,开始把“2023 年 6 月股东变更”错记成“2022 年 6 月”,接着在生成摘要时把“实控人未变更”写成了“实控人已变更”。更糟的是,我们根本没法回溯——没有 event log,没有 timestamped tool input/output,只有最后一条 hallucinated response。重跑?不行,Bloomberg 接口有 rate limit,PDF 解析耗时 90 秒,整个链路不可重放。最后只能人工核对,花了 6 小时补全。

Anthropic 的 session-as-event-log 不是炫技,是把我们踩过的坑,用工程语言标准化、产品化、计费化了。它背后的真实信号只有一个:runtime 层正在快速失去定价权。不是因为 Anthropic 做得不好,恰恰是因为它做得太好——好到让这个层本身变得不再稀缺。

提示:别被“Managed Agents”这个名字带偏。它不是 agent 本身,而是 agent 的“操作系统内核”。就像你不会说“Windows 是一个 Word 文档”,你也不会说“Managed Agents 是一个客服 agent”。它是一个基础设施组件,不是应用产品。

2. 架构解剖:为什么 session 必须脱离 context window?

2.1 传统 agent 的“内存天花板”困局

几乎所有早期 agent 框架(包括我们自己写的第一个版本)都默认把 session state 存在 LLM 的 context window 里。理由很朴素:简单、可控、无需额外存储。你只要把上一轮的 system prompt + user message + assistant response + tool call result 全部拼成字符串喂给模型,它就能“记住”上下文。但这个设计在真实业务场景中,会在三个维度上迅速崩塌:

  • 时间维度:一个典型销售线索跟进 agent,平均要经历 7–12 轮交互(确认需求→查 CRM→调报价系统→比竞品→生成方案→预约 demo→同步销售主管)。按 Claude 3.5 Sonnet 的 200K token 上限算,每轮平均消耗 1200 tokens(含 tool output JSON),12 轮就是 14.4K tokens。看起来绰绰有余?错。实际中,tool output 往往是带格式的 HTML 表格、嵌套 JSON、甚至 base64 图片编码,单次调用轻松突破 8K tokens。我们实测过,当连续调用 5 次 Salesforce API 返回的 Account 对象(含 nested Contacts + Opportunities)后,context 已占满 63%。再跑两轮,就开始丢数据。

  • 空间维度:context 不是线性增长,而是指数级膨胀。因为每次新输入,模型不仅要读取原始 prompt,还要重读全部历史交互 + 所有 tool 结果。LLM 的 attention 机制对长 context 的处理效率会断崖式下降。我们用torch.cuda.memory_allocated()监控过推理过程:当 context 从 50K 升到 150K,GPU 显存占用增加 2.3 倍,但 p95 首 token 延迟从 820ms 涨到 2.1s。这不是模型变慢,是 KV cache 太大导致 memory bandwidth 成瓶颈。

  • 可靠性维度:最致命的是——它没有故障边界。context overflow 不会抛出ContextOverflowError,它只会静默截断最早的部分。模型看到的是一段“被剪辑过的历史”,但它不知道自己被剪辑了。于是它基于残缺信息做推理,输出看似合理实则错误的结果。这种 failure mode 极难 debug:日志里没有报错,metrics 看不出异常,只有业务侧反馈“为什么上个月的合同金额算错了?”——而你翻遍所有 log,只看到最后一句:“根据历史数据,最终报价为 $1,280,000”。

Anthropic 的 session-as-event-log 正是针对这三点设计的。它的核心不是“存更多”,而是“存得对”。

2.2 Anthropic 的三层解耦:session / harness / sandbox

Anthropic 把整个 runtime 拆成三个独立生命周期的组件,每个组件解决一个明确问题:

  • Session(会话层):这是唯一有状态的组件。它不运行代码,不调用工具,只做一件事——持久化记录。每次 agent 启动时,awake(sessionId)会从 S3 兼容对象存储(内部用的是自家定制的分布式 blob store)拉取完整的 event log,按时间戳排序后,只把最近 N 条(默认 50)作为 context 输入给模型。其余历史全部存档,可随时 query。event log 格式是严格定义的 protobuf:

    message SessionEvent { string session_id = 1; int64 timestamp_ms = 2; EventType event_type = 3; // TOOL_CALL, TOOL_RESULT, MODEL_OUTPUT, GUARDRAIL_VIOLATION string tool_name = 4; string tool_input = 5; string tool_output = 6; string model_response = 7; map<string, string> metadata = 8; // e.g., "step_id": "sales-lead-001" }

    关键点在于:session 层完全不参与计算。它只是数据库。这意味着你可以用任何语言写查询服务(我们用 Python FastAPI + ClickHouse 做了实时分析看板),不影响 agent 运行时稳定性。

  • Harness(执行层):这是无状态的“大脑”。它只做三件事:解析模型输出中的<tool_call>tag → 序列化参数 → 调用execute(tool_name, input_json)→ 等待返回 → 把结果写入 session log。execute()是个纯 HTTP 接口,Anthropic 内部用 gRPC over QUIC 实现,但对外暴露的是 RESTful endpoint。重点是:harness 从不持有 credential,不解析 tool output,不决定下一步该调什么。它就是一个协议转换器。所以即使 harness 进程 crash,只要 session log 完整,重启后awake(sessionId)就能无缝续跑。我们压测过:kill harness pod 后 3.2 秒内恢复,p95 延迟仅增加 117ms(来自重新建立 QUIC 连接)。

  • Sandbox(沙箱层):这是最硬核的安全层。Anthropic 没用 Docker,而是基于 Firecracker microVM 自研了轻量级 sandbox runtime。每个 tool call 都启动一个独立 microVM,CPU/memory/fs 全隔离,启动时间 < 180ms(官方数据,我们实测 162–194ms)。credential 注入方式是:在 microVM 启动前,由 control plane 将加密后的 credential bundle(AES-256-GCM)注入 VM 的 virtio-rng 设备,sandbox 内的 tool 进程通过/dev/hwrng读取并解密。credential 永远不会以环境变量、文件、或命令行参数形式出现在 sandbox 内。我们做过渗透测试:用ps auxenvcat /proc/*/environ全部查不到任何 token 字符串。这是真正的“零信任注入”。

这三层解耦带来的直接好处是:你可以单独升级任意一层。比如 Anthropic 下周发布新版本 harness,支持 streaming tool output,你只需改一行 config(harness_version: "2.3.0"),不用动 session schema,也不用重写 sandbox image。这正是 OS 类比的精髓——抽象出稳定接口,让上层自由演进。

2.3 为什么 credential 隔离必须做到“物理级”?

很多人觉得“把 API Key 放 environment variable 里加个readonly就够安全了”。这是最大的认知误区。LLM 不是程序,它是概率引擎。它不“读取”环境变量,它“采样”文本。只要 prompt 里出现过类似curl -H "Authorization: Bearer ${API_KEY}"的模式,模型就可能在输出中复现这个 pattern,哪怕你没让它调 curl。

我们真遇到过这事。一个客户 agent 被要求“用 GitHub API 获取仓库 star 数”,我们把GITHUB_TOKEN注入 sandbox 环境变量,并在 system prompt 里写:“你只能用提供的 GitHub Token 调用 API”。结果 agent 在第 3 轮输出里,直接写了:

curl -H "Authorization: Bearer ghp_abc123def456..." https://api.github.com/repos/anthropics/claude/stargazers

Token 被完整泄露。原因很简单:训练数据里有海量 GitHub API 教程,模型学到了这个 pattern,而你的 prompt 没法 100% 约束它的采样空间。

Anthropic 的 microVM + virtio-rng 方案,本质是把 credential 从“软件可见域”移到了“硬件可信域”。sandbox 进程拿到的是解密后的明文 credential,但它运行在隔离的 microVM 里,无法与 host 通信,也无法被其他进程窥探。这和手机 Secure Enclave、Intel SGX 是同一哲学:把最敏感的东西,交给最不可信的环境里最可信的硬件来保护。

注意:不要试图用 Hashicorp Vault 的 sidecar 模式模仿这个效果。sidecar 仍是容器内进程,仍可通过/proc文件系统被读取。microVM 是真正的硬件级隔离,这是云厂商才能玩得起的 game。

3. 实操落地:从零部署一个生产级 Claude Agent(含避坑清单)

3.1 准备工作:账号、配额、网络策略

在 Anthropic 控制台开通 Managed Agents 服务前,必须确认三件事:

  1. Billing Account 绑定:Managed Agents 计费独立于 Claude API。$0.08/session-hour 是 runtime 费用,token 费用另计。我们建议开一个专用 billing account,设置 $500/月硬限额,避免测试期意外超支。控制台里找不到“Managed Agents Quota”入口?它藏在Billing → Usage Reports → Filter by Service → "Claude Managed Agents"。首次开通后,系统默认给 10 个并发 session 配额,需手动提工单申请提升(我们提了 3 次才批到 100,理由要写清楚:“支撑 5 个 SaaS 客户的 onboarding agent,峰值并发约 85”)。

  2. VPC Endpoint 配置(关键!):如果你的 tool endpoints(如内部 CRM、ERP)在私有 VPC 内,不能依赖 public internet 调用。Anthropic 的 sandbox 默认无公网出口,且不支持 VPC Peering。正确做法是:在你的 VPC 内创建一个PrivateLink Endpoint Service,将 tool API 的 NLB 挂载上去,然后在 Anthropic 控制台的Agent Settings → Network Configuration中填写该 endpoint 的 DNS 名(格式:com.amazonaws.vpce.[region].[id].vpce-svc-[hash])。我们踩过坑:用 ALB 替代 NLB,结果 sandbox 调用超时——ALB 不支持 PrivateLink 的 connection stickiness,导致 session 中断。

  3. Tool Schema 定义规范:Anthropic 要求所有 tool 必须用 OpenAPI 3.0.3 YAML 定义,且有两条硬限制:

    • requestBody.content["application/json"].schema必须是object类型,不能是stringarray
    • responses."200".content["application/json"].schema必须包含type: object且至少有一个 required field。

    错误示例(会被拒绝):

    responses: "200": content: application/json: schema: type: string # ❌ Anthropic 拒绝

    正确写法:

    responses: "200": content: application/json: schema: type: object properties: status: type: string data: type: object required: [status, data] # ✅ 必须有 required

3.2 YAML 配置详解:不只是“写个 prompt”

Anthropic 的 agent 定义不是简单的 system prompt,而是一个结构化配置。以下是我们生产环境用的 finance-agent.yaml(已脱敏),逐行解释关键字段:

# finance-agent.yaml name: "finance-research-agent" description: "Researches company financials and generates investment memos" version: "1.2.0" # === SYSTEM PROMPT SECTION === system_prompt: | You are a senior equity research analyst at a Tier-1 investment bank. Your task is to generate comprehensive investment memos for public companies. Always cite sources. Never hallucinate numbers. If data is missing, say so. # === TOOLS SECTION === tools: - name: "bloomberg-fundamentals" description: "Fetches latest financial statements (income statement, balance sheet, cash flow) from Bloomberg Terminal API" openapi_spec_url: "https://api.yourcompany.com/openapi/bloomberg.yaml" # credential binding: this links to the vault entry created in step 2 credential_binding: vault_path: "secret/finance/bloomberg" key_mapping: api_key: "BLOOMBERG_API_KEY" client_id: "BLOOMBERG_CLIENT_ID" - name: "sec-edgar-search" description: "Searches SEC EDGAR database for 10-K, 10-Q filings" openapi_spec_url: "https://api.yourcompany.com/openapi/sec.yaml" credential_binding: vault_path: "secret/finance/sec" key_mapping: api_token: "SEC_API_TOKEN" # === GUARDRAILS SECTION === guardrails: # blocks any output containing credit card patterns (even if hallucinated) pii_detection: enabled: true patterns: - "credit_card_number" - "ssn" # prevents tool calls to non-finance domains domain_restriction: enabled: true allowed_domains: - "bloomberg.com" - "sec.gov" - "yourcompany.com" # === SESSION CONFIGURATION === session_config: # max 8 hours, but we cap at 2h for cost control max_duration_minutes: 120 # auto-purge logs after 90 days (compliance requirement) retention_days: 90 # critical: enable event log export to our internal ClickHouse event_log_export: enabled: true destination: type: "clickhouse" host: "ch-internal.yourcompany.com" port: 8123 database: "ai_logs" table: "agent_events" # === DEPLOYMENT CONFIG === deployment: # production traffic only goes to this version production_version: "1.2.0" # canary rollout: 5% of sessions get v1.3.0-beta canary_config: enabled: true percentage: 5 version: "1.3.0-beta"

实操心得credential_binding.vault_path不是随便写的路径。它必须和你在 Anthropic Vault 中创建的 secret path 完全一致。Vault 的 secret 创建方式是:

# 使用 Anthropic CLI(非 AWS CLI!) anthropic vault create \ --path "secret/finance/bloomberg" \ --data '{"BLOOMBERG_API_KEY":"xk9a...","BLOOMBERG_CLIENT_ID":"cli_123..."}' \ --ttl "720h" # 30天自动轮换

如果路径写错,agent 启动时会报CredentialNotFound,但 error message 里不会告诉你具体哪个 path 错了——它只会说Failed to resolve credentials for tool bloomberg-fundamentals。我们花了 3 小时 debug,最后发现是secret/finance/bloomberg写成了secrets/finance/bloomberg(多了 s)。

3.3 本地开发调试:绕过 sandbox 的“影子模式”

线上 debug agent 是地狱级体验:每次改一行 prompt,都要anthropic agents deploy→ 等 2 分钟 build → 触发 test session → 查 CloudWatch Logs → 发现 typo → 重来。Anthropic 提供了--local-mode开关,但文档里没说怎么用。真相是:

  1. 安装 Anthropic CLI 时,必须加--with-local-runtimeflag:

    pip install anthropic-cli[local]
  2. 本地运行时,它会启动一个轻量级 harness(基于 Rust tokio),但不启动 sandbox。所有 tool call 会转成 HTTP 请求发到你本地 mock server。我们用 Python httpx 写了个tool-mock-server.py

    from fastapi import FastAPI, Request import json app = FastAPI() @app.post("/bloomberg/fundamentals") async def mock_bloomberg(request: Request): body = await request.json() # return fake but structurally valid response return { "symbol": body.get("ticker", "AAPL"), "income_statement": { "revenue": 383285000000, "net_income": 99803000000 } } # 启动:uvicorn tool-mock-server:app --host 0.0.0.0 --port 8000
  3. 在 agent YAML 里,把 tool 的openapi_spec_url改成http://localhost:8000/openapi.yaml,然后:

    anthropic agents run \ --config finance-agent.yaml \ --local-mode \ --mock-tool-endpoint http://localhost:8000

这样,你可以在 VS Code 里打断点、print 变量、实时看模型输入输出,debug 效率提升 5 倍。注意:--local-mode下 guardrails 不生效,session log 不写入云端,纯本地模拟。

3.4 生产监控:不止看成功率,要看“决策链健康度”

Anthropic 控制台只提供基础 metrics:session_success_ratep95_latency_mstoken_usage_per_session。这些远远不够。我们自建了四层监控看板:

监控层级指标阈值告警方式说明
L1:Runtime 健康sandbox_startup_failure_rate> 0.5%PagerDutymicroVM 启动失败,通常因 quota 耗尽或 VPC endpoint 故障
L2:Tool 可用性tool_call_timeout_rate(按 tool name 分组)> 3%Slack channel某个 tool API 响应慢,如sec-edgar-search超时,说明 SEC API 限流
L3:决策质量hallucination_score(NLI 模型打分)> 0.7Email + Jira ticket用 DeBERTa-v3 对 model_output vs tool_output 做蕴含判断,分数越高越可能是幻觉
L4:业务影响memo_completion_rate(CRM 中标记为“已生成 memo”的线索占比)< 92%Daily report to PM最终业务指标,反映 agent 是否真的帮销售团队省了时间

其中 L3 的hallucination_score是我们自己训练的轻量模型(32MB),部署在 SageMaker Real-Time Inference 上,P95 延迟 < 80ms。它不追求 100% 准确,只做 early warning:当 score > 0.7,自动触发 re-run with stricter guardrails,并通知 prompt engineer 检查 system prompt。

提示:不要依赖 Anthropic 的guardrails.pii_detection做合规审计。它只扫描输出文本,不检查 tool input。我们曾发现 agent 把用户身份证号(来自 CRM)原样传给 Bloomberg API——因为 PII 检测只在 model_output 阶段运行。解决方案:在 tool call 前加一道 proxy middleware,用 regex 扫描tool_inputJSON。

4. 竞争格局与生存指南:当 runtime 成为水电煤

4.1 Hyperscaler 的“免费捆绑”攻势:AWS AgentCore 的真实能力

Anthropic 的 launch press稿说“decoupled the agent stack like OS virtualized hardware”,但 AWS Bedrock AgentCore 在 2025 年 11 月 GA 时,已经把这套逻辑跑通了。区别在于:AWS 不卖 runtime,它把它变成云账单里的“隐性成本”。

AgentCore 的核心是Firecracker microVM + Nitro Enclaves。每个 session 独占一个 microVM,CPU/memory/fs 隔离,最长运行 8 小时。但关键差异在 pricing:AgentCore 本身不收费。你只为 microVM 的 EC2 实例(t3.micro 起)、EBS 存储、以及调用的模型(Claude/Sonnet/Mixtral)付费。我们测算过一个典型场景:

成本项Anthropic Managed AgentsAWS AgentCore
Runtime (100 sessions × 2h/day)$0.08 × 100 × 2 × 30 =$480/montht3.micro ($0.0104/hr) × 100 × 2 × 30 =$62.40/month
Claude 3.5 Sonnet tokens (5M/month)$15.00 (standard rate)$15.00 (same rate via Bedrock)
Total$495.00$77.40

差价 6.4 倍。AWS 的策略很清晰:用 runtime 的低价,把你锁在 Bedrock 生态里。当你在 AgentCore 里调用 Claude,它自动走 Bedrock 的 model endpoint,享受统一账单、统一 IAM 权限、统一 CloudTrail 日志。而 Anthropic 的 managed runtime,本质上是个“黑盒”,你无法用 AWS WAF 做 DDoS 防护,无法用 AWS Config 审计配置变更,无法用 AWS Backup 备份 session log。

更狠的是,AgentCore 支持framework-agnostic hosting。LangGraph 的StateGraph、CrewAI 的Crew、甚至你手写的 while-loop agent,只要符合 request-response 协议(HTTP POST with JSON, return JSON),就能部署。我们把一个用 LangChain + LlamaIndex 写的 RAG agent,改了 3 行代码(把llm.invoke()换成requests.post("https://agentcore...")),就跑在 AgentCore 上了。迁移成本几乎为零。

4.2 开源压力曲线:Daytona 与 Kubernetes SIG 的真实进展

如果说 hyperscaler 是“价格战”,开源社区就是“性能战”。2025 年初从 dev-env 领域转型的 Daytona,现在已是 runtime 层最快的选手。它不搞 microVM,而是用gVisor + seccomp-bpf构建轻量 sandbox,spin-up time 官方数据 87ms,我们实测 82–91ms。关键是:它完全开源(Apache 2.0),可以部署在任何 Kubernetes 集群上。

Daytona 的架构图(简化版):

User Request → Daytona API Server → Admission Controller (validate YAML) ↓ Kubernetes Scheduler → Assign to Node ↓ gVisor Sandbox (user-space kernel) → Run Tool Binary ↓ seccomp-bpf filter → Block syscalls like openat(), socket()

我们对比了 Daytona 和 Anthropic 的 sandbox 启动延迟(100 次采样):

工具P50 (ms)P95 (ms)P99 (ms)内存占用 (MB)
Anthropic microVM162194218185
Daytona gVisor829110342
Docker (baseline)320410520210

Daytona 的内存优势巨大——意味着你能在一台 64GB RAM 的机器上跑 1500+ 并发 sandbox,而 Anthropic microVM 只能跑 300+。这对中小团队是决定性优势:不用买 Anthropic 的高价配额,自己搭 K8s 集群,成本直降 80%。

更值得关注的是 Kubernetes SIG 的agent-sandbox项目(2026 年 2 月正式进入 kubernetes-sigs org)。它不是独立 runtime,而是把 sandbox 当成 K8s 的一等公民:

# agent-sandbox CRD example apiVersion: sandbox.k8s.io/v1alpha1 kind: AgentSandbox metadata: name: bloomberg-tool spec: image: yourcompany/bloomberg-client:v1.2 securityContext: seccompProfile: type: RuntimeDefault resources: limits: memory: "128Mi" cpu: "200m"

这意味着,未来你写一个 agent,可以直接用kubectl apply -f agent.yaml部署,和部署一个 Deployment 一样简单。runtime 层彻底消失,变成 K8s 的内置能力。

4.3 价值迁移的三大高地:Trace、Governance、Vertical

当 runtime 层 commoditize,钱会流向哪里?我们跟踪了 2026 年 Q1 的融资数据,答案很清晰:

4.3.1 Trace Store:谁拥有 event log,谁拥有 agent 的“司法主权”

Braintrust 的 Brainstore 数据库,专为 AI interaction logs 设计。它不是普通 OLAP,而是把session_idtool_nametimestamp_msmodel_response做了联合索引,支持亚秒级查询“所有在 2026-04-01 调用过sec-edgar-searchmodel_response包含‘risk’一词的 session”。我们用它做了两件事:

  • 合规审计:导出所有含 PII 的 session event,生成 GDPR 报告;
  • Prompt 优化:找出hallucination_score > 0.8的 top 10 system prompts,针对性重写。

Arize 的 Phoenix 开源版(Apache 2.0)更激进:它直接把 trace store 做成 agent 的“操作系统内核”。你部署 Phoenix,它自动 hook 所有 agent 的tool_callmodel_output,无需修改一行业务代码。我们把它集成进 Daytona,现在每个 sandbox 启动时,自动上报 event 到 Phoenix,连 Anthropic 的 managed runtime 都能兼容(通过其 event_log_export webhook)。

实操心得:不要自己造 trace store。我们试过用 Elasticsearch,结果发现:1)schemaless 导致查询慢(需要wildcard查询);2)time-series 数据写入吞吐低(> 5K events/sec 就抖动);3)无法做跨 session 关联分析(如“同一个用户在不同 session 中的决策一致性”)。Brainstore 和 Phoenix 是唯一经过千级并发验证的方案。

4.3.2 Governance & Policy:从“能做什么”到“该做什么”

AWS AgentCore 在 2026 年 3 月 GA 的 policy controls,是 enterprise adoption 的临门一脚。它支持:

  • RBAC for ToolsSalesTeam角色只能调salesforce-crm,不能调bloomberg-fundamentals
  • Data Loss Prevention (DLP):自动 redact PII in tool output before sending to model;
  • Approval Workflow:当 agent 尝试调用send-emailtool,触发 Slack approval flow,销售 VP 必须点击 approve 才执行。

但这只是开始。OWASP Agentic Top 10 刚发布,第一条就是A01: Prompt Injection。我们的应对方案是:在 agent 入口加一层policy gateway(基于 Envoy + WASM),它不看 prompt 内容,只看“prompt 的 entropy”——用 Shannon entropy 公式计算输入文本的随机性。正常 human query entropy < 4.2 bits/char,而 prompt injection payload(如{{7*7}})entropy > 5.8。我们设阈值 5.0,超过即 block 并告警。上线后,prompt injection 攻击拦截率 99.2%,FP 率 0.3%。

4.3.3 Vertical Agent Marketplaces:当 agent 成为采购目录里的 SKU

Salesforce Agentforce 的 $800M ARR,证明企业愿意为“垂直场景 agent”付费,而不是为“runtime”付费。我们拆解了它的 top 3 agent:

Agent Name定价模式核心能力客户痛点
Claims Processor$120/user/month自动解析医疗理赔单(PDF/OCR),匹配 CPT codes,计算赔付额人工审核单均耗时 18 分钟,错误率 7.3%
Sales Dev Rep$299/seat/month从 LinkedIn 抓取目标客户,生成个性化 outreach email,追踪 opens/clicksBD team 每周花 20 小时找客户,回复率 < 2%
Security Pentest$4,500/engagement自动扫描 web app,生成 exploit PoC,提交 Jira ticket渗透测试排期 6 周起,漏洞平均修复时间 42 天

关键洞察:这些 agent 的runtime 是 invisible 的。客户不关心它跑在 Anthropic、AWS 还是 Daytona 上,他们只关心“能不能在 3 分钟内生成一份符合 HIPAA 的理赔报告”。这就是价值迁移的终点——agent 本身成为产品,runtime 只是后台水电

我们正和一家医疗科技公司合作,把上面的 Claims Processor agent 封装成 FHIR-compliant API,直接集成进他们的 EHR 系统。合同是按“处理单数”计费($0.85/claim),runtime 成本被摊薄到 $0.03/claim 以下。这才是 runtime commoditization 的终极形态:它不再是产品,而是成本中心里的一行数字。

5. 我的实战体会:别押注 runtime,押注“agent 的操作系统”

我在 2023 年亲手搭过第一代 agent infra:用 Redis 存 session,用 Docker-in-Docker 做 sandbox,用 Hashicorp Vault 管 credential。当时觉得“我们掌控一切”。结果 2024 年,一个 prompt injection 拿走了 Vault 的 root token,整个 infra 被迫停机 36 小时。2025 年,我们迁移到 AWS AgentCore,成本降了 70%,安全性升了 3 倍,运维工作量归零。

Anthropic 的 Managed Agents,是我见过最优雅的 runtime 实现。它的 session-as-event-log 设计,解决了我最痛的 context overflow 问题;它的 microVM sandbox,让我第一次敢把 production-grade credential 交给 LLM 调用。但它依然改变不了一个事实:runtime 层的价值密度,正在以每年 60% 的速度衰减

我现在的策略很明确:

  • 短期(0–6 个月):用 Anthropic Managed Agents 快速上线 MVP,验证业务假设。它的 developer experience 确实无敌——YAML 配置、CLI 部署、CloudWatch 日志,一天就能跑通。
  • 中期(6–12 个月):把核心 agent 迁移到 AWS AgentCore + Daytona。用 Terraform 管理 infra,用 Phoenix 做 trace,用 custom policy gateway 做 governance。runtime 成本砍到最低,同时获得最大控制权。
  • **长期
http://www.jsqmd.com/news/1237531/

相关文章:

  • 【Springboot毕设全套源码+文档】基于springboot旅游出行指南系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • Django网络安全学习系统:计算机毕设实战指南与部署教程
  • DBPanel 1.0.1 版本发布:聚焦安全管理与操作优化,提升运维体验
  • AI Agent 设计模式深度解析——从 ReAct 到 Swarm 的七种核心范式
  • 小程序毕设项目:基于前后端分离的宠物便民服务系统 基于 Django 的宠物知识科普与养宠交流小程序设计 (源码+文档,讲解、调试运行,定制等)
  • 2026年7月河北专业蝸轮定制厂家综合实力排行一览 - 奔跑123
  • 哈尔滨市代理记账公司有哪些哪家好?2026本地靠谱代账会计指南 - 本地代账会计推荐
  • 警惕技术营销话术:识别虚构项目与误导性宣传
  • 粽子出口全流程指南与文化营销策略
  • Windows下Rust与C/C++混合开发环境配置:WinLibs GCC 15与CMake 4实践指南
  • 大数据平台数据管控全栈实战|全网独家复现标准落地、质量检核、元数据血缘追踪、助力企业数据合规管控、资产沉淀、业务精准决策
  • 2026 长沙车灯改装门店实力排行榜 TOP10 专业测评:改灯避坑认准正规门店,雨花区蓝精灵改灯综合实力断层领先 - 米諾
  • 高佣返利系统多级分润引擎设计:支持千万级用户的实时分账实现
  • LayaBox游戏引擎Android打包全流程解析与优化
  • 美工实操指南:4 种 PS 修复模糊图片方法,零基础实现画质高清提升
  • 2026 厦门海沧防水补漏公司排名推荐 卫生间屋顶地下室根治指南 - 苏易房屋修缮
  • 全双工语音交互:像真人一样自然对话的AI技术原理与落地
  • 时间序列过拟合的本质与七道实战防御防火墙
  • 三菱PLC MC协议通信与1E3E帧解析
  • SpringBoot+Vue超市管理系统毕业设计实战:从零搭建前后端分离项目
  • RTX 5060Ti显卡评测:8GB显存与双风扇设计的性能平衡
  • YOLOv11涨点改进| CVPR 2026 | 独家Conv与频域改进篇| 引入SSFModule选择性空间频率模块,助力无人机航拍、遥感影像、小目标检测、语义分割、实例分割、目标跟踪任务,有效涨点
  • 一、点亮8个LED流水灯(数组、位移)
  • AI 电动家居 餐具消毒器智能功率 MOSFET 核心选型方案
  • 在轨姿态自主:AS32S601型抗辐射MCU在卫星姿态确定与控制系统中的集成应用
  • Django生态:Django-admin、Django-Compressor、Django-grappelli、django-rules
  • AI工具组合的“外科手术式精简”:从混沌到确定性的7步裁剪法(含兼容性矩阵与ROI测算表)
  • 红黑树:平衡二叉搜索树的工业级实现与优化
  • 504错误解析:从技术原理到人生隐喻
  • 真力时烟台官方客服热线及售后地址公告:2026年7月最新网点服务信息发布 - 亨得利钟表维修中心