企业级 Agent 平台参考架构 ​

本文的任务不是罗列平台组件,而是给出企业级 Agent 的架构升级路径。 本文综合第一性原理、可验证的生产故障模式与主流 Agent Platform(智能体平台)的公开实现进行推导,不把任何一家云厂商的能力清单直接当作参考架构。

本篇讨论的不是“应该选哪个 Agent 框架”,而是:当企业已经出现多个 Agent(智能体)产品以后,哪些能力值得沉淀成共享平台,哪些能力必须留在业务域,以及平台应该怎样逐步演进、怎样避免过度建设、怎样证明自己真的创造了价值。

全文沿着两次跨越展开:第一次从单点实验跨到生产可用,解决身份、权限、状态、执行、验证和可观测等基本保证;第二次从“能够上线”跨到优秀的企业级架构,让多个业务在稳定契约上复用能力,同时保持领域自治、故障隔离、成本可控和可替换性。第二次跨越不是再加一层“大平台”,而是把本系列前置专题分析过的 Agent Loop、Context、Knowledge、Memory / Skill、Runtime、Execution、Multi-Agent 与 Integration,通过清晰的 Owner(责任主体)、契约和故障语义组合起来。

单点实验
证明任务有业务价值

生产可用
建立身份、策略、状态、执行、验证与追踪保证

企业级优秀架构
稳定契约共享、领域语义自治、规模治理与可逆演进

两次跨越的能力要求不同,不能用“组件是否齐全”验收:

跨越 最低保证 仅在条件出现后增加 退出证据
单点实验 → 生产可用 统一 Run 与版本;身份、策略和授权链;可审计执行;业务验证;Trace 与成本归因 长等待出现后增加持久运行时;运行代码、浏览器或生产写操作后增加隔离执行环境 代表性高风险 Run 能通过权限、副作用、恢复、验证、审计和回滚测试,并满足 SLO(服务等级目标)
生产可用 → 企业级优秀架构 跨业务稳定契约、明确的领域自治、共享能力 Owner、故障隔离、发布门禁和单位成功成本治理 经验复用成立后增加记忆 / 技能;协作净收益成立后增加 Multi-Agent;故障影响和驻留条件成立后增加多区域 多个独立业务能够在不修改平台 Core(共享核心)的前提下接入和升级;共享能力故障可隔离;关键版本可归因、回滚;供应商退出演练通过;平台投入能由业务与工程指标解释

这里的“最低保证”是进入下一状态前不可缺少的条件;“条件能力”不是更高成熟度,而是特定压力出现后的响应。

事实边界:文中的产品能力以 2026-09-13 可核验的公开材料为准;跨产品抽象和建设建议属于工程判断,二者不等同。

本篇默认读者已经知道 Agent(智能体)会通过模型、工具和外部系统完成任务,但不要求读者提前掌握 Harness、Runtime、Sandbox、Memory 等平台术语。核心概念在第一次出现时解释它是什么、为什么存在、负责什么,以及与相邻概念有什么区别。

一、为什么企业最终会需要智能体平台 ​

1.1 平台解决的不是“更多智能体”,而是重复问题 ​

企业最开始做 Agent,通常不会先建设平台。

更常见的路径是:

text
团队 A
→ 做一个 Data Agent

团队 B
→ 做一个 Coding Agent

团队 C
→ 做一个 Ops Agent

早期这样做是合理的,因为:

  • 每个团队都在验证业务价值;
  • Agent 的产品形态还没有稳定;
  • 很多所谓“通用能力”其实还没有经过真实生产验证。

真正的问题通常出现在第二阶段。

不同团队开始重复建设:

text
Run ID(运行实例标识)
Trace(执行追踪)
Tool Contract(工具契约)
Permission(权限检查)
Approval(审批)
Retry(重试)
Recovery(状态恢复)
Sandbox(沙箱)
Browser(浏览器执行)
Cost Accounting(成本统计)
Evaluation(评测)

此时企业面对的已经不是“怎么做一个 Agent”,而是:

怎样避免十个 Agent 团队重复建设十套基础设施,同时又不把所有业务强行塞进一个超级框架。

这才是 Agent Platform(智能体平台)真正出现的原因。

1.2 平台应该从问题里长出来 ​

企业平台比较健康的演进路线是:

text
1~2 个高价值 Agent
→ 先证明业务价值

真实事故和重复建设出现
→ 找出稳定共性

稳定共性形成 Contract(契约)
→ 多团队共同复用

复用规模继续扩大
→ 形成 Shared Capability(共享能力)

共享能力需要统一版本、治理和运维
→ Platform(平台)

所以平台建设应该遵循:

text
Problem(真实问题)
→ Repeated Pattern(重复模式)
→ Stable Contract(稳定契约)
→ Shared Capability(共享能力)
→ Platform(平台化)

而不是:

text
先看行业架构图
→ 把所有 Feature(功能)一次性建出来

这里的 Stable Contract(稳定契约) 指的是跨业务长期不容易变化的系统接口和语义,例如:

  • Run 如何被唯一标识;
  • Tool 怎样声明输入、输出和副作用;
  • 高风险动作怎样经过权限和审批;
  • Trace 怎样串起一次完整执行;
  • Verification 怎样判断一次任务是否真的完成。

这些东西一旦跨多个业务重复,就适合平台化。

1.3 什么情况下反而不应该建“大平台” ​

如果企业当前仍然满足:

  • Agent 数量很少;
  • 业务还在找真正有价值的场景;
  • 不同 Agent 差异非常大;
  • 还没有明显重复建设;
  • 风险和治理要求不高;
  • Cloud / Open Source Software(云服务 / OSS,开源软件)已经可以满足需求;

那么更合理的方案通常是:

text
Thin Shared Software Development Kit(轻量共享 SDK,软件开发工具包)
+
Existing Cloud / OSS(现有云服务 / 开源能力)
+
Strong Domain Ownership(强业务域自治)

而不是中央大平台。

例如,只有两个简单 Agent 时,没有必要提前建设:

  • Organization-wide Memory(全组织统一记忆);
  • Agent Marketplace(智能体市场);
  • Protocol Federation(协议联邦);
  • Global Dynamic Router(全局动态路由器);
  • 自研 Workflow Engine(工作流引擎);
  • 自研 Browser Cloud(浏览器云)。

判断标准不是“以后会不会用到”,而是:

现在是否已经出现真实 Failure(失败)、Scale(规模)、Risk(风险)、Reuse(复用)或 Governance(治理)问题。

1.4 平台不会消灭复杂度,只会重新分配复杂度 ​

平台化的本质不是让复杂度消失,而是把原本散落在各业务团队里的复杂度,集中到更适合统一治理的位置。

平台能力 原来解决的问题 新复杂度转移到哪里
Shared Harness(共享执行外壳) 多个 Agent 重复实现 Loop、Policy、Trace Core 边界、版本、发布治理
Context Platform(上下文平台) 每个 Agent 自己拼 Context Metadata、Authority、Snapshot、Policy
Durable Runtime(持久运行时) 长任务失败后无法恢复 State、Checkpoint、Migration、Capacity
Execution Fabric(执行基础设施) 每个 Agent 自己建 Sandbox / Browser Fleet、Identity、Network、Cost
Memory / Skill Platform(记忆 / 技能平台) 经验无法复用 Freshness、Poisoning、Release、Delete
Multi-Agent Platform(多智能体平台) 委托和并行重复建设 Coordination、State、Merge、Budget
Integration Gateway(集成网关) 点对点适配过多 Registry、Identity and Access Management(IAM,身份与访问管理)、Compatibility、Federation

所以 CTO(首席技术官)或 Principal Architect(首席架构师)不能只问:

“平台以后可以少写多少代码?”

还必须问:

“复杂度集中到平台以后,平台团队真的有能力长期治理这些复杂度吗?”


二、企业智能体平台到底是什么 ​

本章只给 Architecture Map(架构地图)和行业证据。 先回答平台负责什么、业务域负责什么,以及主流平台为什么支持这些边界;具体机制为什么这样协作统一放到第三章。

2.1 平台的责任边界和运行主线是什么 ​

一个完整平台包含三条主路径和一条横切保障路径 ​

企业 Agent Platform 最容易被误解成“一套 Agent Framework(智能体开发框架)”。

平台不是按产品菜单分层,而是按变更速度、在线依赖和故障语义划分责任:

text
Control Plane(控制面)
→ 发布规则、策略和版本,决定系统应该怎样运行

Data Plane(数据面)
→ 承载 Run 的在线决策、上下文与观察结果流转

Execution Plane(执行面)
→ 持久化运行状态,并把动作安全作用到真实环境

Assurance Plane(生产保障面)
→ 横切前三者,证明系统是否安全、稳定、可观测、可评测

这些 Plane(责任面)是逻辑分工,不意味着一定部署成四个服务。拆分的价值在于明确谁拥有规则、谁承载在线流量、谁对副作用负责,以及依赖失效时应该阻断还是降级。

责任面 主要 Owner 核心输入与输出 对其他责任面的依赖 失效时的默认语义
Control Plane(控制面) 平台控制面团队 输入策略、配置和版本;输出签名发布包与策略快照 发布时依赖注册表、评测和审批;不应成为每个 Token 或工具调用的同步单点 已发布快照可缓存继续使用;高风险策略无有效快照时拒绝
Data Plane(数据面) Agent 平台运行团队 输入用户请求和已发布配置;输出动作提议与观察结果 依赖模型、上下文、知识和能力目录 按任务风险选择降级模型或终止,不得绕过权限继续
Execution Plane / Runtime 子责任域 运行时负责人(唯一 A) 输入 Run 计划;输出 Checkpoint、调度、等待状态和 Operation 引用 依赖持久状态、队列和 Operation Service 状态写入失败时暂停推进;恢复时只按 Operation 引用查询权威结果
Execution Plane / Execution 子责任域 执行与操作服务负责人(唯一 A) 输入已授权动作;输出权威 Operation Ledger、原始结果和产物 依赖沙箱、短期凭证与外部系统 状态不确定时进入对账,不得把超时直接当失败重试
Assurance Plane(生产保障面) 平台质量治理负责人,协调安全、可靠性和质量团队 输入 Trace、审计和评测样本;输出门禁、告警与治理结论 观察前三个责任面,但关键授权与发布门禁会反向约束它们 追踪导出可缓冲;授权、审计或发布门禁按风险失败即拒绝

Control Plane(控制面) ​

负责管理:

  • Agent Definition(智能体定义):一个 Agent 有哪些能力、配置和依赖;
  • Agent Version(智能体版本):每次发布到底改变了什么;
  • Capability Registry(能力注册表):有哪些 Tool、Skill、Remote Agent 可以被发现;
  • Knowledge Registry(知识注册表):有哪些 Knowledge Source、谁负责,以及权威性、新鲜度、Access Control List(ACL,访问控制列表)和 Region 怎样治理;
  • Policy(策略):哪些动作在什么条件下允许;
  • Routing(路由):选择哪个模型、Tool 或执行环境;
  • Quota(配额):每个团队、租户、模型或执行资源能用多少;
  • Rollout(灰度发布):新版本如何逐步放量。

控制面回答的是:

“系统应该按照什么规则运行?”

Data Plane(数据面) ​

负责真正处理:

  • Model Call(模型调用);
  • Context Assembly(上下文组装);
  • Knowledge Retrieval(知识检索):从 Indexed / Remote / Structured / Live Source 获取证据;
  • Tool Call(工具调用);
  • Remote Agent(远程智能体)。

它回答的是:

“这一轮真实发生了什么?”

Execution Plane(执行面) ​

执行面内部包含两个不能混为同一 Owner 的子责任域。

Runtime 子责任域负责 Run 的 Checkpoint、调度、等待、唤醒和恢复,并在 Run State 中保存 Operation ID 引用。它不拥有外部动作的最终结果,也不能自行把一次超时改写成失败。

Execution / Operation Service 子责任域负责校验授权票据、调用真实环境,并维护权威 Operation Ledger(操作账本)。账本记录动作参数摘要、幂等键、执行身份、授权票据、外部业务键和最终结果,是判断副作用是否发生的唯一依据。

因此执行面共同提供:

  • Run State(运行状态)与 Checkpoint(检查点);
  • Operation Ledger(操作账本)引用与未知结果对账;
  • Workspace(工作空间)、Sandbox(沙箱)和 Browser(浏览器执行);
  • 短期执行凭证与网络边界;
  • Raw Result(原始结果)和 Artifact(产物)的持久化。

它回答的是:

“动作是否真的发生、发生到哪一步,故障后如何安全继续?”

Assurance Plane(生产保障面) ​

负责:

  • Security(安全);
  • Reliability(可靠性);
  • Observability(可观测性);
  • Evaluation(评测);
  • Cost(成本);
  • Governance(治理)。

它回答的是:

“系统运行得是否可信、稳定、可证明?”

这一区分非常重要,因为不同责任面的失败语义不同。

例如:

text
Trace Export 暂时失败
→ 通常允许降级,不应该直接阻塞业务

Authorization 无法判断
→ 高风险场景通常应该 Fail-closed(失败即拒绝)

Durable State Store 不可用
→ 不能继续声称长任务仍然可以安全恢复

平台与业务域如何分工 ​

企业 Agent Platform 最重要的组织边界,可以压缩成一句话:

Platform owns Guarantees;Domain owns Meaning。
平台负责系统保证,业务域负责业务含义。

这里的 Guarantee(系统保证)包括:

  • 状态不会无故丢失;
  • 高风险动作一定经过权限;
  • Trace 可以关联完整链路;
  • 版本可以回滚;
  • Sandbox 有隔离;
  • 失败可以恢复;
  • Artifact 有来源;
  • Knowledge Evidence 可以追到 Source、版本、权限和有效时间。

Meaning(业务含义)包括:

  • 什么叫 GMV;
  • 哪个指标属于销售域;
  • 哪个代码修改算正确;
  • 某个运维动作在业务上是否允许;
  • 什么结果才算真正完成。

为什么要这样分?

如果平台团队开始负责:

text
所有业务 Prompt(提示词)
所有指标定义
所有业务 Workflow(工作流)
所有 Domain Skill(领域技能)

它会变成业务瓶颈。

反过来,如果每个 Domain Team(业务域团队)都自己建设:

text
Runtime(运行时)
Identity(身份体系)
Trace(执行追踪)
Sandbox(沙箱)
Policy Engine(策略引擎)

企业又会重新回到重复建设。

所以真正稳定的边界是:

text
跨业务稳定的不变量
→ Platform

高变化业务语义
→ Domain

共享 Harness 应该统一什么 ​

Harness(执行外壳)可以理解为:

把模型的不确定决策放进可控制、可验证的工程边界。

Shared Harness Core(共享执行外壳核心)适合统一:

  • Run / Turn 语义;
  • Tool / Capability Contract;
  • Context Interface;
  • Policy Hook(策略钩子);
  • Verification Hook(验证钩子);
  • Trace Event;
  • Budget / Cancellation(预算 / 取消)。

但不应该把所有东西都塞进 Core。

例如:

  • Planning(规划);
  • Subagent(子智能体);
  • Compaction(上下文压缩);
  • Knowledge Retrieval / Rerank(知识检索 / 重排);
  • Skill(技能);
  • Approval(审批);

