想象一个勤奋的中学生小明。他每次考试后不是把卷子一扔就完事,而是打开一本厚厚的错题本,把做错的题抄下来,在旁边写上三行字:“错在哪”、“为什么错”、“下次怎么做”。考试越多,错题本越厚,但他的成绩也在稳步上升。最神奇的是,这套方法不需要老师盯着——只要错题本在,小明就能自己越学越好。 Agent(智能体)也面临同样的困境:执行任务、出错、再执行、再出错——如果没有复盘,它就会在同一个坑里反复跌倒。Reflexion(反思机制)就是给 Agent 装上一本“错题本”。它让 Agent 在每次任务结束后,回顾自己的表现,用自然语言写下经验教训,存入记忆库,下一次行动前翻出来参考。这样一来,Agent 不再只是机械地执行指令,而是拥有了“自我进化”的能力。

岗位关联

掌握 Reflexion,你就理解了 Agent 从“会做事”走向“越做越好”的核心引擎——这是构建持续进化的 Agentic AI 系统的一把关键钥匙。

目录
  1. 可视化演示
  2. 反思核心思想
  3. 语言反馈生成
  4. 情景记忆存储
  5. 行动策略改进
  6. 评估机制设计
  7. 应用场景拓展
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

反思核心思想

小明的错题本之所以有效,是因为它形成了一个完整的自我反馈循环:做题 → 对答案 → 反思 → 记入错题本 → 下次改进。如果只做题不对答案,错题永远不会被纠正;如果只对答案不反思,错误还会换个马甲卷土重来。Reflexion 的核心思想完全复刻了这条循环。

在 Agentic AI(以任务为导向的智能体)的世界里,Agent 每完成一轮任务,都要经历三个关键阶段:执行(Actor) 负责行动,完成一个任务轨迹;评估(Evaluator) 判断结果好坏;自我反思(Self-Reflection) 则把成功或失败的原因提炼成自然语言经验。这三者协作,构成了一次完整的“复盘”。

这套架构最迷人的地方在于无需人工干预。人类老师不会时刻盯着 Agent 改错,Agent 依靠自身的反思生成器和记忆模块就能完成改进。就像小明不需要妈妈反复提醒“你要好好学习”,错题本本身就是他自我驱动的引擎。

小明的错题本一页页累积,最终成了他的专属“考试秘籍”。Agent 的记忆库也在一轮轮循环中不断丰富,每一次反思都在为下一次行动积蓄力量——这就是“自我进化”最朴素的原动力。

Memoryt=Memoryt−1∪{Reflect(Trialt,Feedbackt)}\displaystyle \text{Memory}_{t} = \text{Memory}_{t-1} \cup \{ \text{Reflect}(\text{Trial}_{t}, \text{Feedback}_{t}) \}
这条公式是说:第 t 轮结束后的记忆库,等于上一轮的旧记忆,加上对第 t 轮尝试和反馈做反思后得到的新经验。
  1. 记忆仓库(Memory)Agent 的“错题本”,存放从过往尝试中提炼出的经验教训。
    Memory\text{Memory}
  2. 当前时刻(下标 t)第 t 轮任务尝试结束后的状态。
    Memoryt\text{Memory}_{t}
  3. 累积合并(∪)新经验与旧记忆合并,而不是覆盖——错题本是越写越厚,不是每次重抄一本。
    Memoryt−1∪{⋅}\text{Memory}_{t-1} \cup \{ \cdot \}
  4. 反思函数(Reflect)接收当轮的尝试轨迹和评估反馈,生成一条经验总结。
    Reflect(Trialt,Feedbackt)\text{Reflect}(\text{Trial}_{t}, \text{Feedback}_{t})

语言反馈生成

批改作业时,好老师从来不会只打一个“57 分”就结束,还会在卷子旁写评语:“第二步化简时符号搞反了,下次注意负号。”分数告诉你“考得差”,评语告诉你“差在哪、怎么改”。语言反馈的价值,恰恰在于它携带了可执行的改进信息。

