Skip to content

06 · 如何设计 Agent Platform 的架构? - Design Principles ​

所属知识库:Agent 全栈技术地图
所属领域:04 · Agent Platform
所属章节:01 · Agent Platform 是什么?它如何工作? - Fundamentals
文档类型:专题研究
版本:v1.3
更新日期:2026 年 11 月 1 日
核心问题:如何在明确平台边界、对象模型和运行机制的基础上,制定可验证的 Agent Platform 架构原则,权衡复用、隔离、可靠性、安全性、成本与演进速度,并将原则转化为可执行的架构决策?

专题导读 ​

本篇属 Fundamentals。本篇是 04 · Agent Platform → 01 · Fundamentals 的第六篇、也是本章最后一篇专题。前五篇依次回答定义与边界、核心组件、运行架构、平台类型、平台对象及生命周期;本篇把这些认识转化为可用于设计评审的架构原则、决策规则与验证标准。后续 P1 - P2 - P3 - P4 - P5 - P6 - P7 - P8 - P9 - P10 - P11 - P12 研究具体技术服务,F1 - F2 - F3 - F4 - F5 - F6 - F7 - F8 - F9 - F10 - F11 - F12 研究产品功能,工程实践章研究落地路径。

研究立场:Agent Platform 没有唯一正确的部署拓扑。控制面/执行面是职责视图;模块化不等于微服务;多租户不等于必须共享计算资源;“可扩展”也不意味着从第一天起引入分布式系统。架构设计应以业务约束、失效后果、成本与可观测证据为依据。

核心结论:优秀的平台架构首先明确边界和契约,再设计状态与权限,随后保证任务可恢复、结果可追踪,最后在证据支持下拆分服务和扩大规模。将安全、治理、运行可靠性视为架构内生约束,而非上线前的附加功能。

一、设计目标、范围与非目标 ​

1.1 平台架构要回答什么 ​

平台架构至少需要回答五组问题:为谁服务(用户、开发者、管理员、外部系统);管理什么(Agent Definition、Version、Deployment、Run、Artifact 等);如何运行(准入、排队、执行、状态反馈、审批、交付);谁能做什么(身份、租户、权限、资源边界);出错后如何处理(幂等、重试、恢复、回滚、审计)。

应同时维护四种视图:①能力视图,说明平台提供什么;②逻辑组件视图,说明谁承担职责;③部署视图,说明服务如何落地;④产品视图,说明用户如何接触能力。四者相互映射但不可混同。

1.2 约束先于技术选型 ​

设计前记录:用户规模、并发 Run 数、平均与长尾执行时长、敏感数据类别、租户数量、部署环境、预算上限、可接受恢复时间、人工审批比例、外部工具失败概率。未知参数应标记为待测假设,不要伪装成事实。

非目标示例:早期 Studio MVP 不追求跨区域主动 - 主动、多云调度、复杂插件市场、细粒度组织计费。将非目标写入 ADR,可减少过度设计。

二、十二项核心架构设计原则 ​

原则核心要求典型反例可检查证据
D1 边界清晰区分平台职责与 Agent System 职责平台直接硬编码 Agent 推理循环组件职责表、调用契约
D2 对象明确定义/版本/部署/运行/产物独立标识用单一 agent.status 表达所有状态领域模型、状态机
D3 契约优先通过稳定 API、事件与模式连接模块前端直接依赖运行器内部结构OpenAPI/事件 Schema
D4 控制与执行分责准入治理与实际执行分别建模UI 请求线程执行数小时任务控制流/执行流时序图
D5 安全默认最小权限、默认拒绝、密钥隔离Agent 继承平台管理员凭据权限测试、密钥扫描
D6 隔离可证明租户、工作空间、资源访问边界清楚仅依赖前端隐藏其他租户数据跨租户负向测试
D7 状态可恢复Run 持久化、幂等、重试与恢复进程重启后任务记录消失故障注入与恢复测试
D8 可观测可审计关联用户请求、Run、工具、产物只有散乱文本日志Trace、审计记录
D9 可扩展但不过度先模块化,再按瓶颈拆分无负载证据即全微服务压测与 ADR
D10 资源有边界限流、预算、配额、超时Agent 无上限循环调用模型配额拒绝与成本测试
D11 变更可回退不可变版本、灰度、兼容与回滚覆盖生产 Agent 配置无法追溯发布记录、回滚演练
D12 人可干预高风险动作审批、暂停与终止人工审批只在 UI 中模拟审批状态与权限测试

