【AI Agent架构】AI Agent 架构设计核心思路

Agent 架构与传统软件架构最大的区别,不是增加了 LLM、Memory、MCP 或 Multi-Agent,而是系统把一部分原本由代码确定的执行逻辑,交给了具有不确定性的模型动态决策

这带来一个新的架构问题:

如何把"不确定的智能决策",放进一个确定、可靠、可治理的工程系统?

这个问题可以沿着一条因果链拆成 5 个核心设计问题:

  1. 决策边界:既然 AI 可以决策,哪些事情可以让它决定?
  2. 架构取舍:边界确定后,到底应该给 Agent 多大的自主权?
  3. 正确性:自主权增加后,执行路径不再固定,怎么判断 Agent 做对了?
  4. 失败治理:既然 Agent 的判断可能错误,怎么控制错误及其影响范围?
  5. 可观测性:既然很多错误不会产生 Exception,怎么发现、定位和持续改进?

这五点不是并列能力,而是一条连续的架构推导:

Decision Boundary → Autonomy Trade-off → Correctness → Failure Control → Observability

可以用一个简单的企业报销 Agent 把这条链串起来。用户说:"帮我把这次上海出差的费用报销掉。"

  1. Agent 可以自己查找发票、识别费用类型、匹配出差记录并填写报销单,这是它的决策边界
  2. 但是否超过报销标准、用户是否有权限、超过 5000 元是否需要审批,必须由代码控制
  3. 在此基础上,还要决定 Agent 是只能帮用户填写草稿,还是可以直接提交报销,这就是自主权取舍
  4. 一旦允许 Agent 自主完成任务,就不能要求它每次都按照完全相同的步骤执行,而应该判断最终报销单是否正确、整个过程是否遵守公司制度,即 Outcome Correctness + Constraint Correctness。
  5. 如果 Agent 匹配错了发票,不能简单 Retry 再错一次,而应该根据情况重新匹配、重新规划,风险较高时转人工,这就是 Failure Control。
  6. 最后,即使所有接口调用都成功,也仍然需要知道 Agent 为什么选择这张发票、为什么归类为差旅费、是否触发过规则、最终结果是否正确,因此必须记录完整决策和执行过程,这就是Observability。

1. 决策边界:哪些事情可以交给 AI?

这是 Agent 架构首先要回答的问题。

传统 Workflow 的执行路径由代码决定,例如:

输入 → 问题改写 → 元数据召回 → SQL 生成 → SQL 校验 → 执行

Agent 出现以后,模型可以根据当前目标和执行结果动态决定下一步做什么。系统因此第一次把部分"控制权"交给了模型。

但模型具有概率性,所以不能把所有控制权都交出去。架构上需要明确区分两类决策:

  • 不确定性决策交给 AI:意图理解、Planning、Tool Selection、信息检索、结果判断、Replan。
  • 确定性规则交给代码:Permission、Quota、Transaction、Idempotency、Resource Limit、Audit、Safety Policy。

例如 NL2SQL 中,Agent 可以判断用户到底想查询什么、应该召回哪些元数据、SQL 是否需要重新生成;但用户有没有权限访问某张表、SQL 是否允许执行、最多扫描多少数据,必须由确定性代码控制。

因此第一条原则是:

AI 负责处理不确定性,代码负责守住确定性边界。

换句话说,Agent 可以决定怎么完成任务 ,但不能决定系统规则要不要遵守


2. 架构取舍:应该给 Agent 多大的自主权?

划定决策边界之后,下一个问题自然出现:

边界应该画在哪里?

边界越大,Agent 自主性越强,可以解决更加开放的问题;但执行路径也越不可预测,测试、成本、安全和治理难度都会增加。