Reflexion 的反馈管道也分两层。第一层是评估器(Evaluator),它像打分机器一样给出一个数值或标签——比如在代码任务里,评估器运行测试用例,输出“通过 3 个 / 失败 2 个”。第二层是自我反思模块(SelfReflect),它像老师写评语一样,把整个任务轨迹和评估分数作为输入,生成一段自然语言的经验总结。

这段总结与传统强化学习中的数值评分有本质区别。数值评分只告诉你“奖励是 0.7 还是 0.3”,语言反思却会告诉你“这次失败是因为我把参数顺序传反了”。前者需要 Agent 自己猜原因,后者直接把原因递到嘴边——这就是“语言反馈”四个字的含金量。

就像小明的错题本上永远写满“人话”而不是一串数字,Reflexion 的记忆库中也存满了可读、可复用的语言经验。分数会过时,但一句“负号容易出错”的提醒,能在无数次考试中持续生效。

Narrativet=SelfReflect(Trajectoryt,Scoret)\displaystyle \text{Narrative}_{t} = \text{SelfReflect}(\text{Trajectory}_{t}, \text{Score}_{t})
这条公式表示:第 t 轮生成的反思文本,由自我反思模块基于当轮的完整行动轨迹和评估分数综合得出。
  1. 反思文本(Narrative)一段自然语言的经验总结,类似老师写的评语。
    Narrativet\text{Narrative}_{t}
  2. 自反思模块(SelfReflect)负责把“分数”翻译成“评语”的组件——通常由一个大语言模型来扮演。
    SelfReflect\text{SelfReflect}
  3. 轨迹输入(Trajectory)Agent 完成任务全过程的行为序列,是反思的事实依据。
    Trajectoryt\text{Trajectory}_{t}
  4. 评分输入(Score)评估器给出的数值或标签反馈,是反思的直接诱因。
    Scoret\text{Score}_{t}

情景记忆存储

错题本不是流水账,小明不会把每道错题都抄进去,他只记录有价值的错因和解题思路:粗心算错的标一个“⚠️“,思路不通的写一段”这类题要先画图”。这样的错题本才值得考前翻阅。Reflexion 的情景记忆(Episodic Memory) 也是如此——它存的是精炼后的经验教训,而不是原始任务的流水日志。

记忆仓库的结构很清晰:每一轮反思产生的文本经验被编码成一条记录(比如 E_i),按时间顺序追加进记忆库。这些记录不是零散堆砌的,而是带有结构化信息的——包含任务类型、失败模式、改进建议等要素。当 Agent 面对新任务时,它能通过相似性检索找到相关的历史教训。

跨任务复用是情景记忆最闪耀的特性。小明在数学考试中总结的“审题要圈关键词”,在物理考试中同样适用;Agent 在代码生成任务中总结的“先写测试再写实现”,在问答推理任务中也能派上用场。记忆让经验拥有了迁移能力。

小明的错题本越整理越厚也越有价值;Agent 的记忆库同样在“写入—沉淀—检索”的循环中愈发强大。记忆不是被动的存储,而是主动进化的燃料。

Memory={E1,E2,…,En}=⋃i=1n{Reflect(Triali)}\displaystyle \text{Memory} = \{ E_{1}, E_{2}, \ldots, E_{n} \} = \bigcup_{i=1}^{n} \{ \text{Reflect}(\text{Trial}_{i}) \}
这条公式说明:记忆库是一个经验条目的集合,每个条目都来自某一次任务尝试的反思结果。
  1. 经验条目(E)一条具体的经验教训,如“减法要注意被减数在前”。
    EiE_{i}
  2. 记忆集合(Memory)所有经验条目的总集,对应错题本的完整内容。
    Memory={E1,E2,…,En}\text{Memory} = \{ E_{1}, E_{2}, \ldots, E_{n} \}
  3. 累积合并(∪)每一轮反思产生的经验都逐条追加进集合,记录越来越多。
    ⋃i=1n{⋅}\bigcup_{i=1}^{n} \{ \cdot \}

