字节笔记本
2026年5月31日
AI Agent 的左右互搏之术:Basic Reflection
Basic Reflection 是 AI Agent 中一种简单却极其有效的自我纠错机制。它的核心思路是让 Agent 自己生成输出,再让自己审查自己的输出,然后根据审查结果改进。这种"左右互搏"的模式不需要额外的训练数据或外部评分器,完全依靠模型自身的推理能力完成自我改进。
具体实现方式很直接。第一轮对话,Agent 根据用户的需求生成初始回答。这一轮的目标是快速产出,不追求完美。第二轮对话,Agent 切换到一个审查者的角色,重新审视自己刚才生成的输出。它检查的内容包括:逻辑是否自洽、有没有遗漏关键信息、表述是否准确、有没有更好的组织和呈现方式。检查完成后,输出一个修正版本。
为什么这种方式有效?大语言模型在生成内容时有一个特性:它在生成过程中受到"惯性"的影响,一旦开始沿着某个方向输出,后续的内容会自然地延续这个方向。但当你让它以审查者的身份重新审视时,它使用的是不同的认知策略,不再受之前生成惯性的影响,能够更客观地发现问题。同一个模型,在"写"和"审"这两种模式下表现出来的能力差异是显著的。
Basic Reflection 的实现完全基于 prompt 设计。生成阶段的 prompt 侧重于产出,鼓励模型发散思考。审查阶段的 prompt 侧重于批判,要求模型严格检视每一个细节。两个 prompt 的设计质量直接影响最终效果。如果审查 prompt 写得不够具体,模型的自我审查就会流于形式,发现不了真正的问题。
实践中有一个很实用的技巧:在审查阶段给模型提供明确的检查清单。清单可以包括事实性错误检查、逻辑一致性检查、完整性检查、格式规范性检查。检查清单越具体,审查效果越好。只跟模型说"检查一下你的输出"效果有限,但告诉它"检查这三件事"效果会好得多。
这个机制的变体还可以延伸应用到多轮审查场景中。你可以让两个 Agent 分别扮演生成者和审查者,相互配合。生成者产出内容,审查者发现问题并提出修改建议,生成者根据建议修改,审查者再次确认。经过多轮迭代,输出质量会逐步提升。当然,多轮迭代也意味着更多的 token 消耗和更长的响应时间,需要在质量与效率之间做权衡。
实际应用中,Basic Reflection 特别适合需要高准确性的场景,比如代码生成、报告撰写、数据分析。在这些场景中,一次生成的错误率可能较高,但通过自我审查可以显著降低。对于实时性要求高的对话场景,使用 Basic Reflection 需要权衡响应时间的增加是否值得。
微软在构建 AutoGen 框架时也采用了类似的反思机制。在 AutoGen 的多 Agent 协作中,不同的 Agent 分别承担生成和审查的职责,Agent 之间通过结构化消息交换信息。这种多 Agent 的反思机制比单 Agent 的自审效果更好,但也带来了更高的复杂度和更多的消息传递开销。
对于中小团队来说,建议先从单 Agent 的自我审查开始。它的实现简单,不需要引入额外的模型或服务,但对内容质量的提升效果很明显。等验证了这一机制的有效性后,再考虑升级到多 Agent 的协作模式。选择哪种方案,取决于你对响应速度和质量的要求。
反思机制与多 Agent 协作的区别也值得注意。在反思机制中,同一个 Agent 先后扮演不同的角色,生成和审查都是同一个模型完成的。在多 Agent 协作中,不同的 Agent 独立运行,通过消息交换信息。反思机制实现简单、成本低,但受限于单模型的能力上限。多 Agent 协作可以实现更复杂的交互模式,但系统复杂度更高。实际中可以根据任务复杂度选择合适的方案。评估反思效果的方法也很重要。最佳的做法是分别记录生成阶段和修正阶段的输出版本,对比两次输出的质量差异。这种对比可以帮助你判断反思是否真的提升了输出质量,还是仅仅改变了表述方式。用量化的指标来评估,比如事实准确性、逻辑完备性等,比主观判断更可靠。