这些原则是本文提出的研究性设计框架,不是某一标准组织发布的十二条规范。以下逐项解释权衡与落地。

三、边界与模块化:D1 - D3 ​

3.1 平台与 Agent System 的职责边界 ​

Agent System 内部关注模型调用、工具使用、推理、编排、检查点和执行策略;Agent Platform 关注跨多个 Agent System 的注册、版本、部署、准入、配额、租户、运营和交付。平台可以内嵌 Agent Runtime,但架构设计仍应保持职责分离,以便更换执行引擎而不重写产品与管理系统。

平台对运行器的最小契约可抽象为:submit(run_spec) -> run_id、get_status(run_id)、cancel(run_id)、stream_events(run_id);长任务还可能需要 pause/resume 与 checkpoint 引用。上述接口是教学契约,不是通用行业 API;不同执行引擎可用适配层实现。

3.2 模块化与部署边界不是同一回事 ​

建议在单体后端内先建立清晰模块:Identity、Workspace、Registry、Deployment、Run Control、Resource Catalog、Artifact、Audit。模块通过内部接口调用,避免直接跨模块修改数据库表。只有出现独立扩容、故障隔离、团队协作或合规边界等可验证需求时,再考虑拆分部署。

权衡:单体部署降低网络故障、分布式事务与运维成本;服务拆分改善独立伸缩和隔离,却引入事件一致性、版本兼容、链路追踪和服务治理。架构决策应记录为什么拆分、何时拆分、如何回滚。

3.3 契约版本与兼容性 ​

Agent Definition、Run Spec、Tool Binding、Event、Artifact Metadata 应具有明确 schema。兼容变更可以增加可选字段;破坏性变更需要版本化和迁移。客户端与运行器不可依赖“某个 JSON 恰好包含字段”的偶然行为。对于异步事件,消费者必须容忍重复投递,并在契约中定义事件标识、时间、来源与对象版本。

四、控制面、执行面与状态:D4、D7 ​

4.1 控制面与执行面的交互 ​

mermaid
sequenceDiagram
    participant U as User / Client
    participant C as Control Plane
    participant Q as Queue / Dispatch
    participant E as Execution Plane
    participant S as State Store
    participant A as Artifact Store
    U->>C: Create Run (idempotency key)
    C->>C: Authenticate / Authorize / Quota
    C->>S: Persist Run + Version Snapshot
    C->>Q: Dispatch Run
    C-->>U: run_id + accepted
    Q->>E: Execute run_id
    E->>S: Update status / checkpoint
    E->>A: Save artifacts
    E->>S: Finalize outcome + references
    U->>C: Query / Subscribe
    C->>S: Read status and artifacts
    C-->>U: State + result links

图中 Queue 与 State Store 是逻辑角色,可在早期使用数据库任务表和单个 Worker 实现;不必强制采用独立消息中间件。

4.2 可靠状态机 ​

参考 Run 状态:created → queued → running → succeeded | failed | cancelled,并允许 running → waiting_approval → queued/running。真正的实现必须定义合法迁移、权限、终态不可逆规则和超时行为。Run 与 Attempt 应分开:同一个业务 Run 可以有多个执行尝试,避免重试导致用户看到重复任务。