行动策略改进

考前最后一晚,小明做的不是刷新题,而是翻错题本。每翻到一页,他就在心里默念一遍:“这道题的陷阱是单位换算,明天要盯紧。”这些提醒会直接影响他第二天的解题策略。Reflexion 的下半场也是如此——策略改进让记忆变成行动力。

当 Agent 准备开始新一轮任务时,它会先检索记忆库,把相关的经验教训作为启发式指导注入行动计划。比如一个写代码的 Agent 曾因“没有处理空列表”而失败,反思后记住了这条教训。下一轮写代码时,它会在行动序列中主动加入“先判断输入是否为空”的步骤——这就叫避免重复错误。

策略调整的机制很轻巧:Reflexion 并不直接修改模型权重,而是通过修改“下一轮该怎么做的提示指导”来改变行为。这就像小明没有换大脑,但带着新的“考场清单”上场。随着轮次增加,策略在持续迭代中越来越稳健。

小明每次翻完错题本,第二天做题时手都更稳;Agent 每次读完记忆库,新一轮行动都更少踩坑。“经验 → 策略”的转化,正是 Reflexion 推动 Agent 持续进化的核心机制。

πt+1=Improve(πt,Memoryt+1)\displaystyle \pi_{t+1} = \text{Improve}(\pi_{t}, \text{Memory}_{t+1})
这条公式表示:第 t+1 轮的强化策略,是在第 t 轮策略的基础上,结合更新后的记忆库进行改进得到的。
  1. 策略(π)Agent 决定“下一步怎么做”的行动计划,类似小明的考场策略。
    πt\pi_{t}
  2. 改进函数(Improve)读取记忆库并生成改进指令的机制——它把经验转化为行动指引。
    Improve\text{Improve}
  3. 记忆输入(Memory)改进所依赖的经验库,是决策的依据。
    Memoryt+1\text{Memory}_{t+1}
  4. 更新后的策略(π_{t+1})融入经验教训后的新行动计划,比上一轮更聪明。
    πt+1\pi_{t+1}

评估机制设计

批改作业的方式有很多种:数学卷子可以用标准答案快速对错;作文可以同学间互评;关键的模拟考则要老师亲自面批。每种方式成本不同、效果不同。Reflexion 的评估器(Evaluator) 设计也遵循同样的思路,根据任务性质选择不同的评估策略。

第一种是环境反馈:直接用客观标准判断对错。比如在代码生成任务中,运行测试用例,通过就是通过,失败就是失败——这像用标准答案对数学题。第二种是启发式规则:人工设计一些判断规则,比如“回答中是否包含关键实体”“代码是否调用了指定 API”——这像语文卷子按“有没有写够 800 字、有没有跑题”来给分。第三种是人工评估:让人类专家查阅 Agent 的表现并给出反馈——成本最高,但在创意类任务中往往最可靠。

设计评估器时需要拿捏一个平衡:评估越精确,反思质量越高,Agent 改进越有效;但评估成本也随精度上升。聪明的做法是“能自动就自动,必要时上人工”。评估器给出的反馈(Feedback)作为反思模块的输入,直接决定了经验教训的质量。

小明对不同科目使用不同的复习策略——数学刷题、语文背素材、英语积累句型。Agent 也应当为不同任务挑选合适的评估方式。选对了批改老师,错题本的质量才有了保障。

Feedback=Evaluator(Trial,Reference)\displaystyle \text{Feedback} = \text{Evaluator}(\text{Trial}, \text{Reference})
这条公式说明:任何评估器都是把 Agent 的任务尝试与一个参考标准进行比较,从而得出反馈。
  1. 反馈(Feedback)评估器输出的判断信息,可以是分数、标签或详细报告。
    Feedback\text{Feedback}
  2. 评估器(Evaluator)负责“批改作业”的组件,是反馈的来源。
    Evaluator\text{Evaluator}
  3. 任务尝试(Trial)被评估的对象,即 Agent 本轮产出的结果。
    Trial\text{Trial}
  4. 参考标准(Reference)判断对错的依据,可以是标准答案、规则定义或人工期望。
    Reference\text{Reference}