更适合做成 Replaceable Standard Capability(可替换标准能力)。

而:

  • Data Semantic Layer(数据语义层);
  • Repo Intelligence(代码仓库理解);
  • Research Citation(研究引用);
  • Ops Runbook(运维手册);

应该继续属于 Domain Layer(业务域层)。

前置专题的关键能力如何协作 ​

可以把《Agent Loop 与 Harness 架构》《Agent 上下文工程》《Agent 知识检索与治理架构》《Agent 记忆、技能与持续学习》《Agent Runtime 与持久执行》《Agent 安全执行与结果验证》《Multi-Agent 与工作流编排》《Agent 跨系统交互与集成治理》讨论的能力理解成下面的协作关系:

text
Harness(执行外壳)
→ 控制 Agent 怎样工作

Context(上下文)
→ 决定模型这一轮看什么

Knowledge(知识)
→ 提供有来源、权限、版本和时效的候选证据

Runtime(运行时)
→ 保证 Run 跨时间和故障继续活着

Execution(执行层)
→ 把 Action 真正作用到现实世界

Memory / Skill(记忆 / 技能)
→ 把高价值经验带到未来 Run

Multi-Agent / Workflow(多智能体 / 工作流)
→ 处理多个决策主体和显式流程

Protocol / Integration(协议 / 集成)
→ 让独立系统稳定互操作

它们不是互相孤立的产品模块。

把这些能力组合起来时,不应让模块彼此读取内部表,而应通过少量稳定对象协作:

稳定契约 契约 Owner 实例生产者 主要消费者 必须保持的语义
Run Contract(运行契约) 平台契约团队 Harness 创建,Runtime 更新状态 Trace、成本、评测、恢复 同一个 Run 的身份、版本和租户不可漂移
Knowledge Evidence(知识候选证据) 知识平台与领域数据 Owner Knowledge Source / Retrieval Context Engine 记录来源、权威性、权限、版本和有效时间;候选证据不等于本轮已可见内容
Context Snapshot(上下文快照) 上下文平台团队 Context Engine 组装 Model、Verification、审计 记录本轮实际可见内容、裁剪策略和引用的 Knowledge Evidence
Action Proposal(动作提议) Harness 契约团队 Agent Loop Policy Service、Execution 提议不是授权,也不是执行成功
Authorization Ticket(授权票据) 安全与策略团队 Policy Service Execution / Operation Service 绑定主体、动作、资源、范围、策略版本、有效期和 Operation ID,不可跨操作复用
Operation Ledger(操作账本) 执行与操作服务团队 Execution / Operation Service Runtime、恢复、对账、审计 区分计划、执行中、成功、失败和结果未知;Runtime 只保存引用
Evidence Record(执行证据记录) 执行与操作服务团队 Execution Verification、审计 记录原始结果来源、完整性、执行身份和 Operation ID
Artifact Manifest(产物清单) 产物平台团队 Execution 或领域产物服务 业务域、Verification、数据治理 记录产物位置、摘要、权限、数据等级、保留与删除策略
Trace Event(追踪事件) 可观测平台团队 各责任面 Observability、Eval、事故响应 统一关联键和版本,但允许各域扩展事件内容

平台共享的是这些契约及其保证;业务域仍然拥有指标口径、成功条件、领域工具和具体工作流。这样底层 Provider 或 Framework 可以替换,而业务含义不会随之迁移。

例如一次 Coding Agent:

text
用户任务
→ Harness 创建 Run
→ Context 选择相关代码
→ 模型提出修改 Action
→ Execution 在 Sandbox 修改文件
→ Runtime 保存 Checkpoint
→ 测试失败后继续
→ Verification 检查测试
→ Trace 记录全过程
→ 成功经验可能进入 Skill Candidate

只有把这些责任拼起来,才是真正的平台。


一次 Run 怎样穿过整个平台 ​

前面讲了平台有哪些层,但真正理解平台,还要看一次 Run(运行实例)怎样从用户请求一路走到最终验证。

以一个 Data Agent(数据智能体)为例,用户问:

“帮我分析华东区上个月 GMV 为什么下降。”

完整链路可以拆成:

text
1. User Request(用户请求)
→ 明确用户目标、身份和租户

2. Create Run(创建运行实例)
→ 生成唯一 Run ID,绑定 Agent Version

3. Identity / Policy(身份 / 策略)
→ 确定这个用户和 Agent 能访问哪些数据与能力

4. Context Assembly(上下文组装)
→ 读取指标定义、Schema、历史澄清和当前状态

5. Model Routing(模型路由)
→ 根据任务复杂度、成本和数据约束选择模型

6. Model Decision(模型决策)
→ 生成下一步 Action Proposal(动作提议)

7. Capability Check(能力检查)
→ 判断 SQL、Python、Browser 等能力是否当前可用

8. Operation Ledger Entry(操作账本条目)
→ Runtime 请求 Operation Service 预留 Operation ID,并在 Run State 中保存引用

9. Authorization(授权)
→ 对真实动作重新检查权限和风险,签发绑定 Operation ID 的授权票据

10. Execution(执行)
→ 在数据库、Sandbox、Browser 或 API 中真正执行

11. Raw Result / Artifact(原始结果 / 产物)
→ 保存完整结果和可追踪产物

12. Observation(观察)
→ 把原始结果转换成模型可以消费的结构化反馈

13. State Update(状态更新)
→ 更新当前 Run 做到哪一步

14. Next Turn(下一轮)
→ 新 Observation 重新进入 Context

15. Verification(验证)
→ 判断业务目标是否真的完成

16. Verified Result(已验证结果)
→ 返回最终结果

17. Trace / Eval / Cost(追踪 / 评测 / 成本)
→ 记录行为链路、质量和资源消耗

18. Memory / Skill Candidate(记忆 / 技能候选)
→ 只有高价值、可复用经验才进入学习候选

这里最重要的不是记住 18 个步骤,而是理解:

每一层都在解决一种不同的不确定性。

例如:

  • Context 解决“模型到底看到了什么”;
  • Policy 解决“这个动作能不能做”;
  • Runtime 解决“任务失败后还能不能继续”;
  • Execution 解决“动作在哪里真实发生”;
  • Verification 解决“结果到底是不是真的完成”。

因此,成熟平台不是把这些能力堆在一起,而是让它们沿着同一条 Run 主线协作。

哪些步骤可以降级,哪些必须阻断 ​

并不是所有平台组件故障都应该让 Run 失败。

例如:

text
Trace Export 失败
→ 可以先缓存,业务继续

Cost Aggregation 延迟
→ 可以异步补算

High-risk Authorization 无法判断
→ 必须阻断

Durable State 写入失败
→ 长任务不能继续声称可恢复

Artifact Persistence 失败
→ 如果 Artifact 是最终证据,不能直接返回成功

这就是 Failure Semantics(故障语义):

平台不仅要知道“哪个服务挂了”,还要知道“这个故障是否允许业务继续”。


2.2 行业实现怎样验证并修正这套参考架构 ​

这一节固定按四步阅读:

text
① 先看 AWS / Microsoft / Google / OpenAI 的真实实现
② 再抽取四家共同收敛的系统责任
③ 再保留它们真正没有统一答案的架构分歧
④ 最后回到企业参考架构,说明哪些判断被验证、修正或否定

这样竞品研究不是产品功能罗列,而是架构证据链。

主流平台怎样验证这套参考架构 ​

如果一套 Reference Architecture(参考架构)只来自内部推理,很容易把团队自己的经验误当成行业规律。

所以企业参考架构还需要第二条证据链:

text
第一性原理
+
真实生产 Failure(失败)
+
主流平台实现

本篇重点选择四条当前最有代表性的企业平台路线:

text
AWS Bedrock AgentCore
Microsoft Foundry Agent Service
Google Vertex AI Agent Engine / Agent Platform
OpenAI Agents API / Agents SDK

选择它们不是因为“品牌最大”,而是因为四者恰好代表了四种不同的平台化方式:

text
AWS
→ Composable Infrastructure(可组合基础设施)

Microsoft
→ Managed Agent Platform(托管智能体平台)

Google
→ Managed Runtime + Context / Memory / Eval

OpenAI
→ Managed Harness + Agent Environment

真正要研究的不是谁 Feature(功能)最多,而是:

每个平台把复杂度放在哪里,哪些能力被平台统一,哪些能力仍然留给业务和 Framework。

AWS:把智能体基础设施拆成可组合资源 ​

Amazon Bedrock AgentCore 当前把平台能力拆成多个可以独立使用、也可以组合使用的资源:

  • Runtime(运行时):托管 Agent / Tool 的安全、弹性运行环境;
  • Memory(记忆):管理短期和长期记忆;
  • Gateway(网关):把 API、Lambda、MCP Server 等统一暴露给 Agent;
  • Identity(身份):让 Agent 代表用户或自身访问 AWS 和第三方资源;
  • Policy(策略):控制 Agent 能执行哪些动作;
  • Browser(浏览器):提供隔离的浏览器运行环境;
  • Code Interpreter(代码解释器):提供安全代码执行环境;
  • Observability(可观测性):追踪 Agent 执行路径;
  • Evaluations(评测):做生产和离线质量评估;
  • Registry(注册表):统一发现 Agent、Tool、Skill 等资源。[^aws-agentcore]

它的设计哲学很清楚:

不要强制企业使用某一个 Agent Framework,而是把运行、身份、工具连接、执行、安全、观测等基础设施资源化。

AgentCore Runtime 官方明确支持不同 Framework、模型和协议,包括 MCP(模型上下文协议)与 A2A(智能体到智能体协议);Gateway 则把 MCP / HTTP / Inference Target 统一到一个安全入口。[^aws-runtime][^aws-gateway]

这条路线验证了我们参考架构中的一个核心判断:

text
Framework(开发框架)
≠
Platform(生产平台)

Framework 主要帮助开发者组织 Agent 逻辑;Platform 则负责跨业务稳定、长期存在的系统保证。

企业真正值得平台化的通常包括:

  • Runtime(运行时):让 Run 跨等待、故障和重启仍能继续;
  • Identity(身份):明确用户、Agent、Workload 到底是谁;
  • Policy(策略):决定当前身份对当前资源能做什么;
  • Execution(执行):把模型提出的动作安全落到真实环境;
  • Gateway(网关):统一路由、凭证、限流、版本和调用治理;
  • Observability(可观测性):解释一次 Run 发生了什么、为什么失败;
  • Evaluation(评测):验证版本在任务分布上的整体质量。

这些能力之所以适合平台化,是因为它们跨 Domain 重复出现,而且一旦每个团队各自实现,就会产生安全、可靠性和治理不一致。

但它也把复杂度转移到了:

  • IAM(身份与访问管理);
  • Resource Configuration(资源配置);
  • VPC / Network(网络);
  • 多个 AgentCore Resource 的生命周期和成本治理。

所以 AWS 路线的代价是:

模块化程度越高,企业越需要一个清晰的 Control Plane 把这些资源重新组织成自己的平台语义。

Microsoft:把框架与托管平台分离 ​

Microsoft Foundry Agent Service 当前把平台能力组织成:

  • Agent Runtime(智能体运行时);
  • Toolboxes(工具箱);
  • Models(模型);
  • Observability(可观测性);
  • Optimization(优化);
  • Identity & Security(身份与安全);
  • Publishing(发布)。[^ms-foundry]

尤其值得研究的是 Hosted Agent(托管智能体)。

企业可以把不同 Framework(开发框架)或自有 Agent 代码部署到 Foundry,例如 Microsoft Agent Framework、LangGraph、OpenAI Agents SDK、Anthropic Agent SDK。

这说明 Hosted Agent 的核心不是“统一 Framework”,而是把不同实现放进统一托管边界。平台负责:

  • Scaling(弹性伸缩):流量变化时自动调整运行实例;
  • Session State(会话状态):让长交互不依赖某一台临时容器;
  • Identity(身份):给 Agent 一个可被企业 IAM 治理的身份;
  • Managed Endpoint(托管端点):把容器稳定暴露成可调用服务;
  • Observability(可观测性):统一 Trace、日志和运行指标。

因此“自带 Framework”并不意味着“自带全部生产基础设施”。[^ms-hosted]

它还把 Toolbox(工具箱)设计成独立、可版本化的 Server-side Tool Bundle(服务端工具集合),可以通过统一 MCP Endpoint 被不同 Agent / Framework 使用。[^ms-toolbox]

这条路线进一步验证:

平台应该统一 Tool / Identity / Runtime / Publishing 等稳定语义,但不必统一 Agent Framework。

Microsoft 甚至明确把“Hosting Model(托管方式)”与“Protocol(协议)”分开:同一个 Agent 可以选择 Foundry 托管或 Self-host,同时又可以通过 Responses、A2A、AG-UI(智能体与用户界面交互协议)、MCP 等不同协议暴露。[^ms-hosting]

这给企业一个很重要的启发:

text
Hosting
≠
Protocol
≠
Agent Logic

三者应该可以独立演进。

Google:托管运行、会话、记忆与评测 ​

Google Vertex AI Agent Engine / Agent Platform 的路线,更强调把几类生产责任拆成独立托管能力:

  • Agent Runtime(智能体运行时):承载 Agent 的持续运行和生命周期;
  • Sessions(会话):保存用户与 Agent 的交互连续性;
  • Memory Bank(记忆库):保存跨 Session 可复用的长期信息;
  • Code Execution(代码执行):提供受控的代码运行环境;
  • Observability(可观测性):追踪 Run、调用和错误;
  • Evaluation(评测):验证 Agent 版本在任务集上的整体质量。

这种拆分的设计意义是:会话、长期记忆、执行环境和评测拥有不同生命周期,因此不应该被一个笼统的“Agent State”全部吞掉。

Sessions(会话)和 Memory Bank(记忆库)已经被拆成独立托管资源;Memory Bank 可以独立于 Runtime 使用,也可以和 ADK / Agent Engine Runtime 结合。[^google-memory]

这说明 Google 在架构上明确区分:

text
Session
≠
Long-term Memory

这与《Agent 上下文工程》和《Agent 记忆、技能与持续学习》定义的数据边界一致。

Google 还提供独立 Code Execution(代码执行)Sandbox;在 ADK 场景中,一个 Sandbox 可以跨同一任务多次调用持续保留文件和变量状态。[^google-code]

在生产层,Agent Engine 还提供:

  • Cloud Monitoring;
  • Trace;
  • Evaluation;
  • User Simulator(用户模拟器);
  • Runtime / Session / Memory 等资源。[^google-monitor][^google-eval]

这条路线验证了:

Context / Session / Knowledge / Memory、Runtime、Execution 和 Eval 并不是一个对象,也不应该被一个“Agent State”全部吞掉。

Google 的复杂度主要被放进 Cloud-native Resource Model(云原生资源模型):

  • Google Cloud Project / IAM(项目 / 身份权限):Tenant、身份和资源边界主要复用 Google Cloud;
  • Managed Runtime(托管运行时):Agent 生命周期和弹性运行由云平台承担;
  • Agent Engine Resource(智能体资源):Agent 本身成为可部署、可治理的云资源;
  • Session / Memory Resource(会话 / 记忆资源):不同生命周期的数据被拆成独立服务;
  • Cloud-native Operations(云原生运维):Monitoring、Trace、Quota、区域和故障治理复用既有云基础设施。

