🦸🏻#12: 智能体如何从错误中学习?AI 中反思的作用

社区文章 发布于 2025 年 3 月 9 日

我们探讨了反思如何使人工智能无需外部反馈即可进行自我纠正,从而使系统更可靠、更自主

上周,我们探讨了推理和规划如何协同工作,使人工智能更有效——让模型不仅能思考,还能将思想构建成目标驱动的行动。然而,即使有了强大的推理和规划能力,人工智能仍然缺乏一些基本的能力:从自身决策中学习的能力。

这就是反思的用武之地。除了预先思考之外,智能体人工智能还需要分析过去的行动,识别错误,并完善其策略——就像人类(有时)所做的那样。如果没有反思,人工智能可能会重复错误而不是改进。Andrew Ng 认为反思是智能体人工智能的关键设计模式,它使模型能够批判和完善自己的输出,从而做出更好的决策。

今天,我们将深入探讨反思作为智能体人工智能的核心构建模块,探索 Reflexion 和 ReAct(以及其他)等框架如何实现自我评估和迭代学习。随着人工智能走向更高的自主性,自我反思正在成为一项关键能力——弥合行动与持续学习之间的鸿沟。


🔳 Turing Post 在 🤗 Hugging Face 上驻扎 -> 点击关注!


本期内容包括什么?

哲学根源

反思——分析自己的思想和行动的能力——长期以来一直被认为是智力的基础。苏格拉底提倡质疑自己信仰的做法,认为只有通过内省才能将健全的推理与错误的假设区分开来。古代东方哲学也呼应了这一思想,孔子将反思置于模仿和经验之上,视之为通向智慧的最高途径。纵观历史,反思一直被视为磨砺判断力、完善决策和促进个人与智力成长的机制。

从每晚进行自我审查的斯多葛学派,到探索思想本质的笛卡尔,反思一直是哲学中的核心主题。亚里士多德和康德等思想家区分了沉思和行动,认识到有目的的深思熟虑是做出有意义决策的关键。在近代,约翰·杜威将反思性思维描述为在证据面前对信念进行细致和持久的评估,使个人能够有远见而不是冲动地行动。

唐纳德·勋(Donald Schön)后来对此进行了扩展,区分了**行动中的反思**——实时调整和适应——和**行动后的反思**,即个人分析过去的决策以改进未来的决策。这一思想强化了这样一种观念,即专家决策不仅仅是关于规划,更是关于在行动展开时动态地**评估和完善**行动。这些概念深刻地影响了从认知科学到教育的各个领域,塑造了我们对**学习、推理和行动如何协同工作**以驱动真正智能的理解。

今天,这些思想正在渗透到人工智能中。

理解人工智能中的反思

在人工智能智能体的语境中,反思是指智能体**思考自己的行为和结果**以进行自我纠正和改进的能力。它本质上是人类内省或“系统 2”审慎思维的人工智能模拟。反思型人工智能不会仅仅本能地反应(就像快速的、启发式的系统 1 反应),而是会停下来分析自己所做的事情,识别错误或次优步骤,并调整其策略。(**系统 1** 和 **系统 2** 思维的概念由 **丹尼尔·卡尼曼** 在其著作《思考,快与慢》中提出)。这种机制允许人工智能智能体无需新的外部训练数据即可从其经验中学习,通过内部评估反馈。通过自我反思,智能体可以纠正以前的错误并在下次尝试时生成改进的解决方案,从而体现出一种自我改进的循环。

人工智能先驱**吴恩达将反思视为智能体人工智能的核心组成部分**,与规划、工具使用和多智能体协作并列——这些构建模块可能定义下一波人工智能的进步。反思型人工智能模型不仅能生成答案,还能批判和完善自己的输出,识别缺陷,进行改进,并迭代直至达到更强的结果。

这种自我审查循环——**生成 → 批判 → 改进**——已在编码、写作和问答等任务中显示出巨大的性能提升。**吴恩达强调,反思使人工智能能够无需外部反馈即可进行自我纠正,从而使系统更可靠、更自主。**