应用场景拓展

错题本的妙处在于它的普适性:数学能用,物理能用,英语也能用。只要把“做题—复盘—改进”的循环套上去,任何需要反复练习的领域都能受益。Reflexion 同样是一门通用方法论,已经在多个 Agentic AI 场景中展现出惊人的自我进化能力。

在代码生成与纠错中,Agent 编写代码后,编译器报错和测试结果就是评估器;反思文本像“低级错误清单”一样指导下一轮编码。在 问答推理优化 中,Agent 对一道推理题给出答案后,通过与标准答案对比获得反馈,反思“我忽略了题目中 XX 条件”,在下一轮推理中加以修正。在决策规划提升中,Agent 模拟执行一个计划后,环境返回结果,反思则总结“这个决策树的第三步选择欠妥”,让规划器越调越准。

这些场景共同指向一个更宏大的趋势——Agentic AI 演进。从“给模型一个任务、它硬着头皮做”到“Agent 每次失败后自动总结经验、越战越强”,Reflexion 正是开启这条进化路径的钥匙。它让 Agent 具备了人类“吃一堑、长一智”的基本智慧。

从数学到物理再到英语,错题本成就了小明的全科进步;从代码到问答再到决策,Reflexion 正在推动 Agent 在多个领域的持续进化。一本错题本改变一个学生的命运,一套反思机制正在改变整个 AI 系统的成长轨迹。

lim⁡t→∞Performancet=Optimal\displaystyle \lim_{t \to \infty} \text{Performance}_{t} = \text{Optimal}
这条公式表达了 Reflexion 的终极理想:随着反思轮次的增多,Agent 的任务表现收敛逼近最优水平。
  1. 性能指标(Performance)任务成功率、得分或收益的综合评价。
    Performancet\text{Performance}_{t}
  2. 极限运算(lim)当反思轮次持续增加、循环往复。
    lim⁡t→∞\lim_{t \to \infty}
  3. 最优水平(Optimal)性能逐步逼近任务能达到的最好程度。
    Optimal\text{Optimal}

AI 应用场景

代码自动修复助手(Code Agent)

阶段:任务执行后评估与自我反思

解决的问题:传统代码生成 Agent 写出的代码一旦编译失败,只能人工查看日志、手动修正。每次错误都可能重复发生,因为 Agent 没有任何“记忆”。

具体案例:某开发团队使用 Reflexion 驱动的代码 Agent 自动修复 bug。Agent 提交代码后,评估器自动运行测试套件,将失败的测试用例(如“边界输入导致数组越界”)作为反馈。反思模块生成经验文本:“当输入列表长度为 1 时,循环条件应使用 ≤ 而非 <。”该经验存入记忆库后,同类 bug 在后续任务中不再出现。

自适应推理问答系统(Reasoning Agent)

阶段:答案生成后的自我校验与改进

解决的问题:多步推理问答中,LLM 经常在中间步骤出错且不自知。没有反思机制时,答错了也不会修正;有反思机制时,Agent 会复盘推理链条,定位薄弱环节。

具体案例:在数学应用题评测中,Agent 第一次答对了“小明有 3 个苹果,又买了 5 个”类型的题目,却在“小明给了 2 个给小红”类型的题目上失手。反思后它总结:“遇到给出/拿走的表述时,要特别检查操作符是加还是减。”再次遇到类似题时,Agent 准确答出。

决策模拟与规划优化(Planning Agent)

阶段:环境反馈驱动的策略迭代

解决的问题:在资源调度、游戏博弈等决策任务中,Agent 的规划方案不如人意时,传统方法需要大量人工调参或重新训练。

具体案例:一个仓储机器人调度 Agent 在模拟环境中规划拣货路径,评估器给出“路线总长超出预期 30%”的反馈。反思模块分析轨迹后发现:“搬运大件商品时应优先经过宽通道。”该教训被存入记忆后,Agent 在新一轮规划中自动避开窄通道,路线长度下降 18%。

