概述
Plan-and-Solve (PS) 设计模式是一种旨在提升大型语言模型(LLMs)在多步推理任务上表现的新策略。它改进了零样本链式思维(Zero-shot-CoT)提示方法,增强了模型的推理能力。与一次只处理一步的 ReACT 设计模式不同,PS 更加注重长期计划。该方法由论文《Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models》提出。
PS 设计模式包括两个主要步骤:
- 制定计划:将任务分解为更小的子任务。
- 执行计划:按照计划一步步完成子任务。
这种方法可以减少因遗漏步骤和计算错误导致的问题,提高推理过程的质量。
工作流程
Step 1: 生成推理过程
在这个步骤中,模型会通过一个模板生成推理过程和问题的答案。模板包含问题描述和指令,例如:
Let's first understand the problem and devise a plan to solve the problem. Then, let's carry out the plan and solve the problem step by step.
翻译成中文:让我们首先理解这个问题,并制定一个解决问题的计划。然后,按照计划一步步解决问题。
Step 2: 提取答案
在这个步骤中,使用另一个提示引导模型从生成的推理文本中提取最终答案。这个提示包括提取答案的指令,例如:
Therefore, the answer (arabic numerals) is
通过这种方法,模型能返回所需形式的最终答案。
Plan-and-Execute 设计模式
在原论文中,PS 设计模式仅包含上述两个步骤。Langchain 实现中改进了 PS 设计模式,提出了 Plan-and-Execute 设计模式。这个新模式在 PS 的基础上增加了任务执行和重新规划步骤,使流程更接近复杂的代理系统。详细代码见:langgraph/examples/plan-and-execute/plan-and-execute.ipynb at main · langchain-ai/langgraph · GitHub
这一改进进一步增强了模型处理复杂任务时的灵活性和准确性。