ReAct 来自 2022 年的论文 ReAct: Synergizing Reasoning and Acting in Language Models。核心想法很简单:让模型交替输出“思考”和“行动”,行动的结果再作为“观察”喂回去,循环到得出答案为止。
Thought: 我需要先查一下这篇论文的发表年份。
Action: search["ReAct Yao 2022"]
Observation: ReAct 发表于 ICLR 2023 ...
Thought: 已经拿到年份,可以回答了。
Action: finish["2023 年,ICLR"]
Action 要容错。模型偶尔会漏括号,或者多输出一段解释。多个工具之间有依赖时,是让模型一步步串行地试,还是先让它写个计划再执行?后者更像 Plan-and-Solve,打算下次对比一下。