Python 演示

python79 行
"""Reflexion 模拟器:一个通过自我反思不断改进的数学解题 Agent"""  class ReflexionAgent:    def __init__(self):        self.memory = []        self.trial_count = 0     def solve(self, question):        """执行一次解题尝试"""        self.trial_count += 1        if self.trial_count == 1:            answer = self._naive_solve(question)        else:            answer = self._reflect_solve(question)        return answer     def evaluate(self, question, answer, expected):        """评估器:判断答案是否与期望一致"""        return 1.0 if answer == expected else 0.0     def reflect(self, question, answer, expected, score):        """反思器:生成一条经验教训存入记忆"""        if score == 1.0:            lesson = "成功:对问题 " + str(question) + " 使用的方法有效,保持该思路"        else:            lesson = "教训:问题 " + str(question) + " 出错,期望 " + str(expected) \                     + " 却得到 " + str(answer) + "。下次请检查被减数在前"        self.memory.append(lesson)        return lesson     def _naive_solve(self, question):        """第一次尝试:减法总是把顺序搞反"""        a, op, b = question        if op == '-':            return b - a        elif op == '*':            return a * b        else:            return a + b     def _reflect_solve(self, question):        """后续尝试:结合记忆中的教训"""        a, op, b = question        if op == '-' and any('被减数' in m for m in self.memory):            return a - b        return self._naive_solve(question)     def run(self, task):        """完整流程:解 → 评 → 思 → 记"""        question, expected = task        answer = self.solve(question)        score = self.evaluate(question, answer, expected)        lesson = self.reflect(question, answer, expected, score)        return answer, score, lesson  def main():    tasks = [        ((15, '+', 27), 42),        ((50, '-', 23), 27),        ((86, '-', 42), 44),    ]    agent = ReflexionAgent()    print("=== Reflexion 模拟器 ===")    for question, expected in tasks:        answer, score, lesson = agent.run((question, expected))        status = "正确" if score == 1.0 else "错误"        print("问题: {} {} {}  期望: {}".format(question[0], question[1], question[2], expected))        print("回答: {}  [{}]".format(answer, status))        print("反思: {}".format(lesson))        print()    print("记忆库最终内容:")    for m in agent.memory:        print(" - " + m)  if __name__ == "__main__":    main()
目的:演示一个迷你版 Reflexion 流程——Agent 第一次做减法时把被减数和减数搞反(50-23 算成 23-50),评估器发现错误,反思模块写入“被减数在前”的教训,第三次遇到减法时正确解答。
  1. if self.trial_count == 1:区分第一次尝试(无记忆)和后续尝试(有记忆),这是 Reflexion 的核心时间轴。
  2. answer = self._naive_solve(question)第一次没有经验,只能“蒙着头做”,对应 Agent 的初始策略。
  3. score = self.evaluate(question, answer, expected)评估器用标准答案判断对错,对应“对答案”环节。
  4. if score == 1.0:根据对错生成不同的反思内容:成功要巩固经验,失败要提取教训。
  5. self.memory.append(lesson)把反思结果写入记忆库,这是 Agent“长记性”的关键动作。
  6. if op == '-' and any('被减数' in m for m in self.memory):后续尝试时检索记忆,命中教训就用修正后的策略解题。

常见误区

误区“Reflexion 不就是写一段'请反思一下你的回答'的 Prompt 吗?我加一句'仔细想想再回答'也是 Reflexion。”

正解Reflexion 是一个完整的闭环系统,包含执行、评估、反思、记忆四个组件。真正的反思必须基于评估器的客观反馈,并把反思结果写入可持续检索的长期记忆中,用于指导后续多轮行动。单次 Prompt 式的“请反思”没有评估依据,没有记忆累积,反思完就忘了——就像让小明口头说一句“我要努力”但不把错题记下来,下次照样犯错。

为何常见:因为 Reflexion 的外在表现确实是一段反思文本,初学者容易把“文本生成”等同于“反思机制”,忽略了背后的评估与记忆基础设施。