因此它更适合已经在 Google Cloud 体系里的企业,但参考架构不应该把这种 Cloud Resource Model 当成唯一标准。

OpenAI:把 Harness(执行外壳)产品化 ​

OpenAI 的路线与前三家又不完全一样。

Agents SDK 本身强调少量稳定 Primitive(原语),每个原语解决不同边界:

  • Agent(智能体):封装指令、模型和可用能力;
  • Tool(工具):让模型把决策作用到外部系统;
  • Guardrail(护栏):在输入、输出或工具调用阶段增加确定性约束;
  • Handoff(移交):把任务交给另一个 Agent,而不是把所有能力塞进一个主体;
  • Session(会话):保存多轮交互连续性;
  • Tracing(追踪):记录模型、工具、移交等执行事件;
  • Human-in-the-loop(人在回路):高风险或需要业务判断的步骤由人确认。[^openai-sdk]

而 2026 年 9 月发布的 Agents API,则进一步把 Codex 使用的 Harness(执行外壳)作为托管基础设施提供:

  • 长 Session;
  • Context Compaction(上下文压缩);
  • Tool 使用;
  • Subagent(子智能体);
  • OpenAI Sandbox;
  • 自有或合作方 Sandbox。[^openai-api]

OpenAI 官方明确表达:

Harness 会随着模型一起持续优化,并提供版本化访问。

这意味着 OpenAI 走的是一条很有代表性的路线:

text
Model
+
Managed Harness
+
Optional Managed Environment

它验证了《Agent Loop 与 Harness 架构》的一个重要判断:

Harness 不是几段 Glue Code(胶水代码),而可以成为独立、可版本化、可持续演进的平台能力。

同时 Agents SDK 的 RunState(运行状态快照)支持序列化和恢复中断 Run;Tracing 默认记录 Model、Tool、Handoff、Guardrail 等 Agent-native Event(智能体原生事件)。[^openai-runstate][^openai-tracing]

但它和完整 Enterprise Platform 仍然不是同一个概念。

企业仍需要自己掌握一组厂商无法替代的业务治理语义:

  • Domain Identity(领域身份):企业内部用户、组织、业务主体到底是谁;
  • Business Policy(业务策略):哪些动作在什么业务条件下允许;
  • Data Residency(数据驻留):哪些数据必须在哪个区域处理和存储;
  • Business Verification(业务验证):什么才算真正完成,而不是模型自报完成;
  • Cost Allocation(成本归属):一次 Run 的模型、Tool、Sandbox 成本应该算给哪个团队 / 租户;
  • Organization-level Governance(组织级治理):版本、审批、审计、发布和责任归属。

所以:

Managed Harness 可以显著降低 Agent 工程复杂度,但不能替代企业自己的业务治理层。

四条路线放在一起看什么 ​

如果把四家放在同一个机制坐标系里:

维度 AWS AgentCore Microsoft Foundry Google Agent Platform OpenAI Agents
Framework 策略 任意 Framework 任意 / Hosted Framework ADK + 其他 Framework Agents SDK / API,也可自有环境
Harness(执行外壳) 主要留给 Framework Prompt Agent 平台化;Hosted Agent 可自带 ADK / Framework 强平台化
Runtime(运行时) 独立 AgentCore Runtime Managed Agent Runtime Managed Agent Runtime Agents API / SDK Runtime 语义
Session / State(会话 / 状态) Runtime / Framework Managed Session State Sessions 独立资源 Sessions / RunState
Long-term Memory(长期记忆) 独立 Memory 服务 Managed Memory / Context Memory Bank 独立资源 Session / Sandbox Memory 等
Tool / Gateway(工具 / 网关) Gateway 独立资源 Toolbox + MCP Tool / API Registry 体系 Hosted / Local / MCP Tool
Execution(执行) Browser / Code Interpreter Hosted Agent Container / Tools Code Execution Sandbox / Local / Partner
Identity(身份) 独立 Identity 服务 Entra / RBAC / Agent Identity IAM / Service Account 主要由企业侧集成
Policy(策略) 独立 Policy 服务 RBAC / Safety / Network IAM / Cloud Policy Guardrail + 企业外部 Policy
Observability(可观测性) AgentCore Observability Application Insights / Trace Cloud Trace / Monitoring Built-in Tracing
Evaluation(评测) AgentCore Evaluations Foundry Evaluation Vertex Evaluation OpenAI Eval 体系
Version / Release(版本 / 发布) 资源版本 + 云资源发布 Agent Version + Endpoint Routing Agent Engine / Cloud Release Harness Version + Agent / App Release
Multi-tenant / Isolation(多租户 / 隔离) Session Isolation + IAM / VPC Entra Identity + State Isolation / VNet Project / IAM / Agent Resource Sandbox / Session 隔离,企业治理需外接
Cost / Quota(成本 / 配额) 独立资源按量计费 Azure 资源与模型配额体系 Runtime / Session / Memory / Code Execution 独立计费 Model / Tool / Sandbox 成本需企业统一归集
Protocol(协议) MCP / A2A MCP / A2A / Responses / AG-UI A2A / MCP 生态 MCP / Responses 等
平台取向 资源化、可组合 托管平台、框架解耦 Cloud-native 托管能力 Harness-first(执行外壳优先)

这张表最重要的不是“谁更完整”,而是能看出三类稳定规律。

四家共同收敛出了什么 ​

虽然产品形态完全不同,但四家已经明显共同收敛到一些能力。

第一,共同把 Runtime(运行时)从业务代码中抽出来。

AWS、Microsoft、Google 都明确提供 Managed Runtime;OpenAI 则通过 Agents API / SDK 把 Agent Run 和 Harness Runtime 上移。

这验证:

长任务、Session、Tool、恢复和生命周期不应该永远留在业务 while loop 里。

第二,共同把真实执行环境独立出来。

AWS 有 Browser / Code Interpreter;Google 有 Code Execution;Microsoft Hosted Agent 使用 Managed Container 和 Hosted Tool;OpenAI 支持 Hosted / External Sandbox。

这验证:

Agent Decision(智能体决策)和 Execution Environment(执行环境)应该分层。

第三,共同强化 Tool / Capability(工具 / 能力)的平台治理。

AWS 用 Gateway,Microsoft 用 Toolbox,Google 有 Tool / API Registry 路线,OpenAI 有 Hosted Tool / MCP / Tool Search。

这验证:

Tool 不再只是一个 Python Function,而是需要 Discovery(发现)、Identity(身份)、Version(版本)、Policy(策略)和 Observability(观测)的企业资源。

第四,共同把 Observability / Evaluation(可观测性 / 评测)上升为平台能力。

四家都不再把 Log(日志)当成足够的生产治理能力。

平台开始直接理解 Agent-native(智能体原生)的运行对象:

  • Session(会话):一次持续交互的上下文边界;
  • Trace(追踪):一次 Run 内部的完整执行链;
  • Tool(工具):外部能力调用;
  • Agent(智能体):谁在做决策;
  • Evaluation(评测):版本在任务集上的质量结果;
  • Usage(用量):Token、Tool、Sandbox 等资源消耗;
  • Latency(时延):模型、工具和端到端耗时。

这验证:

Assurance Plane(生产保障面)应该与 Agent Runtime 一起设计,而不是上线后再补日志。

行业实现已经进一步说明:Observability(可观测性)和 Evaluation(评测)不是两套互不相关的系统,而应该共享同一套 Agent-native Telemetry(智能体原生遥测)。

OpenAI Agents SDK

OpenAI 当前默认 Trace 层级已经覆盖:

text
Trace
└─ Task / Agent / Turn Span
   ├─ Generation Span
   ├─ Function Tool Span
   ├─ Guardrail Span
   └─ Handoff Span

这类 Span 不只是记录“耗时多少”,而是在保存 Agent 的决策结构:哪一轮模型生成、调用了哪个 Tool、发生了哪个 Handoff、哪个 Guardrail 触发。[^openai-platform-tracing]

AWS AgentCore

AgentCore Observability 输出 OpenTelemetry(开放遥测)兼容的 Trace / Span / Metric / Log,并把这些 Trace 直接交给 Evaluation 系统。AgentCore Evaluations 可以基于完整 Session / Trace / Span 做 Online、On-demand、Batch 评测,也可以单独评估 Tool Selection / Tool Use。[^aws-platform-observability][^aws-platform-evaluation]

这带来一个重要平台原则:

text
Production Trace
→ Failure Mining
→ Eval Dataset
→ Regression Evaluation
→ Release Gate
→ New Production Trace

最有价值的 Eval 数据集不是凭空编出来的 Benchmark,而应该不断吸收真实生产 Trace 中的失败、长尾和高风险样本。

因此平台应该把 Trace ID、Session ID、Agent / Model / Prompt / Tool / Skill / Context / Runtime / Environment Version 和 Eval Result 连起来,而不是把“监控”和“评测”建成两个数据孤岛。

第五,共同避免把 Framework(框架)直接等同于 Platform(平台)。

尤其 AWS、Microsoft 和 Google,都明确允许不同 Framework 或自定义 Agent。

这验证:

企业最应该平台化的是 Stable Contract(稳定契约)和 Guarantee(系统保证),而不是某个快速变化的 Framework。

四家真正的分歧在哪里 ​

行业没有收敛成唯一架构。

真正分歧主要在:

分歧一:Harness 由谁拥有

text
OpenAI
→ 平台强拥有 Harness

AWS
→ Harness 更多留给 Framework

Microsoft
→ Prompt Agent 平台拥有;Hosted Agent 可由开发者拥有

Google
→ ADK 与 Managed Runtime 配合,但 Runtime / Session / Memory 可拆

这说明:

企业是否自建 Harness,不应该有一个固定答案。

如果企业业务高度依赖某个模型厂商的 Agent 能力,Managed Harness 可能更划算。

如果企业需要:

  • 多模型;
  • 多 Framework;
  • 强 Domain Control;

则 Harness Contract 自己掌握更重要。

分歧二:Memory 放在哪里

AWS / Google 都把 Memory 做成明显独立平台资源。

OpenAI 更强调 Session / Harness 侧的 Context 和 Memory 能力。

这说明:

Memory 不应该和 Runtime State 混合,但是否一定需要中央 Memory Platform,取决于业务复用价值。

分歧三:工具治理应该做到多重

大型企业最终不会只有几十个 Tool,而会出现多个 Team、MCP Server、API、Remote Agent 和 Skill 共同进入能力目录。

因此平台 Tool Governance(工具治理)至少要拆成六层:

text
Registry
→ Search / Discovery
→ Visibility Filter
→ Identity / Policy
→ Approval / Guardrail
→ Invocation Trace / Eval

当前行业已经出现明确证据:

  • OpenAI Agents SDK 支持 Deferred Tool + Tool Search 和 MCP Tool Filter;
  • AWS AgentCore Gateway 支持 Tool Semantic Search,并把 Tool Call Policy 放到 Gateway Policy Engine;
  • Microsoft Agent Framework 把 Tool Approval 做成 Middleware / Approval Flow,而不是写进 Prompt。[^openai-platform-tool-search][^aws-platform-tool-search][^aws-platform-policy][^ms-platform-tool-approval]

这对大型企业特别重要,因为:

Capability Registry 是“企业拥有的能力集合”,Model-visible Tools 只是“当前 Run 被允许看到的小投影”。

平台如果不把两者拆开,Tool 数量增长最终会同时击穿 Context、Permission 和 Debuggability。

回到企业架构:为什么不能照抄任何一家

企业 Reference Architecture 最容易犯的错误是:

text
AWS 有什么
→ 我们照着建

或者

Microsoft 有什么
→ 我们照着建

但四家产品的边界都受到自己的:

  • Cloud Platform;
  • Model Strategy;
  • 商业模式;
  • Existing IAM;
  • Existing Observability;
  • Customer Base;

影响。

所以我们真正应该吸收的是它们背后的 Architecture Invariant(架构不变量)。

例如:

text
AWS Identity
Microsoft Entra Identity
Google IAM
OpenAI + Enterprise IAM Integration

实现不同,但共同问题都是:

Agent 以谁的身份访问真实世界。

又例如:

text
AgentCore Gateway
Foundry Toolbox
Google Tool Registry
OpenAI Tool / MCP

产品不同,但共同问题是:

如何把大量能力安全、可发现、可治理地暴露给 Agent。

因此本篇参考架构采用的是:

text
产品 Feature
↓
还原它解决的 Failure / Scale / Governance Problem
↓
抽象稳定系统责任
↓
跨产品验证
↓
形成企业 Reference Architecture

而不是:

text
四家 Feature 求并集

补充证据:为什么还要看专项系统

四大平台适合验证“企业平台怎么组织能力”,但它们不能单独回答所有机制问题。

所以本系列还用第二圈专项系统做机制验证:

专项问题 代表实现 主要验证什么
Durable Runtime(持久运行时) Temporal / Restate / DBOS / Dapr Checkpoint、Replay、Timer、Signal、副作用与恢复语义
Agent Graph / Workflow LangGraph / Microsoft Agent Framework / ADK Agent Decision 与显式 Workflow 怎样组合
Execution Infrastructure(执行基础设施) OpenHands / Daytona / E2B Workspace、Sandbox、Browser、Artifact 如何独立平台化
Memory(长期记忆) Letta / Mem0 / Zep Scope、Retrieval、Consolidation、Temporal / Graph Memory
Domain Agent(领域智能体) Snowflake Cortex / Databricks Genie 为什么通用平台不能替代 Domain Semantic / Permission / Verification
Protocol(协议) MCP / A2A / AG-UI Tool、Remote Agent、UI State 的跨系统契约

这样可以避免一个偏差:

只研究云厂商,就容易把 Cloud Product Boundary(云产品边界)误认为 Architecture Boundary(架构边界)。

四大平台负责验证“平台级共性”;专项系统负责验证“机制级边界”。


证据收束:竞品研究修正了哪些架构判断

这一轮竞品对照没有替代内部架构推导,而是为几条判断补充了外部实现证据。

结论一:Platform 不应该等于 Framework。

AWS、Microsoft、Google 的开放 Framework 路线都支持这一点。[^aws-agentcore][^ms-foundry][^google-platform]

结论二:Runtime、Execution、Identity、Tool Governance 应该是一等平台问题。

AWS 的资源化拆分最直接,Microsoft / Google 也给出相似的生产边界。[^aws-agentcore][^ms-foundry][^google-platform]

结论三:Harness 本身也可以被平台化。

OpenAI Agents API 说明 Harness 不是只能留在业务代码里的 Glue Code。[^openai-api]

结论四:Session / State / Memory 必须分生命周期。

Google Sessions / Memory Bank、OpenAI Session / RunState、AWS Memory 的产品拆分都提供了现实证据。[^google-memory][^openai-runstate][^aws-agentcore]

结论五:Observability / Evaluation 不应该被视为辅助功能。

AWS、Microsoft、Google、OpenAI 都已经把 Agent-native Trace / Eval 提升到核心产品能力。[^aws-eval][^ms-foundry][^google-eval][^openai-tracing]

因此,本文的参考架构证据链是:

text
第一性原理
+
生产 Failure / Scale / Risk
+
主流 Agent Platform 实现
↓
Architecture Invariant
↓
Enterprise Reference Architecture

