学习 ReAct 论文
前言
最近我开始对 AI Agent 产生兴趣。但我对 Agent 的理解非常模糊,于是我找了一篇比较经典的论文来看:ReAct: Synergizing Reasoning and Acting in Language Models。
这篇论文主要讲的是,如何让大语言模型不只是直接回答问题,而是把“推理 Reasoning”和“行动 Acting”结合起来,形成一种类似人类解决问题的过程。
我只是菜鸟水平,这篇文章不是严格的论文精读,也不是专家解读,更像是我的学习笔记和探索记录。很多地方我也是一边看论文,一边问 GPT,一边试着用自己的话理解。
论文:https://arxiv.org/pdf/2210.03629
仓库:https://github.com/ysymyth/ReAct?utm_source=chatgpt.com
1. 像deepseek的深度思考,也用到这个react的思路吧?对
起初,我对“行动”的概念感到困惑,后来才明白它指的是查资料、调用 API 等操作。像 DeepSeek 的深度思考,很可能运用了 ReAct 的思路,通过推理和行动的结合,实现更深入的问题解决。
2、论文中的示例图片理解
论文中展示了三种处理方式:
- 秒答(不思不学) :这种方式下,模型直接给出答案,不进行推理和信息查询。例如,对于一些简单的常识性问题,模型可能直接输出答案,而不经过复杂的思考过程。
- COT(只思不学) :COT即思维链(Chain of Thought),模型会进行推理,但不进行外部信息的查询。它在内部进行逻辑推导,但缺乏与外部知识的交互。
- ReAct(学且思) :ReAct 方式结合了推理和行动,既会进行思考,又会通过查资料、调 API 等行动获取外部信息,从而更全面地解决问题。
以一个历史问题为例,“秒答”可能直接给出一个大概的答案,但准确性可能不高;“COT”会在内部分析各种可能的情况,但如果缺乏相关的历史资料,可能无法得出准确结论;而ReAct”会先进行推理,然后通过查询历史文献等行动来获取更准确的信息,最终得出更可靠的答案。
re-act的处理方式是这样:
类似维基百科的动作是:
3、搜索能力怎么实现的?
从理解上来说,实现搜索能力需要从两个方面入手:
- 定制提示词:通过精心设计提示词,引导模型朝着特定的方向进行思考和行动。例如,提示词可以明确要求模型查询特定的信息源,或者在遇到问题时进行特定的操作。
- 输出规范化:对模型的输出进行规范化处理,以便触发特定的行动程序。可以定义一套规则,当模型的输出符合某些条件时,自动调用相应的搜索 API 或其他工具。
所以re-act循环需要的各个模块应该是:
4、提示词会是怎样的?
附录也有提示词,不过这里直接参考AI提供的:
但有个问题,模型怎么控制输出,有可能非预期的,这个的处理也有一些思路:
以上,就了解这么多。
浙公网安备 33010602011771号