如何设计一个生产级的 Agent 系统架构?需要考虑哪些关键模块?
- 标签:AI、大模型、Agent
🏛 业务架构师
生产级 Agent 系统的关键模块,我按"一个平台六大模块"讲:
- Agent 运行时:推理循环引擎、工具调用执行、上下文装配——参考 LangGraph/OpenClaw 的 Runner 设计,支持配置化定义 Agent;
- 上下文与记忆管理:窗口裁剪、摘要压缩、Compaction、长期记忆存取(向量库+结构化档案)——成本与效果的核心调节器;
- 工具层(MCP 体系):工具注册中心、Schema 规范、权限管道、幂等执行、结果限幅——Agent 的"手"要统一治理;
- 模型网关:多 Provider 路由(按任务/成本/密级分流)、降级切换、限流配额、token 计量——不被单厂商绑定;
- 治理与安全:鉴权(用户/Agent/工具三级)、审计日志全链路、护栏(输入输出内容安全)、敏感数据脱敏、预算管控;
- 可观测与评估:全链路 trace(每步输入输出延迟成本)、评测集回归、线上指标看板(完成率/熔断率/单任务成本/人工接管率)。
再加两块组织能力:知识运营(知识库/Skills 的更新机制)和值班响应(Agent 事故的 oncall 流程)。
建设顺序建议:运行时+模型网关先跑通业务闭环 → 治理与可观测随第一个生产客户同步建 → 记忆和工具生态按场景迭代。最大的反面教材是六个月建平台不接业务——生产级能力是在真实流量里长出来的,不是画架构图画出来的。
🏗 系统架构师
生产级 Agent 系统架构我按**"核心层 + 横切层 + 治理层"**讲,这是我搭 Agent 平台的骨架:
核心链路(东西向):
- 接入层:多渠道适配(API/IM/Webhook)→ 统一消息协议 + 网关(鉴权、限流、幂等去重、路由到 Agent);
- 编排层:Agent Runner(执行循环)+ 规划器(任务分解);复杂任务走图编排(LangGraph 类),支持子 Agent 委派(上下文/权限隔离);
- 能力层:工具注册与执行(MCP 接入、沙箱运行、权限管道)、RAG 检索服务、代码执行环境(独立沙箱池);
- 模型层:多模型路由(按任务复杂度分级:小模型分类/大模型推理)、推理服务(vLLM 自托管 or API)、降级链(主模型故障切备用)。
横切支撑(南北向):
- 上下文引擎:窗口预算、Compaction、记忆检索(长期记忆库:向量 + 结构化);
- 状态持久化:会话/任务/checkpoint 存储(Postgres + Redis),断点恢复;
- 可观测:全链路 trace(每步 LLM 调用、工具调用)、成本计量(token/任务维度)、审计日志。
治理层(生产分水岭):
- 安全:护栏(输入输出过滤)、工具权限分级、高危人工审批、Prompt 注入防御、沙箱隔离;
- 稳定性:熔断(步数/token/成本三重保险)、降级(Agent 挂了回退规则/人工)、多租户配额;
- 质量迭代:评估流水线(金标集 + LLM Judge)、badcase 回流、灰度发布。
容量要点:GPU 推理集群按 QPS × 平均 token 规划 + PD 分离;工具沙箱按并发任务数弹性扩缩。一句话总结:模型是发动机,这套架构是整车——发动机决定上限,整车决定能不能上路。
💻 全栈开发专家
生产级 Agent 系统我按七模块设计(自上而下):
- 接入层(Gateway):多渠道适配、鉴权、限流、幂等去重、路由(消息→Agent);
- 编排层(Agent Runner):执行循环、任务状态机(持久化,可断点恢复)、子 Agent 派生与取消传播;
- 上下文引擎:窗口/摘要/记忆检索的装配策略(可插拔),token 预算管理——成本与质量的最大杠杆;
- 工具层:工具注册(schema 规范化)、JSON Schema 参数校验、执行沙箱(超时/资源限制)、幂等键、MCP 集成;
- 权限与安全层:分级策略管道(allow/deny/confirm)、提示注入检测、输出脱敏、高危操作人工审批;
- 记忆与存储层:会话存储(DB)、长期记忆(向量+KV)、任务产物(对象存储);
- 可观测与评估层:全链路 trace(每步输入输出)、token 计费看板、badcase 回放、离线评测集回归、灰度 AB。
横切关键设计:
- 预算刹车无处不在:步数、token、金额、时间,超限优雅收尾;
- 一切可重放:任务状态外置(进程崩了能恢复),trace 落库(出问题能回放定位);
- 降级路径:模型故障切备用、工具失败错误回喂自纠、全链失败转人工——SLA 靠降级而不是靠模型不犯错。
部署形态:无状态 Runner 多实例 + 消息队列削峰 + 模型网关(多 provider 路由/重试)。经验总结:demo 看 1、2 模块,生产赢在 5、7 模块——权限和可观测做得好,Agent 才被允许进生产。