误区“Reflexion 一定需要专门微调一个反思模型吧?不然模型怎么知道怎么反思?”

正解Reflexion 的最初设计恰恰是零训练的——它直接利用现成 LLM 的上下文学习能力生成反思文本,评估器可以是测试用例或规则函数,记忆模块可以用简单的文本列表实现。反思质量不足时,才考虑用强化学习微调反思器。先把流程搭起来,不需要动模型权重。

为何常见:传统机器学习(如强化学习、微调)都强调“更新参数”,人们习惯性地认为任何机制都要训练才能生效,忽略了纯推理期方法(inference-time method)的存在。

误区“反思就是让模型说'我的回答哪里哪里不好',说得越严格越好,跟批判性思维是一回事。”

正解Reflexion 的反思不是泛泛的自我批评,而是面向改进的经验提取。有效的反思必须输出具体的、可执行的教训——“下次遇到负数减法要检查符号”比“我这次做得不够好”有价值一万倍。同时,反思是闭环中的一环,它要服务于下一次行动,而不只是展示批判姿态。

为何常见:LLM 在类似“反思大师”的提示下会产出大量听起来深刻但空洞的文本,让人误以为“能批判”就是“会反思”。

误区“Reflexion 依赖 LLM 生成自然语言反思,不用 LLM 的系统根本玩不转。”

正解Reflexion 的精髓是“评估 + 经验 + 复用”,自然语言载体只是 LLM 时代的具体实现。在小规模策略模型中,同样可以用结构化记录(如键值对、特征向量)替代语言反思,加上评估函数和记忆缓冲区,构成轻量版 Reflexion。关键不是语言,而是反馈驱动的经验积累闭环。

为何常见:原始论文的示例都基于 LLM,读者容易把“论文实现”误当“机制本质”。

误区“有了 Reflexion,Agent 自己就能进化,传统强化学习可以淘汰了。”

正解Reflexion 和强化学习是互补关系。Reflexion 擅长提供高层的语言反馈和策略提示,但模型底层的决策能力仍需由参数更新来夯实。实践中常出现两者结合:先用 Reflexion 做快速迭代反思,再用强化学习对反思结果做持久化训练。别指望一本错题本替代所有的讲课和练习。

为何常见:看到 Reflexion 在多项任务上超过传统方法后,容易产生“新方法碾压旧方法”的惯性思维。

面试题

Q1. Reflexion 的三个核心阶段是什么?

单选题 · easy

  • A.执行、评估、反思← 正确答案
  • B.训练、验证、测试
  • C.编码、解码、输出
  • D.感知、推理、行动

答案:A。Reflexion 的标准循环是“执行(Actor 完成任务)→ 评估(Evaluator 打分)→ 反思(SelfReflect 提炼经验)”。训练/验证/测试是机器学习流程,编码/解码/输出是序列生成流程,感知/推理/行动是通用 AI 流程,均与 Reflexion 的三阶段定义不符。

Q2. 与传统强化学习的数值奖励相比,Reflexion 的语言反馈最大的优势是什么?

单选题 · easy

  • A.使用自然语言反馈← 正确答案
  • B.使用数值评分信号
  • C.根本不需要任何反馈
  • D.反馈只来自人类标注

答案:A。语言反馈的优势在于它能直接告诉 Agent“错在哪、怎么改”,数值奖励只告诉“好不好”。就像老师写评语“符号搞反了”比只给一个 57 分更有指导意义。选项 B 是传统 RL 的做法,C 完全错误,D 片面——Reflexion 的反馈主要来自环境或规则。

Q3. 在 Reflexion 中,情景记忆的主要作用是什么?

单选题 · mid

  • A.存储任务的原始输入数据
  • B.存储模型参数的更新量
  • C.存储反思生成的经验教训← 正确答案
  • D.存储训练过程的日志