三、平台内部到底怎样工作 ​

第二章回答“平台有什么”,本章只回答“为什么这些层必须这样协作”。 因此 Run、Gateway、State / Context / Memory、Runtime、Execution、Tenant、Verification 都按机制因果展开,而不再重复平台能力清单。

3.1 Run 为什么应该成为中心对象 ​

Run(运行实例)指:

一次具体 Agent 任务的完整执行。

例如:

“修复支付服务里的一个 401 Bug。”

这一次从开始到结束,就是一个 Run。

企业应该让所有关键对象都能关联到 Run:

  • 花了多少钱;
  • 用了哪个 Agent Version;
  • 看了什么 Context;
  • 调用了哪些 Tool;
  • 哪些动作产生了副作用;
  • 谁批准;
  • 生成了什么 Artifact;
  • 为什么失败;
  • 是否恢复过;
  • 最终是否验证成功。

如果没有稳定 Run ID,后面很多能力都会碎掉:

text
成本
Trace
评测
恢复
审批
事故定位
版本归因

都难以串起来。

3.2 为什么需要模型网关 ​

Model Gateway(模型网关)不是简单把多个模型 API 包装成一个 HTTP 接口。

它真正解决的是:

不同任务应该使用哪个模型,以及模型不可用、太贵、太慢或不符合数据要求时怎么办。

企业通常同时面对:

  • 多个 Model Provider(模型供应商);
  • 不同 Context Window(上下文窗口);
  • 不同成本;
  • 不同延迟;
  • 不同 Tool Calling 能力;
  • 不同多模态能力;
  • 不同数据驻留要求;
  • Provider 故障和限流。

因此更合理的选择过程是:

text
Task Requirement(任务要求)
↓
Model Profile(模型配置)
↓
Capability Requirement(能力要求)
↓
Context Requirement(上下文要求)
↓
Data Residency(数据驻留)
↓
Latency / Cost Budget(时延 / 成本预算)
↓
Provider Health(供应商健康)
↓
Model Routing(模型路由)

Model Profile 是什么 ​

Model Profile(模型配置)描述一个模型对平台有意义的能力,而不是只记录模型名称。

例如一个 Model Profile 可以记录:

属性 它解决什么问题
Context Capacity(上下文容量) 一次最多可以输入多少信息
Output Capacity(输出容量) 最多可以生成多少内容
Tool Calling(工具调用) 是否支持模型原生调用 Tool
Multimodal(多模态) 是否支持图片、音频等输入
Prompt Cache(提示词缓存) 是否能复用稳定前缀降低成本和首 Token 时延
Cost Profile(成本特征) 输入、输出和缓存价格
Latency Profile(时延特征) 常见 Time to First Token(TTFT,首 Token 时间)和端到端响应时间
Data Residency(数据驻留) 请求和数据允许在哪些区域处理
Provider(供应商) 实际由谁提供推理服务

平台不应该让业务代码到处写:

text
if model == "xxx":

而应该让业务声明:

“这个任务需要长上下文、工具调用、低时延,而且数据必须留在指定区域。”

Model Gateway(模型网关)再根据能力和约束选择模型。

Fallback 为什么不能只是“换下一个模型” ​

Fallback(故障切换)也需要语义。

例如:

text
Model A(模型 A)
→ 高能力、高成本

Model B(模型 B)
→ 中等能力、低成本

如果 A 挂了,不能所有任务都直接切 B。

应该区分:

text
简单分类任务
→ 可以 Fallback

高风险代码修改
→ 如果模型能力不足,宁可等待 / Fail

受监管数据
→ 不能 Fallback 到不满足 Residency 的 Provider

所以 Model Gateway 是:

能力、成本、时延、合规和可靠性的统一决策层。


3.3 状态、上下文与长期信息如何分层 ​

这是企业 Agent 数据模型里最容易混淆的一组概念。

Run State(运行状态) ​

表示:

这次任务真实执行到了哪里。

例如:

  • 当前 Step;
  • 已完成 Tool;
  • 当前预算;
  • 审批状态;
  • 最新失败;
  • 已产生 Artifact。

Session(会话) ​

表示:

用户与 Agent 的持续交互历史。

一个 Session 可以包含多个 Run。

Context(模型上下文) ​

表示:

这一轮 Model Call 实际能看到什么。

Context 是从 State、Session、Knowledge、Memory、Tool 等来源中选择出来的一小部分。

Knowledge(企业知识) ​

表示:

来自企业权威系统、领域数据源或外部世界,可以通过 Source / Authority / Freshness / Permission / Evidence 证明其可信性的事实与语义。

例如:

  • Metric Registry 中的正式指标定义;
  • CMDB 中的服务依赖和 Owner;
  • 合同系统中的正式条款;
  • Search Index 中的制度文档;
  • Remote Source 中的实时组织 / 业务事实。

Knowledge 和 Context 的关系是:

text
Knowledge
→ 提供候选事实和 Evidence

Context Engineering
→ 决定当前这一轮哪些 Evidence 进入模型

Knowledge 和 Memory 也不同:

text
Knowledge
→ 企业 / 外部权威事实

Memory
→ 历史交互和 Run 中值得跨任务保留的经验

平台层不应该强行统一所有 Knowledge Storage,而应该统一:

text
Knowledge Source Contract
Authority / Freshness / ACL
Retrieval / Rerank Interface
Evidence Contract
Trace / Eval
Version / Revoke

具体机制由《Agent 知识检索与治理架构》展开。

Memory(长期记忆) ​

表示:

哪些信息值得跨 Run 长期保留。

例如用户长期偏好、稳定环境事实、被验证过的经验。

Skill(技能) ​

表示:

可以被重复执行的方法或流程。

Skill 比 Memory 更接近“怎么做”。

所以不能设计一张:

text
agent_memory

把所有东西都塞进去。

它们的:

text
Lifecycle(生命周期)
Permission(权限)
Retention(保留期限)
Version(版本)
Injection Policy(注入策略)

都不同。

尤其 Knowledge 还多出一组平台级治理语义:

text
Authority
Freshness Service Level Agreement(新鲜度 SLA,服务等级协议)
Source Status / Revoke
Data Residency
Citation / Evidence
Index / Retrieval Version

因此平台不能把 Knowledge 简化成“另一张 Memory 表”或“一个共享 Vector DB”。

3.4 工具与能力契约要统一什么 ​

Tool(工具)不是只有一个函数名。

一个生产级 Tool Contract(工具契约)至少要表达:

字段 含义
Name(名称) 模型和系统如何唯一识别这个能力
Description(描述) 什么情况下应该使用它
Input Schema(输入结构) 参数有哪些、类型和约束是什么
Output Schema(输出结构) 返回结果怎样被系统和模型理解
Side Effect(副作用) 是否会真实修改外部世界
Permission(权限) 谁在什么资源范围内可以调用
Timeout(超时) 最长允许执行多久
Retry Policy(重试策略) 哪些失败可以安全重试
Idempotency(幂等) 重复调用是否会重复产生副作用
Owner(负责人) 出问题由谁维护
Version(版本) Schema 和语义如何演进
Namespace / Tags(命名空间 / 标签) Tool 怎样被 Search / Routing 发现
Visibility Policy(可见性策略) 哪些 Agent / Phase / Tenant 能看到
Approval Mode(审批模式) 哪些调用必须人在回路
Eval Status(评测状态) 该 Tool 在代表任务集上的选择 / 参数 / 结果质量

例如:

text
create_ticket

真正需要回答:

  • 输入字段是什么;
  • 会不会产生外部副作用;
  • 哪些用户可以调用;
  • 是否支持 Idempotency Key(幂等键);
  • Timeout 后怎样确认是否已经创建;
  • 谁维护这个 Tool;
  • Tool Schema 升级是否兼容旧 Agent。

因此统一 Tool Contract 的价值不是“方便调用”,而是:

让权限、重试、审计、恢复和版本治理拥有共同语义。

Tool Contract 只说明“这种能力在一般情况下怎样使用”,不能替代对本次动作的授权。运行时需要把静态能力定义和动态授权分开:

text
Action Proposal(动作提议)
→ 根据当前用户、Agent、租户、资源和环境评估策略
→ 签发 Authorization Ticket(授权票据)
→ Execution 校验票据与 Operation ID、资源、参数摘要和有效期
→ 执行后把票据标识写入 Operation Ledger 与 Audit

授权票据应短期有效、限定范围并绑定单次操作。执行层不能只相信 Harness 传来的 allowed=true,也不能拿一个宽泛的服务账号替代用户委托;否则审批后的参数替换、跨租户重放或凭证泄漏都可能绕开策略。对于数据查询、代码执行和生产变更,平台还要区分 User Identity(用户身份)、Agent Identity(智能体身份)和 Execution Identity(执行身份),并记录三者之间的委托链。

规模继续上升后,这些信息应该进入独立的 Capability Control Plane(能力控制面):

text
Capability Registry
Tool / Agent Search
Schema / Version Registry
Identity / Policy
Approval
Quality / Eval
Deprecation / Revoke
Usage / Cost

业务 Agent 不应该各自重新实现这些能力。

3.5 为什么要独立运行时 ​

Runtime(运行时)负责:

让一个 Run 在等待、故障、重启和版本变化后仍然可以正确继续。

它通常提供:

  • Checkpoint(检查点):保存可恢复状态;
  • Wait / Signal(等待 / 信号):支持审批或外部事件;
  • Resume(恢复):故障后继续;
  • Operation Reference(操作引用):关联由 Execution / Operation Service 维护的权威操作账本;
  • Lease / Fencing(租约 / 栅栏):避免两个 Worker 同时执行;
  • Version(版本):旧 Run 恢复时使用正确代码。

为什么不能每个 Agent 自己写:

text
while true + Redis + cron

因为一旦出现:

text
Tool 已成功
→ 进程崩溃
→ Result 还没写状态

恢复以后系统就不知道:

“刚才到底成功没?”

这不是 Prompt 能解决的问题,而是分布式系统问题。

3.6 动作如何安全落到真实环境 ​

Execution Fabric(执行基础设施)指:

统一管理 Agent 的真实执行环境和执行通道。

它不是单纯的 Sandbox。

它至少需要管理:

Workspace(工作空间) ​

保存:

  • 文件;
  • Diff;
  • 中间结果;
  • 测试报告;
  • Artifact。

Workspace 解决的是:

Agent 的工作状态放在哪里。

Sandbox(沙箱) ​

提供隔离执行环境。

Sandbox 解决的是:

不可信代码在什么边界里运行。

Identity(身份) ​

回答:

Agent 到底以谁的身份访问真实资源。

企业通常至少区分:

  • User Identity(用户身份);
  • Agent Identity(智能体身份);
  • Execution Identity(执行身份)。

例如:

用户有数据库权限,不代表 Agent 就可以自动把数据发到公开频道。

身份解决“谁在请求”,策略解决“当前条件下能否做”,授权票据则把一次策略决策安全交给执行层。三者缺一不可。票据只携带执行所需的最小声明,不把长期密钥暴露给模型;执行环境再按票据范围获取短期 Credential(凭证)。

Secret(密钥) ​

Secret 不应该直接进入 Prompt。

更合理是:

text
Agent 提出 Action
→ Policy 判断
→ 签发绑定 Operation ID 的授权票据
→ Execution Environment 校验票据并按 Scope 注入短期 Credential
→ 执行
→ Credential 过期 / 回收

Network(网络边界) ​

即使文件系统隔离,也要限制:

  • 内网访问;
  • Metadata Service;
  • 外部数据外泄;
  • 未授权 SaaS。

所以真正的平台执行链应该是:

text
Action Proposal
→ Policy / Identity
→ Authorization Ticket
→ Operation Ledger
→ Execution Environment
→ Raw Result
→ Evidence
→ Verification

而不是:

text
Model
→ Tool
→ success

执行请求超时尤其不能直接进入重试,因为外部系统可能已经完成动作,只是响应丢失。Runtime 应先把 Operation 标为 UNKNOWN(结果未知),再通过幂等查询、外部业务键、回调或人工复核完成 Reconciliation(对账);只有确认“未执行”后才允许重试。无法对账的高风险写操作应暂停并升级处理,而不是猜测结果。

3.7 多租户和资源治理怎么做 ​

Multi-tenant(多租户)指:

同一套平台同时服务多个团队、业务线、客户或组织空间,但它们之间的数据、权限和资源不能互相污染。

企业平台真正 Scale(规模化)以后,常见层级是:

text
Organization(组织)
↓
Tenant(租户)
↓
Project / Team(项目 / 团队)
↓
Agent(智能体)
↓
Run(运行实例)

每一层都可能拥有独立:

  • Budget(预算);
  • Quota(配额);
  • Policy(策略);
  • Data Scope(数据范围);
  • Cost Center(成本中心)。

Tenant ID 不能只是 API 参数。平台要把租户范围写入身份声明、授权票据、状态主键、队列分区、缓存键、向量检索过滤、Artifact 路径、加密密钥和审计事件,并在服务端从可信身份推导,不能接受模型或客户端任意覆盖。对于高敏租户,还需要独立密钥、计算池或网络边界;是否做物理隔离应由数据等级、威胁模型和成本共同决定,而不是把所有租户一律拆成独立集群。

验证隔离时既要测试直接越权,也要覆盖缓存命中、异步任务、恢复后的旧 Checkpoint、共享 Memory / Skill、Trace 导出和备份恢复等派生路径。很多跨租户泄漏并不发生在主数据库查询,而发生在这些旁路。

为什么只做权限不够 ​

即使权限完全正确,也可能出现 Noisy Neighbor(吵闹邻居):

某个 Tenant 短时间创建大量 Run,把模型并发、Browser Slot 和 Sandbox 全部占满,导致其他业务不可用。

所以资源治理至少要覆盖:

text
Model Concurrency(模型并发)
Tool QPS(工具每秒请求数)
Sandbox Slots(沙箱槽位)
Browser Slots(浏览器槽位)
Subagent Count(子智能体数量)
Storage(存储)
Token Budget(Token 预算)
Cost Budget(成本预算)

四个关键机制 ​

Quota(配额)
规定每个 Tenant 最多能占多少资源。

Rate Limit(限流)
限制单位时间内请求速度。

Admission Control(准入控制)
系统资源不足时,决定新的 Run 是否允许进入。

Fair Scheduling(公平调度)
避免一个大客户或高流量任务饿死其他业务。

所以平台的资源治理目标不是:

“把机器利用率打满。”

而是:

在资源有限时,仍然保证关键业务的公平性、优先级和可预测性。


3.8 验证与评测为什么要分开 ​

Verification(验证)回答:

这一次 Run 真的完成了吗?

例如 Coding Agent:

text
tests passed
build passed
diff符合约束

Evaluation(评测)回答:

这个版本在一组任务上整体是不是更好。

例如:

text
Agent 新版本
在具有代表性的内部任务集上
成功率是否高于当前生产版本
成本是否下降
事故率是否增加

如果不区分,两种错误很常见:

text
一次任务成功
→ 误认为新版本整体更好

Benchmark 提升
→ 误认为每次生产任务都可以不验证

Eval 还要区分开发期、回归期和生产期 ​

企业评测至少有三种时间尺度:

阶段 主要目的 典型输入
Offline / Dataset Eval 开发时比较 Prompt / Model / Harness / Policy Golden Set、历史任务、故障样本
Release Regression Eval 发布前证明新版本没有破坏已有能力 固定回归集 + Counterfactual / Chaos Case
Online Evaluation 生产中持续发现分布漂移和长尾失败 采样 Session / Trace

Microsoft Agent Framework 当前提供 provider-agnostic 的 Evaluation Framework,可组合本地 Evaluator 和 Foundry Evaluator;AWS AgentCore 则直接支持 Online / On-demand / Batch Evaluation。[^ms-platform-evaluation][^aws-platform-evaluation-types]

所以:

Eval 不是上线前跑一次 Benchmark,而是覆盖 Build → Release → Production 的持续质量系统。

所以生产平台需要:

text
Online Verification(在线验证)
+
Offline / Continuous Evaluation(离线 / 持续评测)

四、企业应该怎样建设和演进平台 ​

4.1 平台建设应该怎样起步和分工 ​

先诊断问题,再规划路线 ​

Roadmap(路线图)不应该从 Feature List 开始,而应该先检查五类 Trigger(触发条件)。

Failure Trigger(失败触发)

例如:

  • Tool 重复执行;
  • Run 无法恢复;
  • Trace 找不到根因;
  • 权限事故重复出现。

Scale Trigger(规模触发)

例如:

  • Tool 数量增长到人工目录和逐项配置难以治理;
  • Agent 增长到跨团队共享能力成为持续需求;
  • Waiting Run 达到几十万;
  • Sandbox / Browser 数量快速增长。

Risk Trigger(风险触发)

例如:

  • PII(个人可识别信息);
  • Production Write(生产写操作);
  • Payment(支付);
  • 外部网络;
  • 高权限基础设施。

Reuse Trigger(复用触发)

例如同一个能力已经在多个独立 Domain 稳定重复:

text
Trace
Policy
Sandbox
Context Snapshot
Verification Hook

Governance Trigger(治理触发)

例如:

  • 多团队;
  • 多版本;
  • 多 Tenant(租户);
  • 跨组织调用;
  • 需要统一审计。

只有:

“以后可能会有很多 Agent。”

不构成建设复杂平台的充分理由。

平台能力应该怎样分阶段建设 ​

推荐顺序不是固定成熟度,而是“迁移成本 × 风险 × 复用价值”。

第一阶段:先统一治理主键

先统一四个基础对象:

  • Run ID(运行实例标识):每一次任务执行的唯一编号;
  • Agent Version(智能体版本):明确本次执行使用哪一版配置和逻辑;
  • Trace Correlation(追踪关联):把模型、工具、子智能体、审批和执行环境串成一条链路;
  • Usage / Cost(用量 / 成本):把 Token、模型、工具和执行资源消耗归属到具体 Run。

因为这些越晚统一,历史系统迁移越痛苦。

第二阶段:控制 Agent 能做什么

统一:

  • Tool / Capability Contract(工具 / 能力契约):统一输入、输出、副作用、权限、版本和重试语义;
  • Identity / Policy(身份 / 策略):明确“谁以什么身份对什么资源做什么”;
  • Verification Hook(验证钩子):允许业务域接入自己的成功判定;
  • Artifact Contract(产物契约):统一文件、报表、Diff、截图等产物的来源和生命周期。

这一步解决的是:

“不同 Agent 不能各自定义一套安全和结果语义。”

第三阶段:沉淀稳定执行契约 ​

例如:

  • Loop(循环):一轮 Agent 如何从决策进入执行并读取反馈;
  • Context Interface(上下文接口):业务域怎样提供本轮模型需要的信息;
  • Budget(预算):限制 Token、Tool、时间和子任务数量;
  • Cancellation(取消):用户取消后真实执行也必须停止;
  • Trace Event(追踪事件):把关键状态变化记录成可诊断事件。

第四阶段:长任务出现后建设运行时 ​

加入:

  • Checkpoint(检查点):保存可以安全恢复的运行状态;
  • Wait / Signal(等待 / 信号):让任务可以等待审批、回调或外部事件;
  • Operation Ledger(操作账本):记录真实副作用是否已经发生;
  • Resume(恢复):故障或长时间等待后从正确状态继续。

第五阶段:真实执行增加后建设执行层 ​

加入:

  • Workspace(工作空间):保存任务文件和中间状态;
  • Sandbox(沙箱):隔离不可信代码和工具执行;
  • Browser / Shell(浏览器 / 命令行执行):连接真实外部环境;
  • Secret / Network(密钥 / 网络边界):限制身份凭据和网络访问范围;
  • Artifact(产物):保存可验证、可审计的执行结果。

第六阶段:长期经验有价值后建设记忆与技能 ​

加入:

  • Candidate Memory(候选记忆):先把可能值得长期保存的信息作为候选;
  • Governed Memory(受治理记忆):经过权限、时效、来源和删除治理后再长期保存;
  • Skill Registry(技能注册表):统一管理可复用方法和流程;
  • Learning Release(学习发布):新经验经过评测、审核、灰度和回滚后再影响生产。

第七阶段:跨系统增长后建设协作与协议层 ​

加入:

  • Delegation(任务委托):把明确边界的子任务交给另一个 Agent;
  • Registry(注册表):让 Tool、Agent 和服务可被发现;
  • Gateway(网关):统一处理认证、路由、版本和审计;
  • Federation(联邦):在跨团队、跨组织或跨供应商场景下建立互信和互操作。

关键是:

不同业务可以停在不同阶段,没有必要追求“全部平台化”。

阶段不是按时间自动升级的成熟度勋章。每一步都需要进入条件、退出证据和回退路径;没有触发条件时,明确“不建设”也是架构决策。下面五个建设关口与上面的七个阶段严格对应:治理主键与执行契约覆盖第一至第三阶段,后四个关口分别对应第四至第七阶段。

建设关口 进入条件 退出证据 当前暂不建设 失败时如何回退
治理主键与执行契约 已有生产任务,跨系统归因或权限语义开始不一致 关键 Run 可关联版本、Trace、成本、授权和产物;高风险动作有验证门禁 中央工作流、组织级记忆、动态路由 保留旧执行链,先旁路采集统一事件,不改变业务行为
持久运行时 出现长等待、人工审批、进程重启或副作用结果未知 故障注入后能从检查点恢复;重复副作用和未知结果均能对账 多区域主动运行、通用多智能体调度 新 Run 回到短任务模式;在途 Run 固定旧版本完成或人工收敛
执行基础设施 Agent 开始运行代码、浏览器或生产写操作,隔离和凭证风险已真实出现 沙箱逃逸、网络、短期凭证、取消和产物治理通过测试;容量有明确上限 自研浏览器云、全局资源池 路由回受限 Tool 或人工执行,撤销高风险自动写能力
记忆与技能治理 跨 Run 经验有稳定复用价值,且来源、删除和评测责任明确 记忆可追溯和删除;Skill 经过评测、灰度、撤回后才能影响生产 组织级自动学习、跨 Agent 自动传播 停止新写入,回滚 Skill 版本,禁用有问题的记忆注入
协作与协议平台 跨团队、跨系统委托持续增长,单体或显式工作流已不能满足隔离与并行要求 委托身份、预算、取消、部分结果和审计可贯通;相对单 Agent 有净收益 全局动态 Agent 网络、跨组织联邦 降级到单 Agent、Agent as Tool 或静态工作流

这里的退出证据同时也是下一阶段的前置条件。若一个业务连统一 Run 和权限链都没有稳定,就不应因为行业产品提供了多智能体或长期记忆而提前引入它们。

自研、采购与开源如何选择 ​

Build vs Buy(自研还是采购)真正要回答的不是:

“核心能力要不要全部自己写?”

更稳定的判断维度是:

问题 更适合复用 / 采购 更适合企业掌握
是否行业通用 是 否
是否直接承载业务语义 否 是
Provider 是否容易替换 是 否
锁定后的迁移成本是否高 低 高

通常更适合复用:

  • Model SDK;
  • 通用 Workflow Runtime;
  • Browser / Sandbox Provider;
  • Tracing Storage;
  • Protocol SDK;
  • 通用 Eval Infrastructure。

企业必须掌握的是 Semantic Control(语义控制权)。

所谓语义控制权,不是要求企业自己实现所有基础设施,而是:

即使底层 Runtime(运行时)、Sandbox(沙箱)、Gateway(网关)来自外部产品,企业仍然掌握自己的 Run(运行实例)定义、权限模型、Domain Context(领域上下文)、业务验证标准、Skill(技能)治理、成本归属和审计语义。

换句话说,底层 Provider(供应商)可以替换,但“企业自己的系统到底怎样工作”不能由 Provider 定义。

所以:

text
Managed Runtime(托管运行时)
≠
把业务语义交给 Provider(供应商)

采购评估不能停留在 Feature Demo(功能演示)。候选产品应使用同一组真实任务和故障场景完成 PoC(概念验证),再比较三类成本:产品费用,集成、迁移和合规的人力成本,以及被锁定后替换供应商的退出成本。

采购关口 必须验证的问题 可接受证据 否决信号
生产机制 长任务恢复、未知结果对账、取消和版本固定是否符合企业语义 在企业任务上注入故障并完成恢复与对账 只展示正常路径,无法导出状态或关联 Operation
安全与合规 数据驻留、租户隔离、短期凭证、审计导出和删除能否满足要求 架构材料、合同承诺、权限测试和删除演练相互一致 依赖共享长期密钥,或敏感 Trace 无法控制保留范围
Service Level Agreement(SLA,服务等级协议)与容量 SLA 覆盖哪些资源,限流和故障域如何定义 压测、容量上限、降级策略与赔偿边界写入交付材料 “自动扩容”没有配额、冷启动或下游依赖边界
TCO(总体拥有成本) 在成功任务口径下,模型、运行、沙箱、存储和运维总成本是多少 基于代表性负载测算 Cost per Verified Successful Run 只比较 Token 单价或首年折扣
可替换性 Run、Trace、策略、数据和 Artifact 能否完整导出并迁移 在 PoC 期间实际执行一次退出演练和 Provider 替换 只有专有 API,无法保留企业自己的稳定契约

采购结论应记录适用边界,而不是简单写“通过”。例如托管 Sandbox 可以用于通用代码执行,但生产数据库写操作仍必须走企业自己的身份、策略与审计链。这样 Buy 的是通用能力,不是把责任一起外包。

PoC 通过后还要把结论写进可运营的合同与运行手册。SLA 应明确统计对象、分子分母、排除条件、数据来源、故障通知时限、升级路径和违约处理,不能只写一个可用率数字;供应商维护窗口、版本弃用通知期、容量扩展提前量和安全事件协作也要有双方 Owner。

退出条款应约定配置、Run、Trace、Artifact 和审计数据的导出格式与时间窗口,迁移期间的只读访问、供应商协助、凭证撤销、派生数据删除证明和合同终止后的保留边界。平台 Owner 应按约定周期执行抽样导出和替代 Provider 演练,并把恢复时间、数据完整性和业务改造量回写采购评审。只有合同、日常监控、升级响应和退出演练形成闭环,“可替换”才不是纸面承诺。

平台团队和业务团队如何分工 ​

平台团队负责系统保证:

text
Contract 稳定
基础设施可用
策略可执行
版本可回滚
Trace 可关联
故障可恢复

Domain Team 负责业务含义:

text
用户目标
Domain Context(领域上下文)
Domain Tool(领域工具)
Business Invariant(业务不变量)
Verification Criteria(业务验证标准)
Domain Skill(领域技能)

可以进一步用 RACI(职责分工模型)理解。R 表示实际执行者,A 表示对最终结果唯一负责的人,C 表示决策前必须咨询的协作者,I 表示需要被同步结果的相关方。每项能力必须有且只有一个 A,否则事故发生时“共同负责”往往等于无人作最终决策。

能力 R(执行) A(最终负责) C(协作) I(知会)
Run / Runtime 正确性 运行时团队 平台运行负责人 业务域、Site Reliability Engineering(SRE,站点可靠性工程)团队 安全与成本团队
Operation Ledger 与副作用执行 执行与操作服务团队 执行基础设施负责人 运行时、安全、领域 Tool Owner 审计与业务负责人
Tool Contract 规范 平台契约团队 平台架构负责人 各领域 Tool Owner Agent 开发团队
Domain Tool 业务语义 领域 Tool Owner 领域业务负责人 平台、安全 使用该 Tool 的 Agent 团队
Context / Knowledge 来源 领域数据 Owner 领域业务负责人 上下文平台、数据治理 Agent 开发团队
Identity / Policy 执行 身份与策略团队 安全负责人 平台、领域业务负责人 审计与合规团队
Verification 成功标准 领域 Agent 团队 领域业务负责人 平台质量团队 发布负责人
Eval 与发布门禁 平台质量团队 Agent 发布负责人 领域、运行时、安全 受影响业务方
生产事故指挥 当值响应团队 预先指定的 Incident Commander(事故指挥) 平台、领域、安全和供应商 Owner 受影响租户与管理者

RACI 只解决决策权,不替代运行手册。每个共享能力还应登记服务 Owner、值班方式、升级路径、依赖方和回滚权限,并在发布与事故演练中验证这些联系人确实能完成动作。

4.2 生产治理怎样覆盖发布、可靠性和合规 ​

发布时到底要版本化什么 ​

一次 Agent Release(智能体发布)通常不是只发布一段代码。

真正影响结果的版本不止一个,而且每一种版本变化都可能改变最终结果:

  • Agent Version(智能体版本):整套 Agent 配置和发布批次;
  • Model Version(模型版本):推理能力和行为可能发生变化;
  • Prompt Version(提示词版本):指令、约束和输出格式变化;
  • Harness Version(执行外壳版本):Loop、Observation、Tool 编排逻辑变化;
  • Context Policy Version(上下文策略版本):检索、排序、压缩和注入规则变化;
  • Knowledge Snapshot / Source Version(知识快照 / 来源版本):本次 Run 使用了哪一版权威来源、索引和撤销状态;
  • Tool Version(工具版本):输入输出 Schema 和副作用语义变化;
  • Skill Version(技能版本):可复用流程 / 经验变化;
  • Policy Version(策略版本):权限、审批和风险判断依据变化;
  • Eval Dataset / Evaluator Version(评测集 / 评测器版本):发布结论使用了什么样本和判断规则;
  • Runtime Version(运行时版本):Checkpoint、Retry、恢复语义变化;
  • Execution Image Version(执行镜像版本):依赖、系统环境和执行工具变化。

平台应生成不可变的 Agent Release Manifest(智能体发布清单),把上述版本、兼容范围、数据驻留要求和回滚目标绑定为一个可部署单元。Run 创建时只绑定发布清单标识,不能在执行途中悄悄读取“最新配置”。只有把这些版本都绑定到 Run,出现回归时才能定位“到底哪一层变了”。

例如:

text
成功率相对当前生产基线明显下降

可能来自:

  • 模型升级;
  • Tool Schema 改变;
  • Prompt 修改;
  • Skill 新版本;
  • Context Ranking 改变;
  • Harness Observation 格式改变。

一个成熟发布链路 ​