状态迁移要满足持久化先于可见承诺:系统不能先向用户宣布已接收任务,却没有可恢复的任务记录。使用事务性 Outbox 或同类机制可以减少“写数据库成功但派发消息失败”的不一致;是否需要该机制取决于实际存储和队列组合。

4.3 幂等、重试与副作用 ​

创建 Run 应支持客户端幂等键;Worker 处理消息按至少一次投递假设设计。对纯计算步骤可安全重试;对发邮件、扣费、删除文件等外部副作用,必须采用操作幂等键、结果核对或人工补偿,不能假设重试天然安全。Exactly-once 不应作为跨外部系统的默认承诺。

4.4 故障恢复策略 ​

故障期望行为验证方法
Web 服务重启已接受 Run 仍可查询重启 API 进程
Worker 崩溃Run 不永久卡在 running杀死 Worker 并恢复
模型超时记录失败原因并受控重试注入超时
重复队列消息不产生重复外部副作用重放消息
审批期间重启审批请求和状态保留重启并继续审批
产物写入失败不虚报任务交付成功模拟存储不可用

五、安全、隔离与治理:D5、D6、D10、D12 ​

5.1 身份与权限必须贯穿整个调用链 ​

至少区分 User Identity、Service Identity 与 Agent Execution Identity。用户请求经鉴权后形成受约束的执行上下文,Worker 只能使用被授予的资源与工具,不应直接继承后台超级管理员凭据。执行敏感操作时,应检查发起主体、租户、资源、操作和审批状态;对高风险操作实行默认拒绝。

5.2 多租户隔离不是单个字段 ​

租户隔离覆盖身份、数据查询、对象存储、缓存、队列、密钥、日志、计量和计算资源。可以采用共享数据库带强制租户过滤、数据库级行安全、独立数据库或独立计算池等模式;不同模式在成本、性能、风险和运维复杂度上有不同取舍。

最重要的验证是负向测试:A 租户是否可能通过 API、资源 ID、共享链接、日志或工具连接读取 B 租户数据。仅在 UI 中隐藏资源不是隔离。

5.3 资源边界与成本控制 ​

设置用户/租户/工作空间三级预算和配额,并定义生效优先级。典型控制包括并发 Run 数、单 Run 最大时长、模型 Token 预算、工具调用次数、文件大小和存储保留期。预算用尽应明确停止、降级或申请授权,不能让 Agent 无限重试。

5.4 人工审批是后端状态,不是弹窗 ​

高风险工具调用应产生持久化 Approval 对象,关联 Run、待执行动作、审批人、超时、决定与审计证据。审批完成前,执行器不能绕过审批直接继续。审批的撤销、超时和重复提交都应有明确状态迁移规则。

六、可观测性与可审计性:D8 ​

平台至少应关联 tenant_id、workspace_id、agent_version_id、run_id、attempt_id、trace_id。指标包括 Run 接受率、成功率、P95 完成时间、排队时间、恢复率、人工审批等待时间、每 Run 成本与租户资源使用量。应区分业务指标(报告是否交付)和基础设施指标(CPU、队列积压)。

审计日志应记录主体、动作、对象、时间、结果和策略依据;对于密钥、个人数据与模型输入输出,遵循最小采集和保留策略,避免为了观测而过度收集敏感内容。日志、Trace、事件和审计记录各有用途,不可互相替代。

七、扩展性、发布与演进:D9、D11 ​

7.1 扩展优先级 ​

优先扩展无状态 API 与独立 Worker;在确有证据时再引入分区队列、专用执行池、缓存层和租户级资源池。伸缩应基于队列等待、任务执行时长、资源消耗与成本指标,而不是仅凭请求 QPS。

7.2 版本固定与安全发布 ​

已发布的 Agent Version 建议不可变。每个 Run 固定 Agent/Workflow 版本、模型路由策略及重要资源引用,以便回溯。发布流程应包含验证、审批、灰度、监控、回滚;注意模型服务与外部工具即使版本固定,行为也可能受提供方更新或外部环境变化影响,因此“版本固定”不等于结果完全可复现。

