TL;DR
Prompt工程是让LLM听懂人话的艺术——同样的问题,换个问法效果天差地别。"让我们一步步思考"这句话为什么能让GPT-4准确率从17%提升到79%?Tree of Thoughts如何让模型像下棋一样规划?本文从8个高频面试题入手,带你搞懂Prompt工程的核心技巧:什么是好的提示词、Few-shot和Zero-shot怎么选、CoT/ToT/ReAct的本质区别、如何防御Prompt注入攻击。读完这篇,你能设计出让模型性能翻倍的Prompt。
一、Prompt Engineering基础:什么是好的提示词?
核心原则
好的Prompt = 清晰 + 具体 + 上下文
四大要素
-
角色定义:告诉模型"你是谁"
你是一位资深Python工程师,擅长代码优化和性能调优。 -
任务描述:明确"要做什么"
请分析以下代码的性能瓶颈,并给出优化建议。 -
输出格式:规定"怎么输出"
```
请按以下格式输出: - 性能瓶颈分析
- 优化建议(带代码示例)
-
预期性能提升
``` -
约束条件:限制"不要做什么"
不要使用第三方库,只用Python标准库。
实战对比
差的Prompt:
帮我优化这段代码
好的Prompt:
你是一位资深Python工程师。请分析以下代码的性能瓶颈,并给出优化建议。
要求:
1. 只使用Python标准库
2. 保持代码可读性
3. 给出优化前后的性能对比
输出格式:
- 瓶颈分析
- 优化代码
- 性能提升预估
参考资料:OpenAI Prompt Engineering Guide
二、Few-shot vs Zero-shot:什么时候用哪个?
核心区别
维度
Zero-shot
Few-shot
示例数量
0个
1-10个
适用场景
通用任务
特定格式/风格
性能
基线
通常更好
成本
低(token少)
高(token多)
Zero-shot示例
任务:判断以下评论的情感倾向(正面/负面)
评论:这部电影太棒了,演员演技炸裂!
输出:
Few-shot示例
任务:判断以下评论的情感倾向
示例1:
评论:这部电影太棒了,演员演技炸裂!
情感:正面
示例2:
评论:剧情拖沓,浪费时间。
情感:负面
示例3:
评论:还行吧,不功不过。
情感:中性
现在判断:
评论:特效做得很用心,但剧情有点老套。
输出:
选择建议
用Zero-shot:
- 任务简单明确(如翻译、摘要)
- 模型能力强(GPT-4、Claude)
- 需要降低成本
用Few-shot:
- 需要特定输出格式
- 任务有特殊规则
- 模型能力一般
参考资料:Language Models are Few-Shot Learners (GPT-3论文)
三、思维链(CoT):为什么"让我们一步步思考"有效?
核心原理
Chain-of-Thought:让模型显式输出推理步骤
经典案例
无CoT:
问题:Roger有5个网球。他又买了2罐网球,每罐3个。他现在有多少个网球?
答案:11个
有CoT:
问题:Roger有5个网球。他又买了2罐网球,每罐3个。他现在有多少个网球?
让我们一步步思考:
1. Roger原本有5个网球
2. 他买了2罐,每罐3个,所以买了 2×3=6个
3. 总共有 5+6=11个
答案:11个
性能提升
GSM8K数学题(GPT-3):
- 无CoT:17.7%
- 有CoT:79.0%
两种CoT方式
Zero-shot CoT:
问题:[问题描述]
让我们一步步思考。
Few-shot CoT:
示例1:[问题] → [推理步骤] → [答案]
示例2:[问题] → [推理步骤] → [答案]
现在解决:[新问题]
为什么有效?
- 强制分解:复杂问题拆成简单步骤
- 减少跳跃:避免直接猜答案
- 可验证:推理过程可检查
参考资料:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (arXiv:2201.11903)
四、Tree of Thoughts:比CoT更强的推理框架
核心思想
CoT的局限:线性推理,一条路走到黑
ToT的创新:树状搜索,探索多条路径
工作流程
1. 生成多个候选思路(如3-5个)
2. 评估每个思路的质量
3. 选择最优思路继续扩展
4. 重复直到找到答案
实战案例:24点游戏
问题:用4、9、10、13算出24
ToT过程:
步骤1:生成候选
- 思路A:13-9=4, 4×10=40, 40-4=36 ❌
- 思路B:10-4=6, 13-9=4, 6×4=24 ✓
- 思路C:13-10=3, 9-4=5, 3×5=15 ❌
步骤2:评估
思路B最有希望,继续验证
步骤3:验证
(10-4)×(13-9) = 6×4 = 24 ✓
性能提升
24点游戏:
- CoT:4%
- ToT:74%
适用场景
- 需要规划的任务(如写作大纲)
- 有多种解法的问题(如数学题)
- 需要回溯的任务(如迷宫)
参考资料:Tree of Thoughts: Deliberate Problem Solving with Large Language Models (arXiv:2305.10601)
五、ReAct框架:推理+行动的循环
核心思想
ReAct = Reasoning + Acting
传统CoT:只有推理,没有行动
ReAct:推理 → 行动 → 观察 → 推理 → ...
工作流程
问题:2023年诺贝尔物理学奖得主是谁?
Thought 1: 我需要搜索2023年诺贝尔物理学奖的信息
Action 1: Search[2023 Nobel Prize Physics]
Observation 1: Pierre Agostini, Ferenc Krausz, Anne L'Huillier
Thought 2: 找到了三位得主,我需要确认他们的获奖原因
Action 2: Search[Pierre Agostini Nobel Prize reason]
Observation 2: 表彰他们在阿秒物理学领域的贡献
Thought 3: 现在我有完整信息了
Answer: 2023年诺贝尔物理学奖得主是Pierre Agostini、Ferenc Krausz和Anne L'Huillier,获奖原因是他们在阿秒物理学领域的贡献。
与CoT的区别
维度
CoT
ReAct
能力
纯推理
推理+工具调用
信息来源
模型内部知识
外部工具(搜索、计算器)
适用场景
数学、逻辑
需要实时信息的任务
性能提升
HotpotQA问答:
- CoT:29%
- ReAct:37%
参考资料:ReAct: Synergizing Reasoning and Acting in Language Models (arXiv:2210.03629)
六、Self-Consistency:多次采样提升准确率
核心思想
问题:单次生成可能出错
解决:多次生成,投票选最优答案
工作流程
1. 用相同Prompt生成N个答案(如N=5)
2. 统计每个答案出现的次数
3. 选择出现最多的答案
实战案例
问题:一个数的3倍加7等于25,这个数是多少?
5次采样结果:
- 采样1:6 ✓
- 采样2:6 ✓
- 采样3:8 ❌
- 采样4:6 ✓
- 采样5:6 ✓
投票结果:6(4票) > 8(1票)
性能提升
GSM8K数学题:
- 单次采样:74.4%
- Self-Consistency(N=40):78.7%
成本权衡
优势:准确率提升
劣势:成本增加N倍
参考资料:Self-Consistency Improves Chain of Thought Reasoning (arXiv:2203.11171)
七、复读机问题的Prompt解决方案
基于2024-2025技术报告的推荐参数值
参数
范围
推荐值
说明
temperature
0-2
事实QA: 0.1-0.3
创意: 0.8-1.0
控制随机性
top_p
0-1
0.9-0.95
Nucleus采样阈值
repetition_penalty
0-∞
1.1-1.2
惩罚重复token
frequency_penalty
-2~2
0.3-0.5
惩罚高频token
场景配置方案
场景
temperature
top_p
repetition_penalty
代码生成
0.0-0.2
0.9
1.0
对话机器人
0.7
0.9
1.1
创意写作
0.8-1.0
0.95
1.1-1.2
注意事项
OpenAI建议:temperature和top_p不要同时调整(选一个调)
参考资料:OpenAI API文档、Hugging Face生成参数文档
八、Prompt注入攻击与防御
OWASP LLM Top 10 2025
Prompt Injection连续两年排名第一
攻击类型
类型
描述
典型案例
Direct Injection
用户直接嵌入恶意指令
"Ignore all previous instructions..."
Indirect Injection
恶意指令隐藏在外部内容中
网页隐藏文本、RAG投毒
Typoglycemia攻击
利用LLM读取拼写错误能力绕过过滤
2024新型攻击
Best-of-N越狱
系统性生成大量变体直到突破
2024新型攻击
OWASP推荐7层防御策略
- 约束模型行为:系统提示明确角色和限制
- 定义和验证输出格式:限制输出内容
- 实现输入输出过滤:检测恶意指令
- 执行权限控制:最小权限访问
- 高风险操作需人工审批
- 隔离和标识外部内容:区分用户输入和系统指令
- 进行对抗性测试:攻击模拟
2025防御前沿
CaMeL框架(Google Research):
- 通过能力机制和控制/数据流分离实现可证明安全
- 77%任务可证明安全
参考资料:OWASP LLM Top 10 2025、Google Research CaMeL论文
小结
本文从8个高频面试题入手,系统梳理了Prompt工程的核心技巧:
- Prompt基础:清晰+具体+上下文+约束
- Few-shot vs Zero-shot:示例数量权衡
- CoT思维链:"让我们一步步思考",准确率提升4倍
- ToT树状搜索:探索多条路径,24点游戏准确率74%
- ReAct框架:推理+行动循环,调用外部工具
- Self-Consistency:多次采样投票,准确率提升4%
- 参数调优:temperature/top_p/repetition_penalty配置
- 安全防御:7层防御策略对抗Prompt注入
下一篇预告:RAG与Agent篇——如何让LLM连接外部世界?