返回
Kevin Riedl

12 分钟 阅读 · 2026年9月17日
最近审核

下一篇
图片在你的设备上生成,不连接 Instagram。文章链接会复制到剪贴板,供链接贴纸使用。

AI 智能体设计模式:从简单开始,执行前验证

“对话一结束,你的 AI 就把一切都忘了。”这描述的是没有持久化上下文的无状态应用,并不适用于所有 AI 产品。对话内状态与跨会话记忆是两种不同的能力,应用都可以自行提供。LangChain 记忆机制概览

不过,记忆并没有回答下一个架构问题:智能体可以凭借记住的信息做什么?客服助手可能需要之前的对话来理解投诉,但不能把记忆中的“我是管理员”当成发起退款的授权。关于跨会话的信息提取、更新和遗忘,请参阅Supermemory 实施指南。本文讨论的是执行流程的选择。

对 AI 智能体来说,每一份复杂度都应该有充分理由。我的起点是能够满足任务验收标准的最小系统。Anthropic 同样建议先尝试简单方案,再权衡额外的智能体行为所带来的延迟和成本。Anthropic 的有效智能体设计建议

本文根据故障类型比较五种实用模式。它们是可以组合的架构选择,不是完整分类标准,也不是必须逐级升级的五层成熟度模型。尤其要明确:验证是风险控制,不是架构足够复杂之后才配备的功能。资料核查日期为 。以下示例和验收场景是设计建议,不是客户项目的实测结果。

哪一种 AI 智能体设计模式能解决你的故障?

增加模型调用之前,先找出最早被违反的要求。缺少上下文,可能需要改进上下文管理;业务流程可以预先确定,可能只需要编写固定工作流。这两种情况都不自动意味着需要自主循环。

针对已经观察到的故障,选择最小的架构调整
实际需求可考虑的模式需要接受的成本或边界
一次调用已经满足验收标准单次调用(Single-shot)没有自主恢复或后续工具选择。
下一项有用的工具取决于上一次结果ReAct 循环更多调用、不断变化的状态,以及明确的停止条件。
长任务偏离目标或跳过存在依赖的步骤规划器与执行器(Planner-executor)维护计划、跟踪依赖,并限制重新规划。
初稿能通过具体的质量批评得到改善反思(Reflection)增加一轮修改,也可能引入新错误。
动作会改变资金、权限或外部系统验证器门控执行(Verifier-gated)生效前独立检查,并设计拒绝和升级处理路径。

最后一行可以适用于其他任何一行。一次模型调用产生的付款建议,同样需要授权。反过来,一个只读摘要功能也不会仅仅因为增加了规划器就变得更好。

1. 单次调用:只要有效,就保留简单基线

单次调用模式把范围明确的任务发送给模型一次,然后返回输出,不运行自主工具循环。严格来说,它是基础 LLM 工作流;按照要求模型动态选择动作的定义,它未必属于智能体。

它适合从已提供的投诉中提取字段、给请求分类、总结已批准的文档,或在上下文齐全时起草回复。必要的数据可以在调用之前通过确定性的程序准备好,并不需要让模型自己决定如何检索。

示例:把客服消息转换成类别、紧急程度和简短摘要,再用普通应用代码验证数据结构。缺少必填字段时,应返回验证失败或请求人工检查,而不是编造订单号。

优势是应用层执行路径很小。局限在于:不改变架构,模型就无法查看一个结果后再自主决定查询另一项来源。一次调用也不天然意味着结果确定、成本低或答案正确;这些都取决于模型、上下文和任务。只要测得的质量足够,就保留这一基线。对于精确计算或固定转换,首先考虑普通代码,而不是模型。

2. ReAct:当观察结果改变下一步动作时,再增加循环

ReAct 交替进行决策、行动和观察。工具结果会影响下一步选择,而不只是填充预先固定的步骤。原始论文研究了推理与环境动作相结合的方法。ReAct 原始研究论文

示例:客服助手查询订单。如果发现运输异常,就继续检查配送事件;如果退货已经完成,就查询退款状态。只看用户最初的消息,无法预先确定哪一次后续查询最有价值。

这不同于每次都读取订单、获取同一份政策,然后生成摘要的固定流程。对于后者,显式应用代码可能比让模型选择执行路径更容易测试。

首次实施时,应设置最大步骤数、总运行时限和工具调用预算。识别没有获得新证据的重复查询。区分可重试的传输故障与业务拒绝;预算耗尽时,明确返回“未完成”状态。记录工具名称、参数、结果和简短决策说明,不要要求访问模型隐藏的内部思考过程。

