当前位置: 首页 > news >正文

Reflexion 框架 | 提示词工程(4)

自我反思提示框架

  • 自我反思提示框架:提升AI模型性能的深度分析
    • 1、引言
    • 2、自我反思提示框架的概念
    • 3、自我反思与ReAct框架的关系
    • 4、自我反思提示框架的工作原理
    • 5、自我反思提示框架的应用
      • 5.1、在代码生成中的应用
      • 5.2、在问答系统中的应用
    • 6、自我反思提示框架的提示词示例
    • 7、结合 ReAct 框架的提示词
    • 8、结论

自我反思提示框架:提升AI模型性能的深度分析

1、引言

  在提示工程领域,自我反思提示框架代表了一种先进的技术方法,通过引导AI模型对自己的推理过程和输出进行评估和改进,从而显著提升模型的性能和准确性。本报告将深入探讨自我反思提示框架的概念、技术原理、应用场景以及具体的提示词示例,帮助读者全面理解这一前沿技术。

2、自我反思提示框架的概念

  自我反思提示框架(self-reflection):一种通过语言反馈来强化基于语言的智能体的框架。根据Shinn等人(2023)的研究,“自我反思是一种’口头’强化的新范例”。这种框架的核心在于引入自我评估、自我反思和记忆组件,使模型能够通过反思自己的行为和输出来持续改进性能。

  Reflexion 框架是一个典型的自我反思框架,它通过动态记忆和自我反思能力来提升智能体的推理技能。它具有标准的 RL 设置,其中奖励模型提供简单的二进制奖励,动作空间遵循ReAct 中的设置。

3、自我反思与ReAct框架的关系

  自我反思框架是对 ReAct 框架的扩展。ReAct 框架提供了一个基本的推理和行动框架,而自我反思框架通过增加自我评估和记忆组件,进一步增强了模型的智能水平。具体来说,反思通过引入自我评估、自我反思和记忆组件扩展了 ReAct 框架。

这种扩展使模型能够:

  1. 评估自己的推理过程
  2. 反思自己的决策
  3. 记忆和学习过去的体验

4、自我反思提示框架的工作原理

  自我反思提示框架的工作原理基于模型生成输出,然后通过提示词引导模型对自己的输出进行评估和反思,最终根据反思结果生成改进的输出。以编写代码为例,AI模型首先会根据给定的任务生成一段代码。然后,模型会被提示对自己的代码进行反思,检查代码的正确性、风格和效率,并给出建设性的批评。

具体来说,模型会执行以下步骤:

  1. 生成初始输出
  2. 评估初始输出
  3. 反思评估结果
  4. 生成改进的最终输出

5、自我反思提示框架的应用

  自我反思提示框架在多种场景中都有应用,包括代码生成、问答系统、推理任务等。实验结果表明,反思代理在AlfWorld决策任务、HotPotQA推理问题和HumanEval中的Python编程等方面表现出色。

5.1、在代码生成中的应用

  在代码生成场景中,模型首先生成代码,然后被提示反思代码的正确性、风格和效率。这种反思过程帮助模型生成更高质量、更高效的代码。

5.2、在问答系统中的应用

  在问答系统中,模型生成答案后,会被提示反思答案的准确性、完整性以及是否有更好的表达方式。这种反思过程显著提高了问答系统的性能和准确性。

6、自我反思提示框架的提示词示例

以下是一些自我反思提示框架的提示词示例,这些示例可以帮助引导模型进行自我评估和反思:

评估当前答案:
请评估你对以下问题的答案:“[问题]”。你认为这个答案准确吗?为什么?

识别推理中的错误:
请回顾你对以下问题的推理过程:“[问题]”。你认为哪里可能出错了?

学习经验教训:
从你对以下问题的解答中,你学到了什么经验教训?这些经验教训如何帮助你更好地解决类似问题?

应用先前的经验:
请回忆你之前解决类似问题的经验,并思考如何将这些经验应用到当前问题中。

生成反思标记:
请生成一个反思标记,以评估以下陈述的准确性:“[陈述]”。反思标记可以是"准确"、“部分准确"或"不准确”。

检查代码质量:
请检查你生成的代码,评估其正确性、风格和效率,并提供改进建议。

验证事实准确性:
请验证你的回答中的事实是否准确,并提供引用支持。

评估推理过程:
请评估你的推理过程是否合理,是否有更好的推理路径。