7.3 演进阶段 ​

阶段推荐架构必备能力暂不强求
S0 概念验证单进程或简单 Web + Worker端到端任务闭环多租户、复杂队列
S1 单租户 MVP模块化后端、数据库、任务队列Run 持久化、版本、审批、产物多区域部署
S2 团队协作权限模型、Workspace、审计、观测团队角色、隔离测试、故障恢复大规模插件市场
S3 平台化运营标准 API/SDK、租户隔离、配额发布治理、成本核算、兼容策略无需求的全球化架构
S4 规模化生态独立执行池、插件与扩展机制容量规划、生态安全、SLO固定的微服务数量

阶段是建议的成熟度路径,并非行业标准,也不要求每个平台按相同顺序建设。

八、架构权衡与决策方法 ​

8.1 典型权衡矩阵 ​

决策方案 A方案 B主要判断条件
后端组织模块化单体微服务团队规模、隔离、独立扩容
任务调度数据库任务表消息队列吞吐、重试、故障模型
执行承载共享 Worker租户专属执行池安全级别、噪声邻居
数据隔离共享库 + 行级隔离独立库合规、成本、恢复粒度
Agent 构建代码优先可视化优先用户技能、表达能力
工作流表示静态 DAG动态图/状态机任务动态性、可解释性
发布策略原地覆盖不可变版本 + 灰度可追溯与回滚需求

8.2 Architecture Decision Record(ADR)模板 ​

text
ADR-ID:
决策主题:
状态:Proposed / Accepted / Superseded
背景与约束:
备选方案:
决策及理由:
主要风险:
被拒方案的原因:
验证指标与实验:
回滚条件:
复审触发条件:

任何重要架构决策都应保留“为什么这样做”的证据,而不仅是最终技术栈。

九、贯穿案例:研究报告 Studio 的架构设计 ​

9.1 场景与约束 ​

Studio 包含选题 Agent、研究 Agent、分析 Agent、审核 Agent;支持审核返工、人工确认、长任务运行、资料引用与报告交付。用户需要查看执行状态、批准关键步骤,并能够在异常后恢复工作。初期假设为少量用户和有限并发;真实容量待压测。

9.2 最小可行架构 ​

mermaid
flowchart TB
  UI[Studio Web UI] --> API[Platform API / Control Module]
  API --> DB[(PostgreSQL: definitions, runs, approvals)]
  API --> Q[Task Queue]
  Q --> W[Worker / Agent System Runtime]
  W --> DB
  W --> OBJ[(Artifact Storage)]
  W --> EXT[Models / Tools / Knowledge]
  API --> OBJ
  API --> AUD[Audit / Metrics]
  W --> AUD

建议的初始模块:①用户与 Workspace;②Agent/Workflow Registry;③Run Controller;④Approval;⑤Artifact;⑥Resource Connector;⑦Audit。先以模块化单体加 Worker 落地,避免将每个模块拆为独立微服务。

9.3 一次完整运行的契约 ​

  1. 用户在 Studio 中选择已发布的 Workflow Version,提交研究任务。
  2. Control Module 验证用户身份、Workspace 权限、预算与幂等键。
  3. 平台创建 Run,记录版本快照与输入引用,并可靠派发任务。
  4. Worker 驱动 Agent System,记录步骤事件、Attempt 与检查点。
  5. 选题审核或高风险操作需要人工确认时,Run 进入等待审批状态。
  6. 用户审批后,平台核验审批权限与版本一致性,再恢复执行。
  7. 研究报告保存为 Artifact,关联 Run、版本、引用证据和访问策略。
  8. 用户查看结果,平台保留审计链路,并按策略归档。

9.4 不应过早引入的复杂性 ​

初期不必实现完整 Agent Marketplace、跨云容灾、多层组织计费、跨区域调度或复杂微服务网格。若研究资料涉及敏感数据,隔离和授权的优先级则必须提前提高。“MVP”只允许缩小功能范围,不允许跳过关键安全边界。