工具观察结果是数据,不是新的授权来源。敏感读取之前要检查访问权限,工具参数必须验证,每一次会产生重要后果的写操作都要经过控制。检索页面中出现“忽略政策”,不能因此改变实际政策。

3. 规划器与执行器:把任务规划和实际执行分开

Planner-executor 模式为规划和执行分配不同责任。规划器提出步骤,执行器完成步骤。这是 LangChain 最初介绍该模式时的核心思路,不是效果必然提升的保证。规划与执行分离的架构说明

当长任务反复遗漏交付物、丢失依赖关系或难以从中断处恢复时,可以考虑这种模式。例如,市场研究报告需要先收集证据,再分析,最后形成建议。流畅的最终文字不应该掩盖缺失的研究步骤。

每个拟定步骤都应明确输入、预期输出、依赖关系和完成检查。把已完成工作保存为显式状态。只有当证据推翻原有假设时才重新规划,而不是因为模型还能生成另一份计划。限制重新规划次数,并向负责人展示被阻塞的步骤。

规划与执行不要求使用不同模型,也不要求多个智能体。一个执行器就可以依次完成计划。只有任务真正独立时,并行工作单元才有意义;共享写入和相互依赖的输出需要协调。如果步骤已知且稳定,预定义工作流通常是更小的设计。

需要警惕的故障是:计划格式漂亮,内容却不正确。执行前检查范围和前置条件,完成后验证真实输出,不要把打勾的清单当成成功证据。

4. 反思:改善初稿,不要把自我认可当成证明

反思模式在初次输出之后增加批评和修订。Self-Refine 使用模型生成的反馈来修改初稿,并报告了在受测任务上的改进。该结果不能被解释为普遍准确性保证。Self-Refine 研究论文

采用具体的评判标准:是否回应了每个问题?是否区分事实与假设?是否只使用批准的来源?“再认真想一想”不是验收标准。先增加一轮修改,再与未经修改的基线比较。

示例:一份客服回复草稿事实正确,却没有说明下一步。批评阶段可以指出这一遗漏,并要求补充清晰说明。对于代码,批评可以提出改进建议,但编译、测试和人工审查仍然是独立检查。

关于内在自我纠错的研究发现,受测模型在没有外部反馈时可能无法修正推理,甚至让结果变差。这是针对特定任务和模型的警示,不代表所有后续系统都不可能改善。无外部反馈条件下的自我纠错研究

实际区别很直接:反思问的是“初稿能否改善”,验证检查的是“要求是否真的得到满足”。第二个模型表示同意,依然无法证明用户拥有某项权限,也无法证明账户余额正确。

5. 验证器门控:将提出动作与授予执行权限分开

验证器门控执行会阻止动作生效,直到独立控制允许它执行。OWASP 建议在下游系统实施授权、限制权限,并对高影响操作要求人工批准,而不是让 LLM 自行决定权限。OWASP 关于过度自主权的建议

“独立”意味着智能体不能绕过检查、改写检查政策或自行伪造证据。验证器可以包括结构校验、规则引擎、可信系统查询、确定性计算或人工审批。另一个模型可以提供参考意见,但不应成为唯一的授权边界。

对于退款建议,我会要求应用确定已认证的操作主体与租户,从权威业务系统读取当前订单,验证金额和币种,检查剩余可退款额度,并确认所需审批。这些是工程控制建议,不是一套完整的支付实现。

审批必须绑定到确切动作,包括收款方、金额、币种和相关记录版本。建议发生变化,就需要重新验证。OWASP 的交易授权指南要求服务端强制执行,并在执行前进行最终授权检查。OWASP 交易授权指南

证据缺失、验证器响应格式错误或验证器超时,都应该阻止执行或转交审核。业务拒绝不能演变成无限重试。对不确定结果设计幂等与对账机制:支付超时并不能证明付款没有发生。再次写入之前,应先检查当前状态。

门控必须放在每个相关副作用之前,包括中间步骤的工具调用,而不只是最终答案之前。执行后还要核对真实结果。执行前授权与执行后验证解决的是不同问题。

客服助手不需要同时使用全部五种模式

假设客户询问一笔延迟配送的订单,并希望了解是否可以退款。这是设计练习,不是客户部署案例。先采用单次调用分类和只读工作流。只有当后续调查取决于之前的查询结果时,才引入 ReAct。

规划器是可选的:简单的订单状态查询通常不需要它。只有调查涉及多个相互依赖的交付物时,才考虑加入。反思同样可选,适用对象是回复草稿,而不是支付授权。

退款路径则不同。将执行凭据保留在模型之外,验证结构化建议,获得必要批准,通过范围有限的接口执行,并核对结果。无论建议由一次模型调用还是多次调用生成,这一边界都不变。