人工智能中的反思并非孤立存在——它与其他智能体系统的核心组成部分相互作用。正如我们之前所写,自主智能体通常有几个协同工作的构建模块。首先是**剖析**,智能体被赋予一个角色或目标来定义其行为(定义其身份、目标和约束)。接下来是**知识**,它提供智能体的基本信息或获取事实的途径(例如知识库或预训练的世界模型)。智能体还维护**记忆**——存储过去交互或步骤的上下文(包括短期记忆,如当前对话或轨迹,和长期记忆,如累积经验)。凭借知识和记忆,智能体进行**推理和规划**,分解任务,进行推断,并制定行动计划。然后它采取**行动**来执行计划(例如调用工具、生成输出或在环境中移动)。最后是**反思**:智能体根据目标评估这些行动的结果,从任何错误或意外结果中学习。这个反思步骤“评估结果以影响未来的推理和行为”,从而关闭智能体工作流程中的反馈循环。

image/png

至关重要的是,**反思允许智能体动态调整自身**。在一个设计良好的智能体系统中,这意味着操作流程是循环的:剖析定义角色,知识提供上下文,记忆和推理指导行动,智能体执行行动,然后反思评估该行动的效果。学到的任何经验教训(例如行动失败或推理路径没有结果)都会反馈到智能体的记忆或规划模块中,以指导下一个循环。随着时间的推移,这会提高性能,因为智能体积累了反思性见解。这种通过反思持续自我改进的想法具有强大的理论吸引力——它本质上是一种**即时适应**的形式。值得注意的是,它不需要每次都重新训练模型的权重;相反,学习通过自然语言或符号反馈在知识和规划层面发生。研究人员甚至将其比作语言智能体的一种“口头强化学习”,其中模型**通过语言反馈而不是梯度更新来强化良好行为**。

总而言之,人工智能中的反思提供了一种**机制,使智能体能够对其自身的推理进行元推理**,从而实现更高水平的自主性。

实施细节:Reflexion 和 ReAct 框架

为了使这些想法具体化,一些人工智能研究工作已经为人工智能智能体实现了反思机制。两个著名的框架是 Reflexion 和 ReAct,它们以不同的方式将反思和推理集成到大型语言模型 (LLM) 智能体中。下面,我们将探讨它们各自的工作原理以及它们如何影响智能体的决策。

Reflexion:通过自我反馈学习

Reflexion 框架(Shinn 等人,2023)明确设计用于将反思循环嵌入到基于 LLM 的智能体中。Reflexion 没有使用强化学习对模型进行微调,而是保持模型冻结,并使用基于文本的反馈作为一种强化形式。

image/png

在典型的 Reflexion 智能体中,LLM 扮演执行者的角色,尝试完成一项任务(例如,编写代码来解决问题或在游戏环境中采取步骤)。该尝试的结果(包括来自环境的任何反馈,如错误或成功信号)随后被输入到自我反思提示中,模型被要求批判其最近的尝试并提出改进建议。其核心思想是智能体生成一个关于哪里出了问题或可以做得更好的文本“反思”。这个反思被存储在智能体的记忆中,并作为额外上下文提供给下一次尝试。实际上,智能体随身携带一份不断增长的经验教训日志(用普通语言),这会使其下一次行动偏向于更好的结果。

通过迭代这个过程,Reflexion 智能体在单个会话中通过试错快速学习。例如,如果智能体首次尝试任务失败,反思步骤可能会注意到:“我陷入了循环,下次也许可以尝试不同的策略或工具。”下一次运行,根据这个建议进行条件,会更成功。值得注意的是,Reflexion 可以整合各种类型的反馈信号:数字奖励、错误消息或人类提示都可以转换为反思提示以指导智能体。这种灵活性使其成为一种通用的即时改进方法。在实验中,Reflexion 取得了令人印象深刻的成果。在编码基准 (HumanEval) 上,经过 Reflexion 增强的 GPT-4 智能体达到 91% 的成功率,而没有反思的 GPT-4 智能体为 80%——有效地超越了该任务的先前最佳水平。同样,在模拟环境中的决策任务中,Reflexion 智能体大大优于其非反思型智能体,在使用自我评估反馈时,解决了 AlfWorld 环境中 134 个挑战中的 130 个。这些结果表明,为 AI 智能体提供结构化方式来“思考他们所做的事情”并记住这些见解,可以在复杂任务中产生最先进的性能。

ReAct:推理与行动交织

Reflexion 侧重于从试验结果中学习,而 ReAct(Yao 等人,2023)是一个将推理步骤与行动步骤紧密耦合在单个循环中的框架。“ReAct”这个名称反映了“推理 + 行动”:智能体被提示在思考(思维链式推理)和行动(执行 API 调用或环境行动)之间交替进行。传统上,人工智能要么完全在其隐藏状态中进行推理(如思维链提示),要么被迫一步一步地行动而没有太多内部反思。ReAct 则允许模型生成明确的推理轨迹并以交错方式采取行动。一个典型的 ReAct 提示可能如下所示:

Module ReflectionAgent
    Sub Main()
        ' Thought 1: The agent reasons about what to do next
        Dim thought1 As String = "The agent reasons about what to do next"
        Console.WriteLine("Thought 1: " & thought1)

        ' Action 1: The agent acts (e.g., “Search(query)”)
        Dim action1 As String = "Search(query)"
        Console.WriteLine("Action 1: " & action1)

        ' Observation 1: The agent sees result of the action
        Dim observation1 As String = "The agent sees result of the action"
        Console.WriteLine("Observation 1: " & observation1)

        ' Thought 2: Agent reflects on the observation
        Dim thought2 As String = "Agent reflects on the observation"
        Console.WriteLine("Thought 2: " & thought2)

        ' Action 2: Next action
        Dim action2 As String = "Next action"
        Console.WriteLine("Action 2: " & action2)

        ' ... (and so on)
    End Sub
End Module

“思考”条目是模型的自然语言反思或计算,“行动”是预定义工具包(搜索、计算器等)中的命令或环境中的移动。通过这种方式设计提示,ReAct 在任务的每个步骤都实现了反思与行动的紧密集成。推理轨迹有助于模型保持连贯性并避免偏离轨道,而行动则使其能够根据这些思考查询外部资源或改变环境。

image/png

这种协同作用被证明是强大的。例如,在 HotpotQA 等知识密集型问答任务中,ReAct 智能体能够通过使用推理步骤来决定何时调用维基百科搜索工具来获取证据,从而避免幻觉。结果是更准确、更可靠的答案。在交互式决策基准(如虚拟家庭环境 ALFWorld 和网络购物任务 WebShop)上,ReAct 显着优于仅使用行动或仅使用思维链的智能体,成功率分别比之前的方法提高了 +34% 和 +10%。此外,由于 ReAct 强制模型阐明其思维过程,因此生成的解决方案轨迹对人类更具可解释性(我们可以阅读智能体的思维链)且更易于信任。ReAct 因此例证了内置反思(推理)如何实时指导行动,从而产生更智能、更透明的智能体行为。如今,ReAct 提示模式(思考→行动→观察循环)已被许多 LLM 智能体实现所采用,通常作为 AutoGPT 和 LangChain 智能体等工具的支柱。

对决策的影响

Reflexion 和 ReAct 都表明,增加反思可以极大地增强智能体的决策能力。Reflexion 展示了事后反思的价值——完成试验后,反思并再次尝试——以逐渐收敛到正确的解决方案。ReAct 展示了在线反思的价值——在行动序列中交错思考步骤——以即时做出更好的决策。这两者并非相互排斥;事实上,Reflexion 的原始论文使用 ReAct 作为其框架中的基本 Actor 策略。智能体可以在每个步骤中进行推理(ReAct 风格),也可以在整个尝试之后进行反思(Reflexion 风格)。共同的主题是**明确的反思性推理减少了错误并提高了各种任务的性能**。通过整合反思,智能体可以处理更复杂的问题,减少幻觉,并比纯粹反应型智能体更具鲁棒性。

其他基于反思的方法和创新

除了 Reflexion 和 ReAct,人工智能研究正在开发新的方法来整合反思以实现持续的自我改进。

  • **自我完善(Self-Refine)**使人工智能能够迭代地批判和改进其自身的输出,充当写作者和编辑。通过多个反馈循环完善响应,模型实现了更好的准确性和连贯性——所有这些都无需额外训练。即使是像 GPT-4 这样的顶级模型,在被提示进行反思时也显示出显著的质量提升。
  • **事后思维链(Chain-of-Hindsight,CoH)**将反思转移到训练而不是推理中,允许模型通过查看以前的输出在哪里出错来从过去的错误中学习。这种方法构建了一个内部化反思性推理的模型,从而降低了重复错误的概率。
  • **思维树和基于搜索的反思**通过让 AI 探索多个推理路径、评估不同的方法并选择最佳方法来增强决策。模型不再局限于单一的推理路线,而是动态地回溯和纠正自身,模仿人类解决问题的策略。
  • **多智能体反思**将协作纳入其中,一个 AI 生成,另一个 AI 批判,然后它们共同完善输出。这种方法在编码、写作和战略决策方面取得了成功,证明同行评审不仅仅适用于人类——AI 智能体也可以从外化反思中受益。
  • **宪法式 AI**,由 Anthropic 引入,通过让模型根据伦理和事实原则评估其响应,将反思向前推进了一步。AI 不再仅仅依赖人类反馈,而是评估其输出是否符合预定义的准则,从而减少有害或有偏见的响应。