text
Build(构建)
↓
Offline Eval(离线评测)
↓
Replay(回放历史任务)
↓
Shadow(影子运行)
↓
Canary(小流量灰度)
↓
Progressive Rollout(逐步放量)
↓
Full Release(全量发布)
↓
Monitor(监控)
↓
Rollback(回滚)

每一道门禁都要有明确 Owner、输入证据和失败动作。离线评测不通过就停止发布;影子运行发现副作用差异时禁止放量;灰度阶段超过业务 SLO(服务等级目标)或风险阈值时,控制面应停止新 Run 使用新发布清单,并把流量切回上一个兼容版本。在途 Run 是否回滚则由状态兼容性决定,不能把流量回切等同于强制换掉在途代码。

长任务为什么让版本治理更复杂 ​

普通 HTTP 请求几十秒结束。

但一个 Agent Run 可能:

text
周一开始
→ 等待审批
→ 周三恢复

两天之间:

  • Agent Version 变了;
  • Tool Schema 变了;
  • Runtime 升级了。

恢复时必须明确:

text
Pin Old Version(继续旧版本)
or
Migrate State(迁移状态)
or
Restart / Reconcile(重新执行 / 对账)

不能默认:

text
旧 Checkpoint
→ 最新代码

所以版本治理不是发布系统的“附属功能”,而是 Durable Agent(持久智能体)正确恢复的一部分。


高可用与灾难恢复怎么设计 ​

High Availability(高可用)关注:

局部组件故障时,系统能否继续服务。

Disaster Recovery(灾难恢复)关注:

更大故障域失效后,系统怎样恢复业务。

先要定义 Failure Domain(故障域):

text
单 Worker
单 Sandbox
单服务实例
单 Availability Zone(可用区)
单 Region(区域)
外部 Model Provider
外部 Tool Provider

不同故障域需要不同策略。

RPO 和 RTO 是什么 ​

RPO(Recovery Point Objective,恢复点目标)
最多允许丢多少状态。

例如可以由业务先提出一个假设目标:“核心 Run State 最多允许丢失一个检查点周期”,再用故障演练确认该目标是否可达。具体时长必须来自任务价值、状态写入成本和恢复语义,不能从通用架构图直接给出。

RTO(Recovery Time Objective,恢复时间目标)
故障后多久必须恢复。

例如可以要求“核心 Agent Runtime 必须在业务允许的中断窗口内恢复”。具体窗口应由业务连续性分析和恢复演练共同确定。

平台至少要考虑 ​

  • Multi-AZ(多可用区);
  • State Replication(状态复制);
  • Queue Recovery(队列恢复);
  • Artifact Backup(产物备份);
  • Provider Fallback;
  • Runtime Store Failover;
  • Region Recovery;
  • Recovery Drill(恢复演练)。

多区域不是默认等于“所有 Run 主动双活”。控制面中的版本和策略可以跨区域复制,入口与无状态查询也可以主动双活;但带有顺序状态和副作用的 Run 通常应绑定 Home Region(归属区域),由单一写入者推进。跨区域接管必须带 Fencing Token(栅栏令牌)阻止旧区域继续写,并恢复同一份发布清单、状态和 Operation Ledger。

区域恢复顺序也不能只看基础设施:

text
冻结旧区域写入并提升新主
→ 校验状态、队列、计时器和 Artifact 完整性
→ 对 UNKNOWN Operation 向外部系统对账
→ 检查模型、Tool、Sandbox 等依赖健康与区域合规
→ 按租户和业务优先级分批恢复
→ 验证业务结果后再扩大流量

如果外部系统不支持幂等键或状态查询,高风险副作用 Run 不能自动跨区重放,只能暂停并进入人工对账。多区域投入只有在单区域故障影响超过建设和演练成本、且数据驻留允许跨区复制时才成立;否则更稳妥的选择可能是单区域多可用区加经过演练的冷备或温备。

Agent 平台特有的 Resume Storm ​

灾备恢复后还有一个传统系统经常低估的问题:

text
大量 Waiting Run
→ Region 恢复
→ 同时被唤醒
→ Model / Tool / Sandbox 再次被打爆

这叫 Resume Storm(恢复风暴)。

因此灾备恢复不能简单:

text
全部恢复

而需要:

  • Staggered Wake-up(分批唤醒);
  • Admission Control;
  • Priority Queue;
  • Dependency Health Gate;
  • Tenant Quota。

所以:

DR 成功不是“数据库恢复了”,而是业务在恢复后仍然能稳定继续。


数据治理与合规怎么落到平台 ​

Agent Platform 比普通应用更容易复制、转换和长期保存数据。

敏感数据可能出现在:

text
Prompt(提示词)
Context(上下文)
Tool Arguments(工具参数)
Tool Result(工具结果)
Artifact(产物)
Trace(追踪)
Memory(长期记忆)
Eval Dataset(评测数据集)

因此平台需要统一 Data Governance(数据治理)能力。

至少包括:

Classification(数据分级)
识别普通数据、内部数据、敏感数据、PII 等。

Residency(数据驻留)
规定数据必须存放在哪个国家、区域或 Provider。

Retention(保留期限)
不同数据保存多久。

Encryption(加密)
传输和存储过程中的加密要求。

Redaction(脱敏)
日志、Trace、Prompt 中哪些字段必须隐藏。

Deletion(删除)
用户或业务要求删除时,怎样沿派生链真正清理。

Audit Access(审计访问)
谁可以查看完整 Prompt、Tool 参数和敏感 Artifact。

Artifact 是最容易被忽略的风险 ​

例如 Data Agent:

text
数据库权限控制正确
↓
查询敏感数据
↓
生成 Excel
↓
Excel Artifact 被分享到公开频道

数据库本身没有越权,但最终数据仍然泄漏。

因此:

数据治理必须覆盖“数据从哪来、经过哪里、最后变成什么”,而不是只保护数据库入口。


平台能力怎样排优先级 ​

可以用一个概念模型:

text
Platform Priority(平台优先级)
≈
Reuse Frequency(复用频率)
× Failure / Risk Cost(失败 / 风险成本)
× Standardization Stability(标准化稳定性)
× Migration Urgency(迁移紧迫度)
-
Coordination Cost(协作成本)
-
Platform Complexity(平台复杂度)

不要求真的算分数。

它的价值在于阻止团队用:

text
“这个技术很新”
“这个功能别人有”

决定投资优先级。

基础优先级:越晚统一迁移越痛苦 ​

这些能力一旦历史数据和多个业务都依赖,再统一会非常昂贵:

  • Run / Agent Version(运行实例 / 智能体版本):所有 Trace、成本、事故都需要稳定主键;
  • Trace Correlation(追踪关联):没有统一关联键,跨模型 / Tool / Runtime 无法重建链路;
  • Tool Contract(工具契约):越晚统一输入、输出、副作用和权限语义,Adapter 越多;
  • Identity / Policy Hook(身份 / 策略钩子):安全边界不能等业务规模起来后再补;
  • Artifact Contract(产物契约):文件、报告、Diff 等长期留存对象要尽早统一来源和生命周期;
  • Verification Hook(验证钩子):单次 Run 是否完成必须有稳定接入点;
  • Usage / Cost(用量 / 成本):早期不归集,后面很难补历史账。

条件优先级:真实复杂度出现后共享 ​

这些能力确实重要,但通常只有场景出现后共享才有正收益:

  • Durable Runtime(持久运行时):出现长任务、等待、恢复需求后再上;
  • Context Governance(上下文治理):多数据源、多团队后才需要统一策略;
  • Sandbox / Workspace(沙箱 / 工作空间):有真实代码、浏览器或文件执行后再平台化;
  • Approval(审批):高风险写操作出现后成为一等能力;
  • Eval / Observability Infrastructure(评测 / 可观测基础设施):多个 Agent 开始共享质量闭环后再集中建设;
  • Skill Registry(技能注册表):只有 Skill 真正跨场景复用后才值得共享。

规模优先级:规模真正出现后再建设 ​

这些能力容易“看起来先进”,但规模不够时往往只增加复杂度:

  • Dynamic Capability Router(动态能力路由):只有 Tool / Agent 数量很大时才需要自动路由;
  • Organization Memory(组织级记忆):跨团队长期知识复用稳定后再建设;
  • Cross-agent Learning(跨智能体学习):先有稳定 Eval / Release 治理,再谈跨 Agent 学习;
  • Multi-Agent Platform(多智能体平台):只有并行、隔离、专业化收益明显时才有价值;
  • Protocol Federation(协议联邦):跨组织 / Vendor 后才需要;
  • Global Scheduler(全局调度器):资源规模和优先级冲突足够大时再建设。

“规模优先级”不是更高级,只表示:

更晚才可能产生正 ROI(投资回报)。


4.3 平台怎样提升效率并迁移存量系统 ​

平台怎样提升开发者效率 ​

Developer Experience(开发者体验)决定业务团队愿不愿意使用平台。

一个平台即使技术能力很强,如果:

text
创建 Agent 需要跨团队等待
申请权限缺少可预测时限
接一个 Tool 需要大量人工协调
上线依赖重复的手工配置

业务团队一定会绕开。

因此平台应该提供一条 Golden Path(推荐开发路径):

text
Create Agent(创建智能体)
↓
选择模板
↓
声明 Context Source(上下文来源)
↓
注册 Capability(能力)
↓
配置 Policy(策略)
↓
接入 Verification(验证)
↓
自动生成 Trace / Eval
↓
本地测试
↓
Canary
↓
上线

配套能力通常包括:

  • SDK(开发工具包);
  • CLI(命令行工具);
  • Developer Portal(开发者门户);
  • Local Debug(本地调试);
  • Test Harness(测试外壳);
  • Eval Dataset(评测数据集);
  • Template(模板);
  • Self-service Provisioning(自助资源申请)。

平台真正创造价值,不只是运行时更稳定,还应该让:

业务团队能更快、更安全地把 Agent 从想法带到生产。

已有系统时怎样迁移 ​

企业很少从 Greenfield(全新系统)开始。

更常见的是:

text
已经有多个 Agent
多种 Framework
多套 Trace
重复的 Runtime
每个业务有自己的 Tool 接法

这时不能 Big Bang Migration(一次性大迁移)。

更稳妥的是 Strangler Pattern(绞杀者模式):

用新平台能力逐步包围并替代旧能力,而不是一次重写全部系统。

推荐顺序:

text
先统一 Run ID / Trace
↓
再统一 Tool Contract / Policy
↓
用 Adapter 兼容旧 Framework
↓
新 Agent 默认走新平台
↓
旧 Agent 按业务价值逐步迁移
↓
最后淘汰重复基础设施

迁移时要给旧系统留 Escape Hatch(逃生口):

  • 不强迫一次性迁移所有功能;
  • 不要求业务先重写 Domain Logic;
  • 先统一低风险、高收益的 Contract;
  • 每次迁移都能回滚。

好的平台迁移应该让业务感觉:

“逐步接入以后更省事。”

而不是:

“为了接平台先把现有系统重写一遍。”


五、真实生产中最容易踩哪些坑 ​

本章案例用于推演生产机制,不指向某一家企业已经发生的具体事故。每个失败模式都从可观察现象反推责任边界,再给出修复和验证方式;真实项目应以自身 Trace、工单、审计和故障演练结果确认它是否存在。

5.1 贯穿案例:一次数据分析任务 ​

先看一个正向案例,再看后面的失败案例。

用户问:

“帮我分析华东区上个月 GMV 为什么下降,并给出主要原因。”

第一步:建立身份和 Run ​

平台首先确定:

text
user_id
tenant_id
agent_id
agent_version
run_id

这一步的意义是:

后面所有 Context、Tool、Artifact、Trace 和 Cost 都能回到同一个 Run。

第二步:构建业务上下文 ​

Context Engine(上下文引擎)读取:

  • 当前最新 GMV 定义;
  • 华东区域定义;
  • 用户只看自营业务的历史澄清;
  • 当前用户可访问的数据集;
  • SQL Tool 定义。

平台不会把整个数仓都给模型,而只提供当前决策所需信息。

第三步:选择模型 ​

Model Gateway 根据:

  • 任务复杂度;
  • Context 长度;
  • Tool Calling 能力;
  • 成本预算;
  • 数据驻留;

选择合适模型。

第四步:模型提出查询动作 ​

模型生成:

text
Action Proposal:
execute_sql(...)

这还不代表 SQL 已经执行。

Harness 只检查 Tool 的能力声明、当前可见性和输入契约是否匹配;它不能决定本次动作是否获准。完成契约检查后,Runtime 进入操作预留与授权步骤。

第五步:预留操作并完成授权 ​

在真正执行前,Runtime 请求 Operation Service 创建权威账本条目,并在 Run State 中保存 operation_id 引用:

text
operation_id
status = PLANNED

Policy Service 再基于以下信息独立授权,并签发绑定该 Operation ID 的授权票据:

  • 用户身份;
  • 数据集权限;
  • 查询风险;
  • 当前环境。

这样即使 SQL 执行后进程崩溃,Runtime 也能用引用查询权威账本,确认这一步是否发生过,而不是从自己的 Checkpoint 猜测外部结果。

第六步:Execution 执行查询 ​

Data Engine 做真正计算。

如果原始查询返回大量明细行,不应该全部送给模型。

正确处理:

text
Warehouse
→ Aggregate / Filter
→ Structured Result
→ Artifact / Query ID

模型只看到:

  • row_count;
  • GMV;
  • YoY;
  • top negative dimensions;
  • query_id;
  • artifact_ref。

第七步:继续下钻 ​

模型发现:

华东区某个品类贡献了主要降幅。

下一轮只对这个维度继续 Drill-down(下钻),而不是重新扫描所有数据。

第八步:Verification ​

最终不能只相信模型说:

“原因找到了。”

Verification 检查:

  • 指标口径版本;
  • SQL 是否成功;
  • 时间范围是否正确;
  • 结论是否有 Evidence;
  • Artifact 是否可追溯。

第九步:Trace、Eval 和 Cost ​

整次 Run 记录:

  • Context Snapshot;
  • Model Version;
  • SQL Tool Version;
  • Token;
  • Query Cost;
  • Latency;
  • Verified Result。

如果以后新版本回归,就能和当前生产版本做真实比较。

第十步:Learning Candidate ​

假设这次发现一个稳定经验:

“分析同比下降时,优先检查区域 × 类目贡献度。”

它只能先成为 Skill Candidate(技能候选)。

经过 Eval / Review / Release 后,才可以进入生产 Skill。

这个案例说明:

平台不是一个“大服务”,而是一组围绕 Run 协同工作的契约、运行、执行和治理能力。

同一套契约在不同 Agent 上承受的压力并不相同。平台不能把 Data Agent 的路径复制成所有业务模板,而要从场景特征推导重点保证:

场景 主要不确定性 形成的架构压力 平台必须给出的保证 仍由业务域负责
Data Agent(数据智能体) 指标口径、数据权限和查询结果规模 权威知识、新鲜度、行列级权限、查询成本和产物泄漏 Context Snapshot、委托身份、查询限额、证据和 Artifact 权限 指标含义、分析路径与结论验证
Coding Agent(编码智能体) 仓库跨度、环境状态和修改副作用 长 Workspace、沙箱隔离、测试恢复、Diff 审批和供应链风险 持久工作空间、短期凭证、网络策略、Checkpoint 和可回滚产物 仓库约束、代码正确性和合并标准
Ops Agent(运维智能体) 生产状态快速变化且动作风险高 实时观测、最小权限、双重确认、未知结果对账和紧急停止 短期授权票据、Operation Ledger、审批、取消传播和完整审计 变更窗口、业务影响判断和恢复决策
Research Agent(研究智能体) 来源开放、事实时效和引用完整性 外网隔离、来源可信度、抓取成本和长文本证据链 网络边界、Source / Evidence Contract、成本预算和引用追踪 研究问题、来源取舍和论证质量