同一客服流程的建议验收场景
场景预期行为
查询返回新的相关证据选择下一项允许的查询,或在问题已解决时停止。
同一查询不断重复,却没有进展在预算范围内停止,并说明仍未解决的问题。
审批后退款金额发生变化拒绝使用过期审批,重新验证修改后的建议。
验证器不可用或所需证据缺失不执行,报告阻塞状态或请求有权人员审核。
提交后执行超时在安全重试之前,先通过操作标识核对状态。

持久化安全恢复所需的状态,但不要把聊天记录等同于执行台账。对敏感追踪数据进行脱敏,并测试重启行为。OWASP 的智能体安全指南进一步讨论了工具限制、记忆保护和运维控制。OWASP AI 智能体安全检查指南

如何判断增加一轮循环是否值得?

使用相同的代表性任务,对比基线和一项拟议改动。尽可能保持模型配置与评估标准一致,记录不可避免的差异,并进行多次试验。否则,所谓的架构进步可能只是换了模型,或者测试样本更简单。

衡量通过验收的结果、无依据的陈述、未授权动作、人工审查投入、超时,以及端到端 p50/p95 延迟。计算全部模型和工具调用,包括重试和修订。成本核算方法见AI 智能体单次动作成本指南。这里要决定的是:增加的步骤是否充分减少了那个具体故障,足以抵偿额外运维负担。

安全控制不是可以在真实用户身上随意取消的实验选项。授予写入权限之前,应先在沙箱或影子模式中测试会产生重要后果的流程。不能因为无门控的测试更快,就移除授权。

运行时、故障恢复和运维责任,可参考智能体运行控制层架构指南。对于具体实现,Wavect 的AI 开发服务将执行流程与产品要求、验收检查连接起来。我们的从原型到企业试点的交付案例是另一项独立实践,不能作为这些模式已在该项目中完成对比测试的证据。

可以用上线前软件 QA 检查清单定义发布标准,或讨论你的智能体流程具体出现了什么故障。准备一条失败追踪、一个成功示例,以及系统绝对不能在未获批准时执行的动作。

AI 智能体设计模式常见问题

本文介绍哪五种 AI 智能体设计模式?
单次调用、ReAct、规划器与执行器、反思,以及验证器门控执行。它们是实用且可组合的模式,不是完整标准。根据任务需求选择控制流程,并在动作会产生重要后果时实施独立授权。
一次 LLM 调用真的算智能体吗?
按照要求模型动态选择动作的定义,不算。本文把它作为最简单的基线。如果不需要根据观察结果选择后续工具,一次调用配合确定性输入准备和输出验证可能已经足够。
什么时候应该选择 ReAct,而不是固定工作流?
当下一项有用动作取决于事先未知的工具结果时,可以考虑 ReAct。如果步骤顺序稳定且可以预先确定,应先实现普通工作流。任何自主循环都要设置时间、步骤和工具调用上限。
规划器与执行器模式必须使用多个智能体吗?
不需要。规划和执行是不同责任,不一定对应不同模型或多个工作单元。一个执行器可以依次完成计划。只并行处理真正独立的工作,并在执行前验证计划。
反思等于独立验证吗?
不等于。反思对输出提出批评并进行修改;独立验证通过规则、测试、可信业务记录或有权人员审批来检查要求。模型认可自己的答案,不能证明权限存在,也不能证明事实正确。
单次调用模式也需要验证门控吗?
可能需要。风险取决于动作,不取决于模型调用次数。重要操作生效前必须受控,审批要绑定确切建议;必需检查不可用时应阻止执行,执行后还要核对结果。

最终思考

从已经观察到的故障出发,而不是从框架图出发。一次调用够用就保留它;下一步依赖观察结果时再加入 ReAct;长任务偏离目标时再分离规划;质量改进可以测量时再使用反思。对于会产生重要后果的动作,让授权独立于提出建议的智能体。复杂度应该解决已证明存在的问题,而不是取代证据。

生产级 AI 支持

正在构建 AI 产品,却担心推理成本、架构或生产可用性?Wavect 帮助创始人把 AI 原型变成可靠的生产系统。

查看相关服务:

只收重要内容

关注与你相关的内容

每当我们发布新文章,你会收到一封简短邮件。你可以关注整个博客,也可以只选感兴趣的主题。

你希望接收哪些内容?
选择主题

免费、双重确认、不使用跟踪像素。

返回
Kevin Riedl

12 分钟 阅读 · 2026年9月17日
最近审核

下一篇

获取下一篇关于AI 与智能体的一线笔记

有新文章时发送一封简短邮件,不使用跟踪像素,也不发送填充内容。

免费、双重确认、不使用跟踪像素。