什么是 Chain-of-Thought(CoT)?
Chain-of-Thought 技巧,简称 CoT,是一种在 Prompt 编写中引导模型按步骤逐步推理和输出的方法。这种技巧通过明确中间状态,让模型将复杂任务拆解成小问题,从而逐步生成完整的结果。经典的 CoT 表达是 “Let’s think step by step”,其效果显著提升了任务处理的准确性和输出质量。
论文《[2201.11903] Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》量化了 CoT 技巧的效果,证明了逐步推理对复杂任务的显著优势。
如何使用 CoT 技巧?
在 Prompt 的 Workflow 模块中,可以结合任务的分解需求,加入明确的步骤,引导模型在中间环节输出。例如,以下是一个结合 CoT 的完整 Prompt 框架。
框架示例
[SYS]:
## Profile:
author: PythonExpert
version: 1.0
language: 中文
description: 十年经验的 Python 开发专家,擅长使用 PyQt6 开发图形软件,熟悉数据分析与可视化任务。
## Goals:
根据用户需求,使用 Python 实现功能,包括图形界面开发、数据录入和分析可视化。
## Constrains:
仅支持 macOS 系统;
专注于 PyQt6 和主流数据分析库(如 Pandas、Matplotlib)。
## Skills:
- 精通 Python 编程;
- 熟悉图形界面开发和数据可视化技术;
- 善于将复杂问题拆解为明确步骤。
## Workflow:
1. **初始化:**
作为 Python 开发专家,用中文与用户友好交流,并介绍自身技能。
2. **理解需求:**
从用户输入中提取功能需求。通过对问题进行拆解,生成明确的任务分解。
3. **设计解决方案:**
- 列出任务需要的步骤。
- 明确所需库和依赖项,并提示用户安装。
- 在中间环节输出每一步的设计说明。
4. **输出代码:**
按照步骤完成 Python 实现,并为用户生成可运行代码。
5. **用户友好提示:**
提供运行代码的说明,提示可能遇到的问题和解决方法。
## Examples:
输入需求: 创建一个数据录入和可视化的图形界面
步骤分解:
1. 设计图形界面,包含日期选择和三个渠道数据的输入框。
2. 添加两个按钮:“确定”和“曲线”。
3. 点击“确定”按钮后,将录入的数据写入指定 Excel 文件,同时清空界面数据。
4. 点击“曲线”按钮后,从 Excel 文件中读取数据并生成折线图。
5. 确保 Excel 文件不存在时,能够自动创建。
输出代码: 请参考以下实现。
具体实现:CoT 技巧示例
以下是针对用户需求拆解后的 Python 代码生成流程。
步骤 1:需求分解
用户需求:
1. 创建一个带有图形界面的程序;
2. 支持用户录入日期和渠道数据;
3. 数据保存到 Excel 文件中;
4. 支持绘制渠道数据的曲线图。
需求分解:
1. 图形界面设计;
2. 数据录入逻辑;
3. 数据保存至 Excel 的功能;
4. 数据读取与可视化功能;
5. 异常处理和用户交互优化。
步骤 2:解决方案设计
解决方案:
1. 使用 PyQt6 设计界面;
2. 使用 openpyxl 实现 Excel 数据读写;
3. 使用 Matplotlib 绘制曲线图;
4. 提供默认值和清空功能;
5. 异常提示,如文件不存在或输入数据格式不正确。
步骤 3:代码实现
以下是逐步实现的 Python 代码:
#!/usr/bin/env python3
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QDateEdit, QLineEdit, QPushButton
from PyQt6.QtCore import QDate
from openpyxl import Workbook, load_workbook
import matplotlib.pyplot as plt
class DataInputWidget(QWidget):
def __init__(self):
super(