答案:C。情景记忆(Episodic Memory)是 Reflexion 存放“反思生成的文本经验”的仓库,类似学生的错题本。它不存原始输入(那是缓存)、不存参数更新(那是优化器的事)、不存训练日志(那是运维的事)。记忆的内容是精炼后的可复用教训。

Q4. “评估器”在 Reflexion 中的职责是什么?

单选题 · mid

  • A.生成反思文本指导
  • B.给表现打分或反馈← 正确答案
  • C.修改网络模型参数
  • D.执行算法的动作

答案:B。评估器对应“批改作业的老师”,职责是对 Agent 的表现给出打分或反馈信号。生成反思文本是反思模块(SelfReflect)的职责,修改参数是训练优化器的职责,执行动作是执行器(Actor)的职责。四者各司其职,注意区分。

Q5. 下列哪一项不是 Reflexion 评估器的常见设计?

单选题 · mid

  • A.环境测试用例验证
  • B.启发式规则判断
  • C.人工评估打分
  • D.随机数生成器打分← 正确答案

答案:D。Reflexion 的评估器必须基于某种客观或半客观的标准——测试用例、规则、人工判断都可行。随机数生成器打出的分数与任务表现无关,无法提供有效反馈,就像掷骰子给学生批卷子,分数没有意义。

Q6. Reflexion 中 Agent 改进决策的时机是什么?

单选题 · mid

  • A.任务执行中实时微调
  • B.完成一轮反思后调整← 正确答案
  • C.收到人工指令时调整
  • D.每次随机初始化时

答案:B。Reflexion 遵循“先执行、再评估、后反思、下次改进”的节奏,策略调整发生在一轮反思结束、下一轮任务开始前。它不像实时控制那样在执行中调参,也不依赖人工指令,更非随机初始化——这是 Reflexion 的基本时序特征。

Q7. Reflexion 的反思输出用自然语言而非纯数值,关键原因是什么?

单选题 · mid

  • A.自然语言经验更可执行← 正确答案
  • B.语言模型只能输出文本
  • C.数值信息无法被存储
  • D.文本能压缩一切信息

答案:A。自然语言能携带“原因 + 改进方法”,数值只能携带“好坏程度”。比如“测试 3 失败:输入空列表时未处理”这句话,直接告诉 Agent 下轮怎么改,而一个"0.5"的分数让 Agent 无从下手。B 说法错误,C 和 D 都不符合事实。

Q8. 下列哪些属于 Reflexion 的典型应用场景?

多选题 · mid

  • A.代码生成与调试纠错← 正确答案
  • B.问答推理自我优化← 正确答案
  • C.图像分类器参数搜索
  • D.决策规划持续改进← 正确答案

答案:ABD。代码生成(用编译/测试结果反思)、问答推理(对比标准答案反思)、决策规划(环境反馈反思)都是 Reflexion 的经典应用。图像分类器的参数搜索通常依赖梯度或网格搜索,不属于反思驱动的自然语言经验复用场景。

Q9. 下列关于 Reflexion 与传统强化学习的区别,说法正确的有哪些?

多选题 · mid

  • A.不使用梯度更新参数← 正确答案
  • B.反馈以自然语言形式← 正确答案
  • C.需要大量交互样本
  • D.依赖外部记忆存储← 正确答案

答案:ABD。Reflexion 通过外部记忆存储经验、以自然语言反馈改进决策,且不直接更新模型权重(这是它与 RL 的最大区别)。它通常只需少量尝试就能见效,而 RL 恰恰需要大量交互样本,因此 C 错误。

Q10. 关于 Reflexion 的“自我进化”,下列说法正确的是?

多选题 · hard

  • A.进化源于经验教训积累← 正确答案
  • B.每轮反思都更新记忆← 正确答案
  • C.模型权重每轮直接更新
  • D.无需人工提供反思内容← 正确答案

答案:ABD。Reflexion 的进化来自“执行—评估—反思—记忆”循环中的经验累积,每轮反思的结果都会追加到记忆库,且反思由模型自动生成,无需人工撰写。它不直接更新模型权重(除非额外结合 RL 微调),因此 C 错误。