这些方法都基于相同的原则:**AI 不仅要推理,还要反思其推理**。无论是通过自我评估、基于训练的学习还是多智能体协作,**反思正在成为 AI 适应性的基石**,推动系统实现更大的自主性、准确性和可靠性。

未来方向和新兴趋势

人工智能中的反思正在迅速发展,研究人员正致力于开发更自主、更可靠、更具适应性的系统。以下是未来的发展方向:

  • **长期记忆和终身学习**——目前,人工智能的反思是短暂的,通常在会话之间重置。未来的人工智能将保留过去的反思,建立持久的记忆,以随着时间的推移完善决策。
  • **通过更多上下文和多模态输入扩展反思**——随着模型处理更长的上下文窗口并整合多模态数据(文本、图像、传感器输入),反思将超越语言,变得更具动态性和适应性。今天,人工智能主要批判基于文本的输出,但未来的系统可以分析失败动作的视频,评估物理世界的变化,或完善视觉输出。想象一个机器人观察自己失败的抓取尝试并进行调整,或者一个人工智能纠正一张错误地画了六根而不是五根手指的图像。多模态反思使人工智能能够跨不同数据类型进行自我纠正,这对于具身系统和现实世界应用至关重要,因为仅靠文本不足以捕捉错误或指导改进。
  • **更高质量的自我反思**——并非所有反思都有用。人工智能需要更好的自我评估机制,可能使用多个模型(一个生成,另一个评估)或外部工具进行验证。宪法式人工智能也在发展,模型会根据伦理和事实标准进行反思,以在输出之前完善响应。
  • **效率和更智能的触发**——反思会带来计算成本,但未来的人工智能只会在需要时触发反思——当不确定时,当检测到潜在错误时,或当完善复杂答案时。这将平衡质量和速度,使反思成为按需能力而不是默认步骤。
  • **与学习和适应的整合**——随着时间的推移,反思和训练将融合。人工智能可能会将其反思记录为训练数据,用它们永久性地提高性能,而不仅仅是在会话中。一些研究人员——例如 Gödel Agent——甚至探索人工智能自我修改其推理过程,从而向元学习和自我改进代码迈进。
  • **通过反思实现人机协作**——能够反思的人工智能可以解释其推理,从而提高透明度和信任。想象一个人工智能助手,它不仅能给出答案,还能告诉你它为什么自信——或者它不确定什么。这已经在医疗人工智能和决策支持系统中初具规模,反思型人工智能可以突出替代可能性并指导人类专家。

简而言之,人工智能反思正朝着**持久性、可扩展性以及与推理和学习更深层次的整合**方向发展。人工智能越能**思考自己的思考**,它就变得越具适应性和智能化——这推动我们更接近于不仅能执行任务,还能**积极从每次决策中学习和改进**的人工智能。

结语

**反思具有广泛的适用性。**无论是代码、游戏、知识工作还是创意写作领域,人工智能回顾和学习的能力都能提高性能。它不仅仅是为了在基准测试中获得更好的分数,更是为了在实际部署中实现更可靠、更有效的人工智能。一个会反思的人工智能客服代理可能会通过回忆过去类似的案例来更好地处理不寻常的查询。一个会反思学生进度的 AI 导师可以更智能地调整其教学策略。我们正在开始看到实际系统融入这些理念。随着工具和库(如 LangChain 和 AutoGen)使添加反思循环变得更容易,我们可以期待看到更多利用这一策略的实际应用。

在下一集中,我们将继续我们的智能体系列,探索行动和工具。反思和行动是智能体人工智能的同一枚硬币的两面。**行动提供经验;反思确保学习。**每次行动都会将数据馈送到反思中,然后反思会完善未来的决策。没有反思,人工智能可能会重复错误;没有行动,反思就无从分析。有什么工具可以做到这一点?敬请期待。


📨 如果您想直接在收件箱中收到我们的文章,请在此订阅


资源

图灵文章来源

社区

注册登录评论