因此很多看起来不同的 Agent 架构问题,本质上都是自主权的 Trade-off

  • Workflow vs Agent:是否需要把执行路径的决定权交给模型?
  • Single Agent vs Multi-Agent:决策权是否需要进一步拆分和协作?
  • Autonomy vs Control:Agent 可以连续自主执行到什么程度?
  • Context vs Cost:为了提高决策质量,值得给多少上下文?
  • Quality vs Latency:为了提高结果质量,允许多少轮思考和 Tool 调用?
  • Retry vs Cost:为了提高成功率,允许消耗多少额外资源?
  • Memory vs Privacy:为了获得长期能力,哪些信息允许被长期保存?

这些问题背后其实只有一个核心判断:

增加的自主性带来的业务收益,是否大于它引入的工程复杂度和风险?

因此 Agent 架构并不是自主性越高越先进。更合理的原则是:

使用满足业务目标所需的最小自主性。

能通过 Workflow 稳定解决的问题,不需要 Agent 化;Single Agent 能解决的问题,也没有必要为了形式上的"职责拆分"直接变成 Multi-Agent。


3. 正确性:路径不确定以后,什么叫"做对了"?

自主权增加之后,会产生一个必然结果:

执行路径开始不确定。

同一个任务,第一次可能:

A → B → C → 完成

第二次可能:

B → A → D → C → 完成

如果两个过程都正确完成了业务目标,就不能再要求 Agent 必须按照固定路径执行。

因此 Agent 系统的正确性需要从传统的:

Path Correctness

逐渐转向:

Outcome Correctness + Constraint Correctness

具体来说:

  1. Outcome Correctness:结果是否正确?

    例如 SQL 是否正确回答问题、退款是否成功、工单是否正确创建。

  2. Constraint Correctness:过程是否始终遵守约束?

    例如有没有越权、有没有重复退款、有没有超过预算、有没有执行禁止操作、有没有绕过人工审批。

因此 Agent 可以拥有一定程度的过程自由 ,但不能拥有结果和规则的自由

这进一步改变了测试体系。

传统测试更多验证:

Input → 固定 Path → Expected Output

Agent 则需要验证:

Goal → Outcome + Constraints

所以 Eval 在 Agent 系统中不应该只是模型评测,而应该逐渐成为与单元测试、集成测试、E2E 测试类似的工程质量基础设施:持续判断一个具有非确定性的系统,是否仍然能够稳定完成业务目标并遵守系统约束。


4. Failure Thinking:Agent 做错以后怎么办?

只要允许 Agent 自主决策,就必须接受:

Agent 一定存在判断错误。

因此正确性定义完成之后,下一个架构问题不是"怎么让 Agent 永远正确",而是:

Agent 判断错误以后,系统如何控制影响?

传统分布式系统主要面对的是执行失败

DB Down、Network Timeout、Service Crash、MQ 重复消息。

Agent 在此基础上增加了另一类失败:

Decision Failure。

例如:

选错 Tool → 参数错误 → Tool 正常执行 → 错误理解返回结果 → 错误 Replan → 错误进一步扩大

这里最危险的地方在于:整个链路可能没有任何 Exception。

HTTP 全部返回 200,数据库正常,服务正常,但业务已经错了。

因此 Agent Failure Recovery 不能简单等于 Retry × 3。必须区分失败类型:

  1. Retry:执行路径正确,只是发生临时技术故障。
  2. Replan:当前决策路径本身可能错误,需要重新规划。
  3. Fallback:当前模型或 Tool 无法可靠完成任务,切换方案。
  4. Human Handoff:风险超过自动化边界,转人工处理。
  5. Terminate:超过循环次数、成本预算或安全边界,直接终止。

所以 Agent 的 Failure Thinking 与传统系统相比发生了一个重要变化:

从**"组件失败以后如何恢复",扩展为"决策错误以后如何限制 Failure Radius 并恢复"**。

目标不是保证 Agent 永远不犯错,而是做到:

错误可限制、可发现、可恢复。


5. 可观测性:如何知道 Agent 做错了?

Failure Thinking 最终又会推导出最后一个问题:

如果 Agent 的错误没有 Exception,我们怎么知道它错了?

