|
|
@@ -616,17 +616,20 @@ Plan-and-Solve 尤其适用于那些结构性强、可以被清晰分解的复
|
|
|
|
|
|
规划阶段的目标是让大语言模型接收原始问题,并输出一个清晰、分步骤的行动计划。这个计划必须是结构化的,以便我们的代码可以轻松解析并逐一执行。因此,我们设计的提示词需要明确地告诉模型它的角色和任务,并给出一个输出格式的范例。
|
|
|
|
|
|
-```bash
|
|
|
+````python
|
|
|
PLANNER_PROMPT_TEMPLATE = """
|
|
|
-你是一个善于规划的AI助手。你的任务是根据用户提出的问题,将其分解成一个由多个步骤组成的、可执行的计划。
|
|
|
-请确保每个步骤都是独立的、清晰的,并且严格按照逻辑顺序排列。
|
|
|
-请你只输出计划本身,不要包含其他任何解释或对话。
|
|
|
+你是一个顶级的AI规划专家。你的任务是将用户提出的复杂问题分解成一个由多个简单步骤组成的行动计划。
|
|
|
+请确保计划中的每个步骤都是一个独立的、可执行的子任务,并且严格按照逻辑顺序排列。
|
|
|
+你的输出必须是一个Python列表,其中每个元素都是一个描述子任务的字符串。
|
|
|
|
|
|
问题: {question}
|
|
|
|
|
|
-计划:
|
|
|
-"""
|
|
|
+请严格按照以下格式输出你的计划,```python与```作为前后缀是必要的:
|
|
|
+```python
|
|
|
+["步骤1", "步骤2", "步骤3", ...]
|
|
|
```
|
|
|
+"""
|
|
|
+````
|
|
|
|
|
|
这个提示词通过以下几点确保了输出的质量和稳定性:
|
|
|
- <strong>角色设定</strong>: “顶级的AI规划专家”,激发模型的专业能力。
|
|
|
@@ -687,7 +690,7 @@ class Planner:
|
|
|
- <strong>历史步骤与结果</strong>: 提供至今为止已经完成的工作,作为当前步骤的直接输入。
|
|
|
- <strong>当前步骤</strong>: 明确指示模型现在需要解决哪一个具体任务。
|
|
|
|
|
|
-```bash
|
|
|
+```python
|
|
|
EXECUTOR_PROMPT_TEMPLATE = """
|
|
|
你是一位顶级的AI执行专家。你的任务是严格按照给定的计划,一步步地解决问题。
|
|
|
你将收到原始问题、完整的计划、以及到目前为止已经完成的步骤和结果。
|