Reflection 模式:AI Agent 在生产环境的自我纠错实践
介绍 LLM 的自批评循环机制,通过质量门控、ROI 度量和安全控制提升正确性与可靠性。
完整中文译文
Reflection Pattern(反思模式)是四种关键的 Agentic AI 设计模式之一(另外三种是工具调用、规划和多 Agent 协作),它使 AI 系统能够处理复杂任务。该模式允许 AI Agent 生成输出,对其进行批评,然后修正。这种反馈循环使 Agent 更容易捕获错误并提升输出质量。
Reflection Pattern 的工作原理
假设某个团队构建了一个业务流程自动化解决方案,比如一个客服 Agent 对话系统,其中使用了 Reflection Pattern。一旦 Agent 被触发,它会遵循一个三阶段循环。
首先,Agent 所绑定的 AI 模型针对提示词(在这里是客户的问题)生成初始回复。它访问自身资源(如产品文档或公司政策)来创建"初稿"回复,然后将输出保持在临时状态以进行自我评估。
接着,Agent 提示同一个或另一个模型,根据开发者在模式设计中预定义的标准对初始生成结果进行批评。在这个过程中,它可能会问自己一些问题,比如"我是否考虑了所有公司政策?"以及"我提供的回复是否可能有害或错误?"如果 Agent 开发者选择了工具增强的 Reflection Pattern,模型可能会访问外部系统(如搜索引擎)来完成评估。模型捕获并记录需要在向客户回复之前修复的潜在缺陷。
Agent 将其原始草稿和批评反馈给生成模型。它利用这些额外上下文来修改回复,纠正错误并删除无关信息,从而产生更高质量的输出。
对于 Agent 的开发者来说,建立停止标准(例如固定的迭代次数)非常重要,以防止 Agent 陷入无限的优化循环。如果没有停止标准,Agent 可能会消耗大量模型 token,或者迭代超过最优响应点从而降低质量。设置合适的停止点可以降低计算成本和延迟,同时保持输出质量。
一旦 Agent 达到其停止点,它就会将精炼后的输出返回给客户,回答他们的问题。
简化图示说明了 reflect-refine(反思-修正)模式。注意,Generate / Refine 步骤不一定是单轮 LLM 完成。它们可以是具有自己工具和 RAG 的多轮 AI Agent。

Reflection Pattern 的变体
Agent 开发者应根据其对输出质量和延迟容忍度的需求选择合适的 Reflection Pattern 变体。这点尤为重要,因为 Agent 需要解析多源反馈。
Single-Model Self-Reflection(单模型自我反思)
Single-Model Self-Reflection 是最简单的 Reflection Pattern 设计策略。在这种设置下,Agent 使用的模型既是生成者也是评估者。模型根据预定的标准对自己生成的输出进行批评。然后 Agent 将模型的批评反馈到其生成提示词中。这种设计模式简单直接,可以提升 Agent 的输出质量。但模型在进行自我评估时受限于其内部知识和推理过程。它可能无法识别自身的错误,甚至可能在最终输出中强化幻觉,这通常被称为自我偏好偏差(self-preference bias)。
Multi-Agent Reflection(多 Agent 反思)
Agent 开发者可能选择设计包含多个 Agent 的 Reflection Pattern,以降低与单模型反思相关的质量风险。在这种方案中,一个 Agent 控制模型的生成,并将初稿发送给第二个 Agent 来负责反思。可以将其视为一种同行评审。具有不同推理过程的 Agent 或模型能够捕获原始模型可能忽略的错误或幻觉。
Tool-Augmented Reflection(工具增强的反思)
这种设计模式在反思阶段引入外部工具。如果模型判定其内部知识和推理不足以纠正某个错误,它可以调用外部工具,如搜索引擎或数据库。这个过程通常能提升模型验证事实主张的能力,但它依赖于所用外部工具或数据的准确性。
AI 架构师和工程师可以使用工作流自动化工具(如 n8n)来运行多步推理 Agent 或 Agentic RAG。工程师可以与 SDK 配合工作。然而,当使用具有可视化界面的工作流自动化工具时,他们可以更快地迭代并更好地跟踪每个阶段的进度。n8n 是一个开源的、AI 原生的自动化平台,工程师和非技术用户都可以在其中创建 AI Agent 和 Agentic 工作流。用户可以将多个 AI Agent 节点与不同的系统提示词链接起来,一个用于生成,另一个用于批评。这些节点通过子工作流连接,以管理复杂的模块化流程。
何时使用 Reflection Pattern(何时不用)
选择正确的设计模式会对 AI 任务自动化 的性能和成本产生重大影响。Reflection Pattern 可以提升输出质量,但它可能不是您项目的最佳选择。
在以下情况下,您可能需要使用 Reflection Pattern:
响应质量是团队最重要的因素。对您来说,是否模型把输出质量和逻辑一致性置于速度之上更为重要?如果答案是肯定的,那么您会发现这种迭代模式能够为您的团队创造最大价值。
您有可验证的正确性标准。当输出可以根据明确的标准或预定义的检查清单进行衡量时,Reflection 尤其有效。
您的单次输出经常包含错误。Reflection 可以帮助检测和纠正错误。
在以下情况下,您可能需要选择其他设计模式:
任务是时间敏感的。Reflection Pattern 的每次循环都需要额外的模型推理,有时还需要外部工具调用,这会增加延迟。如果速度是您的首要考虑,Reflection 可能不适合您的 Agent。
初稿质量已经令人满意。如果输出的第一个版本通常能够满足您的业务需求,那么 Reflection 带来的额外复杂性和成本可能不值得。
您需要控制成本。如果您要处理大量请求,发送多个 LLM 调用的成本可能会变得难以承受。
如果您有兴趣使用 Reflection Pattern 但担心成本,n8n 可以提供帮助。您可以使用该平台通过 API 跟踪 AI Agent 的 token 消耗和成本,并轻松地在模型之间切换。如果 Reflection 对您的用例来说太昂贵,您可以调整您的工作流。
使用 n8n 实现 Agentic 设计模式
如果您需要提高 AI Agent 输出的准确性和质量,Reflection Pattern 可能是一个值得尝试的设计模式。您可以使用 n8n 的子工作流架构、AI Agent 节点和条件分支来可视化地实现 Reflection 循环。立即开始免费试用。
Reflection Pattern 的常见用途
除了软件开发,Reflection Pattern 还用于内容创作和编辑、数据分析和报告,以及法律和财务摘要等领域。在所有这些场景中,初始结果可能不完整或包含不准确之处,因此单轮自动审查和纠正通常有助于改善结果。
Reflexion 和 Reflection Pattern 有什么区别?
Reflection Pattern 是一种特定的设计策略,让模型通过迭代获得更好的答案。Reflexion 则是一种通用研究方法,帮助 AI 系统在多次独立试验中从错误中学习。
n8n 用户来自不同的背景、经验水平和兴趣领域。我们一直在尝试在博客文章中突出展示不同的用户及其项目。如果您正在使用 n8n 并希望为社区带来启发,欢迎联系我们 💌