Skip to content

提示策略对比

提示工程(Prompt Engineering)是与 LLM 交互的核心技能。从简单的 Zero-shot 到复杂的 Tree of Thoughts,不同策略在效果、成本和复杂度上差异显著。本页对比主流提示策略的特点与选型指南。

对比概览

策略复杂度成本效果提升最佳场景模型要求
Zero-shot极低最低基线简单任务、快速原型任意
Few-shot+10-30%格式控制、任务示例任意
Chain-of-Thought+20-50%数学、逻辑、推理≥ 20B
Self-Consistency高 (N 次采样)+5-15%高风险推理≥ 20B
ReAct+30-60%Agent、工具调用≥ 20B
Tree of Thoughts+40-80%复杂规划、创意≥ 70B
Plan-and-Solve+20-40%多步骤任务≥ 20B
DSPy+10-30%系统化提示优化任意

效果提升为相对于 Zero-shot 的示意性估计,实际效果依赖任务和模型。

策略详解

Zero-shot — 基线

定义:直接提问,不提供任何示例或上下文。

问题:计算 15 × 27
回答:405

优势:简单、快速、无额外 token 消耗 劣势:对复杂任务效果有限 适用:简单问答、文本生成、分类任务

Few-shot — 示例驱动

定义:在提示中提供 1-10 个任务示例。

将以下文本转换为 JSON:
文本:订单号 12345,用户张三,金额 99.99 元
输出:{"order_id": "12345", "user": "张三", "amount": 99.99}

文本:订单号 67890,用户李四,金额 199.50 元
输出:

优势:格式控制精准、无需训练 劣势:示例占用上下文窗口、对复杂推理帮助有限 适用:格式转换、分类任务、风格模仿

Chain-of-Thought (CoT) — 思维链

定义:引导模型逐步推理,输出中间思维过程。

问题:一个园子有 15 棵苹果树。每棵树产 8 个苹果。如果已经摘了 47 个,还剩多少个?
让我们逐步思考:
1. 总产量 = 15 × 8 = 120 个
2. 已摘 47 个
3. 剩余 = 120 - 47 = 73 个
答案:73 个

优势:显著提升数学和逻辑推理能力 劣势:增加 token 消耗、延迟 变体:Zero-shot CoT("让我们逐步思考")、Few-shot CoT 适用:数学、逻辑、代码、复杂问题求解

Self-Consistency — 自我一致性

定义:对同一问题进行多次 CoT 采样,选择最常见的答案。

采样 1: 推理... 答案:A
采样 2: 推理... 答案:A
采样 3: 推理... 答案:B
采样 4: 推理... 答案:A
采样 5: 推理... 答案:A

最终答案:A(出现 4/5 次)

优势:降低随机性错误、提高难题准确率 劣势:成本增加 N 倍(N 次采样) 适用:高风险推理、数学竞赛、关键决策

ReAct — 推理 + 行动

定义:交替进行推理(Reasoning)和行动(Action),形成思维-行动循环。

问题:查询北京明天的天气

思绹 1:我需要查询天气信息
行动 1:调用 weather_api(city="北京", date="明天")
观察 1:{温度: 25°C, 天气: 晴}

思绹 2:已获取天气信息,可以回答用户
答案:北京明天天气晴朗,温度约 25°C

优势:将推理与工具调用结合,适合 Agent 架构 劣势:需要工具集成、循环可能陷入死循环 适用:Agent、外部工具调用、多步骤任务

Tree of Thoughts (ToT) — 思维树

定义:在每个推理步骤探索多个可能性,形成树状搜索空间。

问题:24 点游戏,用 4、6、8、3 得出 24

步骤 1:
  分支 A: 4 + 6 = 10
  分支 B: 4 × 6 = 24 → 再用 8、3 得出 24? 否
  分支 C: 8 - 3 = 5

步骤 2 (从分支 A):
  10 + 8 = 18, 18 + 3 = 21 ×
  10 × 8 = 80, 80 / 3 ≈ 26.7 ×
  10 - 3 = 7, 7 × 8 = 56 ×

步骤 2 (从分支 C):
  5 × 4 = 20, 20 + 6 = 26 ×
  5 + 4 = 9, 9 × 6 = 54 ×
  6 / (1 - 3/4) = 24 ✓

优势:处理需要探索和回溯的复杂问题 劣势:成本极高(指数级 token 增长)、需要外部评估函数 适用:创意写作、游戏、规划、数学证明

Plan-and-Solve — 规划解决

定义:先制定解决方案,再逐步执行。

问题:写一篇关于人工智能的短文

规划:
1. 介绍 AI 的定义和历史
2. 讨论当前主要应用领域
3. 分析潜在风险和挑战
4. 展望未来发展方向
5. 总结

执行:[按规划逐步生成]

优势:结构化输出、可控性强 劣势:需要模型具备规划能力 适用:文章写作、项目规划、复杂任务分解

决策矩阵

任务类型推荐策略理由
简单问答Zero-shot最快、最便宜
格式控制Few-shot示例驱动精确格式
数学/逻辑CoT逐步推理显著提升
外部工具调用ReAct推理 + 行动循环
高风险决策Self-Consistency多次采样降低随机性
创意/规划ToT多路径探索
长文生成Plan-and-Solve结构化控制
系统化优化DSPy可编程优化框架

策略组合

生产环境中常见的组合模式:

复杂 Agent 任务:
  Plan-and-Solve → 制定计划
  ReAct → 执行每个步骤
  Self-Consistency → 验证关键决策

高风险推理:
  CoT → 逐步推理
  Self-Consistency → 多次验证

与模型能力的关系

策略小模型 (< 7B)中等模型 (7-70B)大模型 (> 70B)
Zero-shot
Few-shot
CoT⚠️ 效果有限
ReAct
ToT⚠️
Plan-and-Solve⚠️

关键洞察:CoT 和 ReAct 等策略需要模型具备足够的推理能力,小模型可能无法有效执行。

趋势观察

自动化提示优化

DSPy 等框架正在将提示工程从"手工艺术"转变为"系统工程": n

  • 将提示策略参数化
  • 自动搜索最优示例和指示
  • 端到端优化 pipeline

推理模型的影响

OpenAI o1/o3、DeepSeek-R1 等推理模型内建了 CoT 能力: n

  • 无需显式编写 CoT 提示
  • 模型自动进行多步推理
  • 但外部策略(如 ReAct、ToT)仍有价值

相关页面

参考来源

  • Brown et al. (2020). "Language Models are Few-Shot Learners."

  • Wei et al. (2022). "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models."

  • Wang et al. (2023). "Self-Consistency Improves Chain of Thought Reasoning in Language Models."

  • Yao et al. (2023). "ReAct: Synergizing Reasoning and Acting in Language Models."

  • Yao et al. (2023). "Tree of Thoughts: Deliberate Problem Solving with Large Language Models."

  • Khattab et al. (2023). "DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines."

  • Large Language Model (LLM) — 大语言模型的核心定义、技术原理与发展历程

AI Knowledge Base — 持续积累