这张表的推导方式比“为每类 Agent 建一套平台”更重要:场景改变的是保障强度和领域插件,不应改变 Run、授权、执行、证据、验证和追踪的基本语义。


5.2 过度平台化和抽象错误会怎样失败 ​

这一组事故表面上不同:

  • 先建超级平台;
  • 强制所有团队统一 Framework;
  • 把 Multi-Agent 当平台卖点;
  • 抽象错误导致业务不断 Escape Hatch。

但共同根因只有一个:

Platform 试图统一业务差异,而不是统一稳定系统不变量。

所以阅读下面几个事故时,重点不是记住四个案例,而是观察“平台越权”怎样以不同形式出现。

先建超级平台,再去找业务 ​

现象

平台团队一开始就规划:

text
Unified Harness
Memory Platform
Multi-Agent
Marketplace
Dynamic Router
Global Gateway

半年以后:

  • 只有极少数 Agent 有稳定生产流量;
  • 很多平台能力没人真正使用;
  • 为了兼容未来场景,接口极度复杂;
  • Domain Team 接入成本越来越高。

为什么一开始看起来合理

因为团队希望:

“一次把未来所有基础设施问题解决掉。”

但这里隐藏了一个假设:

text
未来问题
已经足够清楚

实际上 Agent 产品形态和业务边界还没有稳定。

根因

没有经过:

text
真实业务
→ 重复问题
→ 稳定语义
→ Shared Contract

直接跳到了 Platform。

常见错误修复

看到接入率低以后继续:

  • 强制业务使用平台;
  • 再增加 Feature;
  • 再抽象一层;
  • 用“长期战略”解释短期低使用率。

这通常会进一步恶化问题。

正确做法

text
选择少量高价值 Domain Agent
→ 找重复故障和重复建设
→ 抽稳定 Contract
→ 小范围共建
→ 观察多个独立团队是否自然复用
→ 再平台化

验证指标

  • Shared Capability Adoption;
  • Time-to-production;
  • Escape Rate;
  • Domain Team 接入工时;
  • 平台能力真实调用量。

架构结论

平台是重复问题的结果,不是架构图的起点。

强制所有团队使用同一框架 ​

现象

平台为了统一:

  • 强制所有团队用同一个 Python Framework;
  • 统一 Agent Base Class;
  • 统一 Planner;
  • 统一 Prompt 组织方式。

开始时开发体验很好。

几个月后:

  • Coding Agent 需要更深 Workspace 能力;
  • Data Agent 需要 Semantic Layer;
  • Research Agent 需要 Source / Citation;
  • Ops Agent 需要强 Approval / Audit。

Framework 开始出现大量:

text
if domain == ...
special hook
custom override
escape hatch

根因

企业真正稳定的是:

text
Run
Tool Contract
Policy
Trace
Verification

而不是:

text
某个 Python 类库
某种 Planner
某个 Agent 抽象

错误修复 ​

继续扩展超级 Framework。

结果通常是:

  • Core 越来越厚;
  • 升级风险越来越大;
  • Domain 反而被限制。

正确做法

统一:

text
Stable Contract
+
Shared Runtime / Execution / Governance

允许:

text
多 Framework
多语言
多 Domain Agent

通过 Adapter(适配层)接入平台。

验证方式

观察:

  • 新框架能否在不修改平台 Core 的情况下接入;
  • Framework 升级是否只影响 Adapter,而不是所有业务;
  • Domain Team 是否仍然需要大量私有 Hook;
  • 平台升级后的跨 Agent 回归率是否下降。

架构结论

企业应该统一协议和系统语义,而不是统一某一个快速变化的开发框架。

把多智能体当成平台卖点 ​

现象

系统设计一开始就出现:

text
Planner Agent
Coder Agent
Reviewer Agent
Tester Agent
Security Agent
Release Agent

看起来“组织完整”。

生产后发现:

  • Token 成本显著增加;
  • Handoff 很多;
  • Context 大量复制;
  • 错误在 Agent 间传播;
  • 出问题时没人知道 Owner 是谁。

为什么会犯这个错误

团队把人类组织结构映射成 Agent 架构:

text
人类有 PM / 开发 / 测试
→ Agent 也应该这样拆

但 Agent 的合理边界应该来自:

  • Context;
  • Capability;
  • Permission;
  • Parallelism;
  • Model Specialization;
  • Ownership。

正确做法

先算:

text
Multi-Agent Net Benefit(多智能体净收益)
=
并行收益
+ Context Isolation(上下文隔离)收益
+ 权限隔离收益
+ 专业化收益

-
Coordination Cost(协调成本)
-
Context Duplication(上下文复制)
-
Merge Cost(合并成本)
-
Error Propagation(错误传播)

只有净收益为正,才值得拆。

验证方式

至少做:

  • Single Agent 与 Multi-Agent 的 A/B;
  • 比较 Verified Success、端到端时延和总 Token;
  • 统计 Handoff 次数、Merge 失败和错误传播;
  • 检查每个子 Agent 是否真的具有独立 Context / Permission / Parallelism 价值。

架构结论

Multi-Agent 不是成熟度等级,而是一种有明确成本的架构选择。

5.3 保障和治理缺失会怎样失败 ​

只看成功率,不做根因归因 ​

现象

团队只维护一个指标:

text
Task Success = 某个汇总值

当汇总成功率相对基线下降时,没人知道原因。

可能来自:

text
Model
Context
Tool
Permission
Runtime
Execution
Verification

任何一层。

错误做法

看到失败直接:

text
换更强模型

结果:

  • 成本增加;
  • 某些 Case 仍然失败;
  • 真正问题可能是 Tool 不可见或 Context 过期。

正确做法

统一 Failure Taxonomy(失败分类):

text
Task Understanding(任务理解)
→ 是否正确理解了用户目标和约束

Context(上下文)
→ 是否给模型看到了正确、最新、可信的信息

Capability Exposure(能力暴露)
→ 当前需要的工具和能力是否真的可见

Model Decision(模型决策)
→ 模型是否做出了合理的下一步判断

Permission(权限)
→ 动作是否因为权限、审批或风险策略被阻止

Execution(执行)
→ 真实工具、浏览器、代码或 API 是否执行成功

Observation(观察结果)
→ 原始执行结果是否被正确解释并反馈给模型

Verification(验证)
→ 最终结果是否真的满足业务完成条件

并在 Trace 中记录第一处偏离。

验证方式

比较:

text
same model + different harness
same harness + different model
same model + different context policy

做受控实验。

架构结论

成功率告诉你“系统好不好”,Failure Taxonomy 才告诉你“应该改哪里”。

长期记忆上线后无法真正删除 ​

现象

用户要求删除某条个人信息。

系统删除了:

text
memory table row

但信息仍然存在于:

  • Vector Index;
  • Summary;
  • Skill;
  • Eval Dataset;
  • Trace;
  • Offline Cache。

根因

系统把 Memory 当普通 KV Store(键值存储),没有建立 Data Lineage(数据血缘)。

正确做法

每个 Memory Item 都应记录:

text
source
derived_from
written_to
merged_into
used_by_skill
used_by_eval

Delete 必须沿血缘传播:

text
Primary Memory
→ Index
→ Derived Summary
→ Skill Candidate
→ Eval / Dataset

验证方式

删除一条测试数据后,主动扫描:

  • 主存储;
  • 向量索引;
  • Summary;
  • Skill Candidate;
  • Eval Dataset;
  • Cache;
  • Trace 中允许被再次消费的 Payload。

只有所有“可用于未来推理”的派生数据都不可再读取,删除才算真正完成。

并区分:

  • 立即删除;
  • 软删除;
  • 法规要求保留;
  • 审计不可删除但不可再用于推理。

架构结论

长期学习一旦进入企业系统,就会变成数据治理问题。

共享核心升级引发全量回归 ​

现象

Harness Core 的新版本修改了 Observation Normalization(观察结果归一化)。

发布后:

  • Coding Agent Tool Selection 下降;
  • Data Agent SQL Retry 增加;
  • Research Agent Source Ranking 异常。

几十个 Agent 同时受影响。

根因

共享能力提高了复用,但也扩大了 Shared Blast Radius(共享故障半径)。

正确做法

Shared Core 必须拥有比普通业务代码更严格的:

text
Version Pin(版本固定)
Replay(离线回放)
Shadow(影子运行)
Canary(小流量灰度)
Progressive Rollout(逐步放量)
Rollback(回滚)

同时:

text
Model Version(模型版本)
Prompt Version(提示词版本)
Tool Version(工具版本)
Harness Version(执行外壳版本)

都必须可以归因。

验证方式

用固定任务集执行:

  • Offline Replay(离线回放);
  • Shadow Run(影子运行);
  • Small Canary(小流量灰度);
  • Progressive Rollout(逐步放量)。

比较成功率、成本、时延、Tool Error 和人工介入率,再决定是否扩大范围。

架构结论

平台化会集中故障风险,因此平台能力的发布纪律必须更强。

中央网关变成企业单点故障 ​

现象

所有:

text
Model
Tool
MCP
A2A
Browser

都必须经过一个中央 Gateway(网关)。

Gateway 故障后:

所有 Agent 同时不可用。

根因

团队为了统一治理,把 Control Plane 和 Data Plane 的所有关键流量都绑到了同一个组件。

正确做法

根据风险定义:

  • 配置缓存;
  • Local Decision Cache;
  • HA(高可用);
  • Bulkhead(舱壁隔离);
  • Fail-open / Fail-closed;
  • Emergency Bypass(紧急旁路)。

不是所有能力都应该“网关挂了就停”。

例如:

text
High-risk Authorization
→ Fail-closed

Trace Export
→ 可以 Degrade

静态 Tool Metadata
→ 可以 Cache

验证方式

至少演练:

  • Gateway 单实例故障;
  • Registry 不可用;
  • Policy Service 延迟;
  • Trace Backend 故障;
  • 一个 Tenant 流量异常暴涨。

观察哪些能力被阻塞、哪些可以降级,以及是否会扩大成全平台事故。

架构结论

治理中心化,不等于数据路径必须单点中心化。

平台抽象错误导致业务团队不断绕行 ​

现象

平台统一:

  • Prompt;
  • Context Schema;
  • Workflow;
  • Memory。

Domain Team 开始出现:

  • 私接 Tool;
  • 关闭平台 Context;
  • 自建 Runtime;
  • 复制一套旁路。

平台把这种行为理解成:

“业务团队不愿意遵守规范。”

根因

真正的问题往往是:

平台把高变化业务语义错误提升成了 Shared Core。

正确做法

重新检查:

text
Stable Invariant(稳定不变量)
→ Platform(平台)

High-change Domain Meaning(高变化业务语义)
→ Domain(业务域)

并监控 Escape Rate:

业务团队为了绕开平台而自建旁路的比例。

Escape Rate 持续升高,通常说明:

  • 抽象错误;
  • Extension 不够;
  • Developer Experience(开发体验)太差;
  • 平台响应速度太慢。

验证方式

定期统计:

  • 业务自建 Runtime / Tool Gateway / Trace 的比例;
  • 私有 Hook 数量;
  • 平台 Feature 被关闭的比例;
  • Domain Team 接入周期;
  • 平台需求平均响应时间。

架构结论

好的平台不是让业务无法绕开,而是让业务没有必要绕开。


六、怎样证明平台真的有效 ​

6.1 怎样从业务、质量和效率证明平台价值 ​

先看业务结果,而不是接入数量 ​

平台最容易自我满足的指标是:

text
已有很多 Agent 接入

但接入数量多并不代表平台创造了价值。

平台核心指标要能回答“是否创造业务价值、是否守住生产底线、是否值得继续共享”。建议只把下面八项放进管理看板,其余模型、工具和沙箱明细用于诊断:

核心指标 计算口径 数据源 责任主体 触发动作
可验证成功率 通过领域 Verification 的已完成 Run 数 ÷ 纳入统计的已完成 Run 数 Run 状态、Verification 结果、发布清单 领域业务负责人 低于该业务发布基线时停止放量,按失败分类定位变化层
高风险控制失效率 未正确拦截、审批、取消或审计的高风险动作数 ÷ 高风险动作总数 Policy 决策、授权票据、Operation Ledger、审计事件 安全负责人 出现严重越权、跨租户泄漏或不可审计副作用时立即暂停相关能力并启动事件响应
恢复成功率 在业务恢复窗口内正确恢复并完成对账的 Run 数 ÷ 发起恢复的 Run 数 Checkpoint、调度事件、Operation Ledger、恢复演练 运行时负责人 低于 SLO 时停止运行时版本放量,保留旧版本处理在途 Run
超时未收敛率 超过业务完成窗口仍未完成、取消或明确失败的 Run 数 ÷ 进入该窗口的 Run 数 Run 状态、计时器、取消事件 平台运行负责人 持续上升时检查下游容量、等待条件和取消传播,不先归因模型
单次可验证成功成本 纳入统计的模型、Tool、Runtime、Sandbox、存储与人工复核总成本 ÷ 可验证成功 Run 数 用量账单、成本中心、Verification 结果 平台成本负责人 超过预算边界时按失败重试、上下文、执行等待和供应商费用拆解,不只压缩 Token
平均生产交付周期 从通过需求准入到生产可用的累计耗时 ÷ 同期完成发布数,并同时观察中位数与长尾 需求系统、代码与发布流水线、权限工单 开发者体验负责人 周期相对基线恶化时检查权限等待、契约接入和发布门禁中的人工瓶颈
平台绕行率 因平台能力、性能或响应问题而使用私有旁路的活跃 Agent 数 ÷ 应接入共享能力的活跃 Agent 数 Agent Registry、网关流量、架构例外登记 平台架构负责人 持续上升时先修抽象或扩展机制,不用强制接入掩盖问题
可回滚发布覆盖率 完成兼容性验证且具备已演练回滚路径的发布数 ÷ 生产发布总数 Release Manifest、评测门禁、演练记录 Agent 发布负责人 未满足门槛的发布不得进入全量;回滚演练失败则修复后重跑

可验证成功率不是模型自报“完成”,必须由外部业务条件确认。单位成功成本也不能只看 Token,因为低价但高失败率的 Agent 可能消耗更多重试、运行时、沙箱和人工复核成本。

端到端时延分位数、首 Token 时间、Tool 时延、沙箱供给时延、模型调用失败、权限拒绝原因、恢复阶段耗时和 Trace 覆盖率仍然重要,但它们负责解释核心指标为什么变化,不应与业务结果并列成一长串“平台成功指标”。

6.2 怎样证明平台具备长期治理能力 ​

平台治理要用核心指标触发动作 ​

