SuperAPI AI 工具集

reflexion-pattern

智能体与模型

查看项目

更新于 10-29 04:36

技能介绍

Reflexion Pattern 是一种用于智能体循环的失败重试改进模式。当智能体失败时,若用相同提示重试,往往会得到相同失败。Reflexion 在此加入一个批评者:读取失败的轨迹,写出一条简短的语言化教训,并存入情景记忆;执行者在下次尝试时读取该教训。整个过程受重试预算约束,避免无限循环。

用途 适用于同一任务在相同提示下失败两次及以上、存在明确成功信号(如测试、标准答案、评审器)、且失败模式可从轨迹中识别(如工具选错、参数错误、计划错误)的情况。不适用于一次性、无重试余量的任务,失败信号噪声大(评审器自相矛盾)的场景,或预算过紧、无法支持两次以上尝试的情况。

主要能力 该模式包含四个组件:执行者(Actor)负责任务执行并产出轨迹(动作与观察);评估者(Evaluator)对轨迹评分,输出 success: bool、score: float、reasons: list;批评者(Critic)诊断失败并提出修正,输出不超过 200 token 的简短语言化教训;记忆(Memory)跨尝试保存教训,以只追加的 lessons[] 形式维护。

使用方式 需先锁定稳定评分规则,例如示例中 rubric 为:test_suite_passes 占 0.4、acceptance_criteria_met 占 0.3、no_forbidden_actions 占 0.2、efficiency 占 0.1,success_threshold 为 0.85。每次尝试使用相同规则与权重,不在实验中途调整。批评者提示模板要求:不重述任务、不超出轨迹进行推测,只针对导致失败的具体动作或决策写出简短教训。重试预算通过 ReflexionBudget 数据类定义:max_attempts 默认 4、max_cost_usd 默认 1.0、min_score_improvement 默认 0.05。停止条件为:success 为 True、尝试次数达到上限、成本达到上限,或分数提升低于最小改进阈值(进入平台期)。

LangGraph 快速开始示例中,actor 将历史教训拼入提示并运行任务;evaluator 按 rubric 评分;critic 调用 LLM 生成教训并追加到记忆;条件边在分数超过 0.85 时结束,否则进入批评者节点。

适用场景与限制 适合有明确验证信号、可多次重试、失败可从轨迹诊断的智能体任务。需避免的反模式包括:批评者只说“再努力点”(应约束为可执行的教训)、教训列表无界增长(应保留最近 N 条或聚类)、跨尝试混用评分规则(应在运行前冻结)、批评者只看到最终答案而看不到轨迹(这样无效)。进一步阅读可参考 Shinn 等人发表于 NeurIPS 2023 的原始 Reflexion 论文与 LangGraph 反思示例,并可与 multi-agent-eval-harness 搭配使用。