十、验证策略:从原则到可执行检查 ​

以下均为建议实施的测试,不是本文已运行的测试。

验证项测试设计通过标准示例
对象边界创建版本、部署、Run 后逐一查询ID、状态、引用关系独立
幂等提交同一幂等键重复提交只生成一个业务 Run
恢复能力运行中强制停止 WorkerRun 可恢复或明确失败
跨租户隔离A 用户读取 B 的 Run/Artifact拒绝并记录审计
审批不可绕过未审批直接调用恢复接口服务端拒绝
配额执行超预算后继续请求执行明确拒绝或授权升级
发布回滚新版本灰度失败能切回旧版本
追踪链路从报告反查任务与 Agent 版本引用链完整
负载与成本逐步增加并发 Run获得容量/成本曲线
外部副作用重放工具调用事件不重复发信/扣费

验收重点:架构原则必须落到接口、数据约束、状态机、监控指标或测试用例。仅在文档中声明“安全、可靠、可扩展”不构成验证。

十一、常见架构反模式 ​

反模式 A:把 Builder 当成 Platform。 可视化编辑器缺少版本、运行、权限与生命周期治理时,仍只是平台的一项能力。

反模式 B:把微服务当成成熟度。 没有清晰领域边界与运维能力的服务拆分,会提高故障面与维护成本。

反模式 C:把 Agent Session 当成 Run。 Session 是交互上下文,Run 是一次可追踪执行;二者可以关联但不应混用。

反模式 D:将业务状态保存在前端。 审批、取消、预算与执行进度必须由服务端维护权威状态。

反模式 E:只记录成功结果。 缺少 Attempt、失败原因和版本快照,会使故障恢复和质量分析无法实施。

反模式 F:用提示词代替权限控制。 提示词可以约束意图,但不能替代工具权限、执行隔离和后端授权。

反模式 G:所有能力一次到位。 没有实际使用数据就建设插件市场、跨区域调度和复杂计费,容易延误产品验证。

十二、与后续研究专题的映射 ​

本篇设计原则后续技术专题后续产品专题
D1/D3 边界与契约P1、P3、P4、P8F1 - F2 - F3 - F4、F11
D4/D7 执行与恢复P2、P5、P6F6 - F7 - F8
D5/D6 安全与隔离P11、P12F5、F12
D8 观测与审计P5、P10、P12F8、F10、F12
D9 扩展与集成P7 - P8 - P9F7、F11
D10 预算与配额P7、P12F6、F12
D11 发布与回滚P3、P5F4、F9
D12 人工介入P1、P5、P6F6、F7

本篇的作用是确定设计准则;后续专题需进一步说明数据结构、接口、算法、部署和验证方法,不在本篇重复所有实现细节。

十三、研究结论 ​

  1. 平台架构的首要任务是管理边界与契约:区分 Agent System 内部执行机制与 Agent Platform 跨系统管理职责,并明确对象模型。
  2. 控制面/执行面是逻辑分责,而非强制微服务拓扑:可以从模块化单体起步,按独立扩容、隔离和可靠性需求逐步演进。
  3. 状态、权限与恢复是平台的基础工程约束:Run 持久化、版本固定、幂等、租户隔离、人工审批与审计需要在架构阶段纳入。
  4. 可扩展性应以证据驱动:通过压测、SLO、成本与故障记录判断何时拆分服务、增加执行池和复杂调度。
  5. 架构设计必须可验证:每项原则至少对应一项契约、状态约束、指标或测试用例。
  6. Studio 的合理路径是先闭环、后平台化:先验证任务执行和交付,再建设团队协作、标准 API、多租户与生态能力。

至此,04 · Agent Platform → 01 · Fundamentals 六篇专题研究的主题链条完成:Definition & Boundaries → Core Components → Platform Architecture → Platform Types → Lifecycle Management → Design Principles。下一章进入 02 · Agent Platform 是如何构建和运行的? - Technical Architecture,建议先撰写章节概述,再进入 P1 Control Plane。