治理不再另建一组英文指标清单,而是复用上面的高风险控制失效率、平台绕行率和可回滚发布覆盖率。Version Coverage(版本覆盖率)、Trace Coverage(追踪覆盖率)、Audit Completeness(审计完整率)、Shared Capability Adoption(共享能力采用率)和 Provider Swap Cost(供应商替换成本)作为诊断证据,用来解释发布为何不可归因、业务为何绕行或替换为何困难。

其中供应商替换成本非常重要。

如果换一个 Sandbox Provider、Model Provider 或 Runtime,需要重写所有业务 Agent,说明企业并没有真正掌握 Semantic Control。

上线前应该通过哪些门槛 ​

一个 Agent 从实验进入生产,至少应该经过:

text
Task Eval(任务评测)
Adversarial Eval(对抗评测)
Permission Test(权限测试)
Side-effect Test(副作用测试)
Recovery Drill(恢复演练)
Cost Load Test(成本压测)
Privacy Review(隐私审查)
Observability Review(可观测性检查)
Rollback Plan(回滚方案)

不同风险等级要求不同。

例如:

text
只读 Research Agent
→ 可以降低审批要求

Production Ops Agent
→ 必须提高权限、恢复、审计和 Verification 要求

成熟度不是“功能越多”,而是:

当前最关键的风险边界是否已经可靠。


七、企业最终应该形成什么架构判断 ​

7.1 最终应该坚持哪些平台边界原则 ​

平台不是智能体项目的默认终点 ​

平台应该来自:

text
真实业务
→ 重复问题
→ 稳定抽象
→ 共享能力
→ 治理

而不是来自行业架构图。

平台只统一稳定不变量 ​

值得长期统一:

text
Run(运行实例)
Identity(身份)
Policy(策略)
Tool Contract(工具契约)
Trace(执行追踪)
Verification(验证)
Artifact(产物)
Version(版本)

不应该强行统一:

text
业务 Prompt(提示词)
Domain Workflow(领域工作流)
Domain Context(领域上下文)
业务成功标准

不确定性应该局部化 ​

模型适合处理高不确定性的:

text
理解
推理
规划
探索
选择

软件和平台必须保证确定性的:

text
身份
权限
状态
版本
副作用
审计
恢复

7.2 最终应该怎样做投资和架构判断 ​

自研还是采购,关键看语义控制权 ​

企业不一定自己实现所有基础设施。

但必须掌握:

  • 自己的 Contract;
  • 自己的数据;
  • 自己的 Policy;
  • 自己的 Verification;
  • 自己的 Eval;
  • 自己的 Audit 语义。

平台能力必须证明正 ROI ​

每一个复杂平台能力都应该回答:

text
Trigger(触发原因)
→ 为什么当前方案已经不够

Decision(架构决策)
→ 要增加什么能力

Trade-off(代价与权衡)
→ 新增了什么复杂度

Evidence(验证证据)
→ 用什么指标证明它值得

如果回答不了 Evidence:

就不应该默认建设。

最终参考架构 ​

最终企业形态通常不是:

text
一个万能 Agent

也不是:

text
一个超级 Agent Framework

而更接近:

text
Shared Agent Platform(共享智能体平台)
+
Domain-specific Layer(领域专用层)

从一次 Run 的主路径看,最终架构应保持横向可追踪,而不是让各平台模块彼此旁路调用:

领域智能体
Run / 发布清单

上下文与决策
知识、记忆、技能

动作提议
身份、策略、授权票据

可靠运行
状态、操作账本

执行与集成
证据、产物

领域验证
确认业务完成

保障轨
追踪、评测、成本、SLO、审计

控制轨
版本、灰度、配额、驻留、撤销

读图时先从左到右看一次任务怎样完成,再看保障轨怎样提供生产证明、控制轨怎样施加发布和治理约束。图中连到单个节点只是为了保持线条可读,两条轨道的语义覆盖整条 Run 链路。任何模块都不能跳过授权直接执行,也不能跳过领域验证把模型输出宣布为成功。

共享平台提供:

text
Stable Contract(稳定契约)
Runtime Guarantee(运行时保证)
Execution Boundary(执行边界)
Identity / Policy(身份 / 策略)
Trace / Eval(追踪 / 评测)
Version / Rollback(版本 / 回滚)

业务域提供:

text
Domain Context(领域上下文)
Domain Tool(领域工具)
Business Meaning(业务含义)
Verification Criteria(业务验证标准)
Domain Skill(领域技能)

这是一种比“统一所有 Agent 行为”更长期稳定的组织和架构方式。它也给出了第二次跨越的验收标准:生产可用解决单个 Agent 能否安全上线;企业级优秀架构还要证明多个业务能够在共享保证上独立演进,单个故障不会扩散,关键决策可以归因,供应商能够替换,平台投入能够用业务结果、质量、交付效率和总体成本共同解释。


附录 A:高频架构问题与快速回答 ​

附录用于快速架构判断,不再复制正文完整推导。

A.1 企业什么时候应该建设智能体平台 ​

不是 Agent 数量一多就应该建设。

真正值得平台化通常同时出现三类信号:

第一,多个团队重复建设同一种基础能力,例如 Trace、Policy、Sandbox、Runtime。

第二,这些能力已经形成相对稳定语义,不再每周变化。

第三,不统一会产生明显风险或迁移成本。

因此更合理的判断公式是:

text
Platform Value(平台价值)
≈
Reuse Benefit(复用收益)
+ Risk Reduction(风险降低)
+ Incident Reduction(事故减少)
+ Faster Delivery(交付加速)
-
Coordination Cost(协调成本)
-
Migration Cost(迁移成本)
-
Shared Blast Radius(共享故障半径)

如果只有少量 Agent,而且业务方向还在变化,优先保持简单通常更好。

A.2 Harness、运行时和执行层有什么区别 ​

可以用一句话记:

text
Harness
→ Agent 怎样工作

Runtime
→ Run 怎样可靠活着

Execution
→ Action 在哪里真正发生

Harness 关心:

  • Context;
  • Tool;
  • Policy;
  • Verification;
  • Loop。

Runtime 关心:

  • State;
  • Checkpoint;
  • Retry;
  • Wait;
  • Resume;
  • Version。

Execution 关心:

  • Workspace;
  • Sandbox;
  • Browser;
  • Shell;
  • Identity;
  • Network。

三者协作,但不能混成一个“大 Agent Service”。

A.3 为什么状态、上下文和记忆不能混在一起 ​

因为它们解决完全不同的问题。

State 是:

当前任务真实发生了什么。

Context 是:

这一轮模型被允许看到什么。

Memory 是:

哪些信息值得跨任务长期保留。

如果把三者混在一起:

  • Context 压缩可能误删真实 State;
  • Memory 过期可能覆盖当前事实;
  • 权限边界难以定义;
  • Resume 无法重建真实执行状态。

所以必须在数据模型层分开。

A.4 为什么不应该默认使用多智能体 ​

Multi-Agent 会增加:

  • Context 复制;
  • Delegation;
  • Merge;
  • Runtime;
  • Error Propagation;
  • Trace Complexity。

只有当它带来的:

  • 并行收益;
  • Context 隔离;
  • 权限隔离;
  • 模型专业化;

明显大于这些成本时才值得。

所以默认策略通常是:

text
Single Agent
→ Workflow
→ Agent as Tool
→ Multi-Agent

逐步升级。

A.5 为什么不能只买一个智能体框架 ​

Framework 主要解决开发体验。

企业长期需要掌握的是这些不会随着 Framework 更换而消失的业务语义:

  • Run Contract(运行契约):一次任务怎样被唯一标识和追踪;
  • Identity / Policy(身份 / 策略):谁能代表谁做什么;
  • Context Contract(上下文契约):模型能看什么、来源和版本是什么;
  • Verification(验证):什么才算一次任务真正完成;
  • Eval Dataset(评测数据集):怎样判断新版本整体是否更好;
  • Audit(审计):谁在什么时候做了什么;
  • Artifact(产物):文件、报告、Diff 的来源和生命周期;
  • Cost Allocation(成本归属):模型 / Tool / Runtime 成本归谁。

Framework 可以换,但这些企业语义不能跟着一起丢。

所以:

Framework 可以 Buy;Semantic Control 必须自己掌握。

A.6 怎样判断平台建设成功还是失败 ​

不要只看:

text
接入多少 Agent

应该同时看:

text
Verified Success(可验证成功率)
Time-to-production(从开发到生产的时间)
Incident Rate(事故率)
MTTR(平均修复时间)
Cost per Successful Run(单次成功任务成本)
Shared Capability Adoption(共享能力采用率)
Escape Rate(业务绕过平台的比例)
Provider Swap Cost(供应商替换成本)

如果接入 Agent 很多,但:

  • Domain Team 大量绕平台;
  • Debug 更慢;
  • 发布风险更高;
  • 成本没有下降;

说明平台并没有真正成功。


A.7 为什么需要模型网关 ​

因为企业很少只使用一个模型。

不同任务在:

  • 能力;
  • Context Window;
  • 成本;
  • Latency;
  • Tool Calling;
  • 数据驻留;

方面要求不同。

Model Gateway 的价值是把:

text
Task Requirement
+ Model Profile
+ Cost / Latency Budget
+ Provider Health
+ Compliance

统一成模型路由决策。

它不应该只做“统一 API”,还要支持 Quota、Fallback、A/B、Provider Failover 和版本归因。

不适用场景:

只有一个模型、没有路由和治理需求的简单 Agent,不需要先建设复杂 Gateway。

A.8 多租户平台最容易漏什么 ​

最容易漏的是:

资源隔离,而不仅是数据权限。

即使 Tenant A 看不到 Tenant B 的数据,A 仍然可能通过大量 Run 占满:

  • Model Concurrency;
  • Browser;
  • Sandbox;
  • Tool QPS。

因此需要:

text
Quota
Rate Limit
Admission Control
Fair Scheduling
Cost Allocation

并按 Organization / Tenant / Project / Agent / Run 分层治理。

A.9 一个 Agent Release 应该版本化什么 ​

至少要能追踪:

text
Agent
Model
Prompt
Harness
Context Policy
Tool
Skill
Runtime
Execution Image

否则一旦回归,很难知道真正变化来自哪里。

长任务还必须解决旧 Run 与新代码共存问题,因此需要 Version Pin、Migration 和 Resume Compatibility Test(恢复兼容性测试)。

A.10 平台怎样做高可用和灾备 ​

先定义 Failure Domain,再定义 RPO / RTO。

不能只做数据库备份。

还要考虑:

  • Queue;
  • Timer;
  • Artifact;
  • Provider;
  • Waiting Run;
  • Resume Storm。

真正的 DR 成功标准是:

故障恢复后,Run 能继续,而且不会因为集中恢复再次把下游打垮。

A.11 已经有很多 Agent,怎样迁到统一平台 ​

不要一次性重写。

推荐 Strangler Pattern(绞杀者模式):

text
统一 Run / Trace
→ 统一 Tool Contract / Policy
→ Adapter 兼容旧 Framework
→ 新 Agent 默认新平台
→ 旧 Agent 逐步迁移
→ 淘汰重复基础设施

每一步都要可以独立回滚。

A.12 怎样避免平台成为单点故障 ​

需要区分:

text
Control Plane
Data Plane
Assurance Plane

并为不同能力定义:

text
Fail-open
Fail-closed
Degrade
Cache
Bypass

例如:

  • Authorization 无法判断:Fail-closed;
  • Trace Backend 故障:Degrade;
  • 静态 Tool Metadata:Cache;
  • 非关键 Cost Aggregation:异步补偿。

平台化的目标是降低重复风险,而不是制造一个更大的共享故障域。


附录 B:竞品研究主要官方来源 ​

[^aws-agentcore]: AWS, Amazon Bedrock AgentCore FAQs, https://aws.amazon.com/bedrock/agentcore/faqs/ [^aws-runtime]: AWS, AgentCore Runtime, https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html [^aws-gateway]: AWS, AgentCore Gateway Core Concepts, https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-core-concepts.html [^aws-eval]: AWS, AgentCore Evaluations, https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/evaluations.html

[^ms-foundry]: Microsoft, Foundry Agent Service Overview, https://learn.microsoft.com/en-us/azure/ai-foundry/agents/overview [^ms-hosted]: Microsoft, Foundry Hosted Agents, https://learn.microsoft.com/en-us/agent-framework/hosting/foundry-hosted-agent [^ms-toolbox]: Microsoft, Foundry Toolbox, https://learn.microsoft.com/en-us/agent-framework/integrations/by-component/tools/foundry-toolbox [^ms-hosting]: Microsoft, Hosting Agent Framework Applications, https://learn.microsoft.com/en-us/agent-framework/hosting/

[^google-platform]: Google Cloud, Vertex AI Agent Engine / Agent Platform, https://cloud.google.com/vertex-ai/generative-ai/docs/reasoning-engine/overview [^google-memory]: Google Cloud, Agent Engine Memory Bank, https://docs.cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/memory-bank/set-up [^google-code]: Google ADK, Agent Runtime Code Execution, https://google.github.io/adk-docs/tools/google-cloud/code-exec-agent-engine/ [^google-monitor]: Google Cloud, Monitor an Agent, https://cloud.google.com/agent-builder/agent-engine/manage/monitoring [^google-eval]: Google Cloud, Evaluate Agents, https://docs.cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/evaluate

[^openai-api]: OpenAI, Introducing the Agents API, https://openai.com/index/introducing-the-agents-api/ [^openai-sdk]: OpenAI, Agents SDK, https://openai.github.io/openai-agents-python/ [^openai-runstate]: OpenAI Agents SDK, Run State, https://openai.github.io/openai-agents-python/ref/run_state/ [^openai-tracing]: OpenAI Agents SDK, Tracing, https://openai.github.io/openai-agents-python/tracing/

[^openai-platform-tool-search]: OpenAI Agents SDK, Tool Search and MCP Tool Filtering. https://openai.github.io/openai-agents-python/tools/ [^aws-platform-tool-search]: Amazon Bedrock AgentCore, Semantic search for Gateway tools. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-using-mcp-semantic-search.html [^aws-platform-policy]: Amazon Bedrock AgentCore, Policy Engine for Gateway tool calls. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy-core-concepts.html [^ms-platform-tool-approval]: Microsoft Agent Framework, Tool Approval. https://learn.microsoft.com/en-us/agent-framework/agents/tools/tool-approval

[^openai-platform-tracing]: OpenAI Agents SDK, Tracing. https://openai.github.io/openai-agents-python/tracing/ [^aws-platform-observability]: Amazon Bedrock AgentCore, Observability. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability.html [^aws-platform-evaluation]: Amazon Bedrock AgentCore, Evaluations. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/evaluations.html [^aws-platform-evaluation-types]: Amazon Bedrock AgentCore, Evaluation types. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/evaluations-types.html [^ms-platform-evaluation]: Microsoft Agent Framework, Evaluation. https://learn.microsoft.com/en-us/agent-framework/agents/evaluation

附录 C:参考资料与时效说明 ​

本文涉及的产品能力和行业实现会持续变化,动态事实以 2026-09-13 为核验基线。核心架构结论不依赖具体产品版本,但涉及以下产品时应优先查看官方文档:

  • OpenAI Agents SDK / Agents API
  • Google ADK
  • Microsoft Agent Framework
  • OpenHands
  • Snowflake Cortex Agents
  • Databricks Genie
  • A2A Protocol