这正是传统 Observability 在 Agent 系统中需要扩展的原因。

传统监控主要回答:

系统有没有正常运行?

所以关注 QPS、CPU、Memory、Latency、Error Rate、Log、Metric、Trace。

Agent 还必须回答:

系统虽然正常运行,但 Agent 有没有正确完成任务?

因此需要能够还原完整的决策链:

Goal → Context → Decision → Tool → Observation → Replan → Outcome

并在此基础上观察四个维度:

  1. Reliability:系统有没有正常执行?
  2. Quality:Agent 有没有正确完成任务?
  3. Safety:Agent 有没有突破决策边界?
  4. Efficiency:完成任务消耗了多少 Token、Model Call、Tool Call、时间和成本?

这样 Trace、Eval、Safety、Cost 就不再是四套独立能力:

  • Trace:Agent 为什么这么做?
  • Eval:最终做得对不对?
  • Safety:过程中有没有越界?
  • Cost:为了完成任务付出了多少代价?

它们共同构成 Agent 的反馈系统。


6. 最终形成一个完整的 Agent 架构闭环

把前面的五个问题连起来,Agent 架构的逻辑就比较清楚了:

1. Decision Boundary

先划定:

AI 能决定什么?

2. Autonomy Trade-off

再决定:

给 AI 多大的自主权最合适?

3. Correctness

自主决策导致路径不确定,因此重新定义:

什么叫"做对了"?

4. Failure Control

既然模型一定可能判断错误,就继续解决:

做错以后如何限制影响并恢复?

5. Observability

而决策错误又不一定产生 Exception,因此必须解决:

怎么发现它做错了,并把结果反馈回来?

最终形成:

Boundary → Decision → Execute → Evaluate → Recover → Feedback

这才是 Agent 架构真正的主干。

LLM、RAG、Memory、MCP、Tool、Multi-Agent、Guardrail、Sandbox、Checkpoint、Human-in-the-loop 都可以放到这条主干下面理解,它们是解决具体架构问题的技术手段,而不是架构本身。

因此,从架构师视角看,Agent 时代真正增加了一种新的管理对象:

智能决策的不确定性。

传统架构主要管理网络、节点、数据、并发带来的不确定性;Agent 架构在这些问题之上,又增加了对决策不确定性的治理。

最终可以把 Agent 架构设计压缩成三个判断标准:

  1. 决策可以不确定,但决策边界必须确定。
  2. 执行路径可以不确定,但结果和约束必须可验证。
  3. Agent 可以犯错,但错误必须可发现、可限制、可恢复。

这三个原则基本可以作为后续分析 Agent 架构问题的总纲。

相关推荐
霍格沃兹测试学院-小舟畅学1 小时前
我用 AI 把 Swagger 变成 500 条 pytest 用例,回归从 3 天到 3 小时
人工智能·测试工具
Dawson Zhu1 小时前
大模型 Agent 记忆系统五大技术路线解析与工程选型指南
人工智能·语言模型·架构·aigc·agi
AI砖家1 小时前
AI 编程面试 20 题:Codex、Claude Code 与 AI 工具使用全攻略
人工智能·语言模型·ai编程·claude·codex
H0311169851 小时前
移动应用数据平台资料整理:月狐数据、易观千帆、艾瑞咨询
人工智能
成为深度学习高手1 小时前
EMAformer:给Transformer披上嵌入铠甲增强时间序列预测
人工智能·深度学习·数据挖掘
逐米时代1 小时前
BOM智能构建:全链路一致性自动校验
大数据·数据库·人工智能
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(76):SEEM——从碎片检索到完整事件重建
论文阅读·人工智能·学习·开源·github
zhangfeng11331 小时前
Ubuntu 版的 CANN 9.2.0-beta.1 的下载方式 三大云厂商的服务器系统
人工智能·华为·ai编程·npu·cann
唐璜Taro1 小时前
Agent Harness 系列 · 第 2篇|同一个问题三种回答
人工智能·python