第六轮跨章节契约核对(v1.3-r1;2026-11-01) ​

[平台设计决策 / 待测试] 本节是领域级一致性修订说明,优先于本篇不一致的历史局部示例;不表示已执行数据库迁移、API 合约或运行测试。统一参考:04-Agent-Platform-Canonical-Contracts-v1.3-r1.md。

本篇 created、waiting_approval 仅是概念性状态示意;统一 Run 持久化枚举不含 created 或 waiting_approval。Run 创建受理后从 queued 起,审批等待采用 waiting + status_reason=approval;created 可作为创建流程或其他对象的状态,不可混入 Run execution_status。

上述映射不应机械替换其他对象(如 ManagementOperation、Deployment)的同名状态;正式实施应更新 OpenAPI/JSON Schema、SQL 约束、事件消费者、UI 映射及测试。

附录 A:参考文献与原始资料 ​

以下列出与本文设计原则直接相关的官方技术资料与经典工程文献。链接作为进一步核验入口;本文未进行在线逐页核对,产品与规范版本应以原始资料的最新正式发布内容为准。

  1. NIST, AI Risk Management Framework (AI RMF 1.0), 2023. nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-1.pdf
  2. NIST, Zero Trust Architecture (SP 800-207), 2020. csrc.nist.gov/pubs/sp/800/207/final
  3. OWASP, Top 10 for Large Language Model Applications. genai.owasp.org/llm-top-10
  4. OpenTelemetry, Documentation. opentelemetry.io/docs
  5. Google, Site Reliability Engineering, online book. sre.google/sre-book/table-of-contents
  6. Kubernetes, Controllers. kubernetes.io/docs/concepts/architecture/controller
  7. Kubernetes, Multi-tenancy. kubernetes.io/docs/concepts/security/multi-tenancy
  8. AWS, The Amazon Builders' Library - Making retries safe with idempotent APIs. aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs
  9. Microsoft, Azure Architecture Center - Architecture styles. learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles
  10. Martin Fowler, Monolith First. martinfowler.com/bliki/MonolithFirst.html
  11. Michael Nygard, Documenting Architecture Decisions. cognitect.com/blog/2011/11/15/documenting-architecture-decisions
  12. OpenAPI Initiative, OpenAPI Specification. spec.openapis.org/oas/latest.html
  13. CloudEvents, Specification. github.com/cloudevents/spec
  14. PostgreSQL, Row Security Policies. www.postgresql.org/docs/current/ddl-rowsecurity.html
  15. CNCF, Cloud Native Security Whitepaper. github.com/cncf/tag-security/tree/main/security-whitepaper

附录 B:研究证据、验证声明与适用边界 ​

已知来源与可核验事实:零信任、最小权限、幂等、可观测性、控制器模式、行级安全、API 规范与事件契约均有公开工程资料可供核验。具体应用时须根据所选技术版本确认实现条件。

研究性归纳:本文十二项原则、四种架构视图、Studio 演进阶段、能力映射与验收矩阵均为综合工程实践形成的研究框架,不宣称存在统一行业标准。

未验证内容:示例时序图、状态机、接口、架构拓扑、故障测试和容量策略是参考方案;本文未运行真实系统、压力测试、渗透测试或故障注入,因此不声称达到任何生产 SLO。

适用范围:主要面向可创建、配置、运行、管理多个 Agent 或 Agent System 的软件平台;对于单用途脚本、离线研究原型或严格隔离的高合规环境,应按实际需求缩减或增强设计。

后续验证任务:选择一套具体技术栈,将上述对象模型落成数据库 schema 与 API;对 Run 幂等、Worker 崩溃、跨租户访问、审批绕过、版本回滚进行可重复的集成测试,并记录结果与架构决策。