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连接外部世界?

IT资源栈
评论前必须登录!
立即登录 注册