目的:
最终目的是为了让机器像人一样:一边思考(Reasoning),一边查资料/使用工具(Acting)。
步骤
-
**思考(思考):**AI 面对问题时,先在脑海中进行逻辑推理,拆解问题,决定当前这一步需要做什么。
-
**行动(行动):**AI 根据思考的结果,调用外部工具。比如:使用搜索引擎查阅最新信息、运行计算器算一个复杂的数学题、或者查询某个数据库的 API。
-
**观察(观察):**AI 获取并阅读外部工具返回的真实结果,将其作为已知信息输入到大脑中,准备进行下一轮的"思考"。
-
**总结:**通俗来讲就是先用提示词模板询问ai,获取到指定返回词后,决定调用tool,然后根据tools中每个的描述使用,最后得到结果后填充进prompt中,重新询问,知道得到结束提示词或者循环结束位置
ReAct 框架解决的问题
-
**克服"幻觉"(Hallucination):**传统模型如果不知道 2023 年的奥斯卡得主,可能会瞎编一个名字。而 ReAct 会强迫模型去真实世界"看一眼"(Observation),从而基于事实回答。
-
获取最新信息: 模型的训练数据往往停留在过去的某个时间点。通过 Action 赋予其联网搜索的能力,模型就能掌握实时动态。
-
解决复杂逻辑: 通过把大问题拆解成一步步的"思考 + 行动",模型能解决那些无法直接"一口气"给出答案的复杂任务(比如我们上面的计算题)。
**克服"幻觉"(Hallucination)(基础版本):**克服幻觉的本意是通过外部工具的调用来使用最新数据,然后得到更为精准的答案,在基础版本中是将所有的工具和简介一起放入到prompt中在调用
**升级版:**在实际工程应用中是将tool和简介放入到向量数据库中,在每次发起询问前先从数据库中获取tool来减少上下文的长度