生成改进建议:
请基于你的自我评估,提供改进建议,使你的输出更加准确和全面。

7、结合 ReAct 框架的提示词

  提示词:

请使用交替进行的“思考(Thought)、行动(Action)、观察(Observation)"三个步骤,最后进行”自我反思(Reflexion)“步骤来系统地解决回答任务。
思考:基于当前获得的信息进行推理,明确下一步行动的目标。
行动:每一步行动必须是以下三种之一:
1、Search[实体]:在互联网上搜索精确实体,返回该实体相关页面的首段文字。如果该实体不存在,则返回与其相似的候选实体。
2、Lookup[关键词]:在上一次成功的 Search 操作返回的段落中,查找包含该关键词的下一句。
3、Finish[答案]:得出明确答案后使用此操作,返回答案并终止任务。
观察:记录前一步行动的结果。
反思:检查内容是否准确,推导路径是否合理。如果发现错误、重复或低效,可以总结问题并重新规划策略。
你可以进行多轮推理和检索,但必须严格按照上述格式进行操作,尤其是每一步“行动”只能使用上述三种类型之一。
示例:
问题:科罗拉多造山带东部区域延伸到的区域的海拔范围是多少?
思考 1:我需要搜索“科罗拉多造山带”,获取它的概况,特别是东部延伸区域的信息。
行动 1:Search[科罗拉多造山带]
观察 1:科罗拉多造山带是科罗拉多及其周边地区造山运动的一段。
思考 2:这里没有提到东部延伸区域的具体信息,我需要继续查找“东部区域”。
行动 2:Lookup[东部区域]
观察 2:(结果 1 / 1)东部区域延伸至高平原,称为中原造山带。
思考 3:我已经知道东部区域是高平原,我需要查找高平原的海拔范围。
观察 3:高平原的海拔高度从 1800 到 7000 英尺。
思考 4:我已经得到了答案,可以结束任务。
行动 4:Finish[1800 到 7000 英尺]
反思 1:以上内容是否准确?推导路径是否合理?如不合理,提供改进建议,使输出更加准确和全面。
(示例结束)
现在请回答以下问题:问题:{}

例子:
问题:中国的重庆的面积大,还是广西的面积大,它们之间的面积相差多少

DeepSeek:

2025-4-8-Snipaste_2025-04-08_15-28-20.jpg

ChatGPT:

2025-4-8-Snipaste_2025-04-08_15-29-22.jpg

DeepSeek的v3 API:

2025-4-8-Snipaste_2025-04-08_15-40-36.jpg

8、结论

  自我反思提示框架代表了提示工程领域的一个重要发展方向,通过引导AI模型进行自我评估和反思,显著提高了模型的推理能力和输出质量。这种方法不仅增强了模型的适应性和鲁棒性,还减少了对大量外部反馈的依赖,降低了训练成本。

相关文章:

  • HOW - React 组件渲染受其他无关数据影响和优化方案(含memo和props.children)
  • equals() 和 hashCode()
  • 泛目录站群,无极多功能泛目录站群程序:AI驱动的SEO增长引擎
  • java设计模式-单例模式
  • 【unity游戏开发入门到精通——动画篇】Animator2D序列帧动画
  • 解锁健康养生密码,拥抱活力人生
  • 手写数字识别实战教程:从零实现MNIST分类器(完整代码示例)
  • 算法篇(八)【递归】
  • 【代码随想录 字符串6.实现strstr】 KMP算法。
  • 1区6.6分CHARLS最新文章解读
  • 【学习笔记】文件上传漏洞--二次渲染、.htaccess、变异免杀
  • 2025年客运从业资格证备考刷题题库
  • 7-11 分段计算居民水费
  • 告别循环!用Stream优雅处理集合
  • AI无人直播教程 ai无人直播系统 【工具下载+教程】
  • 英语学习:单复数宏
  • 【SpringCloud】从入门到精通【上】
  • 智能硬件开发革命:低代码平台+物联网
  • 山东大学离散数学第七章习题解析
  • 从零到有的游戏开发(visual studio 2022 + easyx.h)
  • 有本地服务器怎么做网站/网络优化工程师是做什么的
  • 盘古网络营销中心/北京网站优化经理
  • 无锡互联网/seo营销怎么做
  • 柘城县网站建设/关键词优化排名工具
  • app开发需要多久/seo优化推广教程
  • 湖北建设网官方网站/如何做谷歌seo推广