提示词基础
1. 提示词设计原则
核心原则
- 清晰明确:任务描述不含歧义,目标明确
- 结构化:使用分隔符、标签、编号组织内容
- 示例驱动:通过示例展示期望的输出格式和行为
- 迭代优化:根据输出反馈持续改进提示词
提示词基本结构
[角色设定] ← 定义模型的角色和行为边界
[背景信息] ← 提供必要的上下文
[任务描述] ← 明确说明要做什么
[格式要求] ← 指定输出格式
[示例] ← 展示期望的输入-输出模式
[约束条件] ← 限制条件与注意事项
QUESTION 面试高频:好的提示词应该包含哪些要素?
一个完整的提示词应包含:角色设定、任务描述、上下文信息、输出格式要求、示例(Few-shot)、约束条件。要素的取舍取决于任务复杂度。
2. 提示技术分类
按示例数量分类
| 类别 |
方法 |
说明 |
适用场景 |
| Zero-shot |
直接描述任务 |
无示例 |
简单通用任务 |
| One-shot |
提供一个示例 |
基本引导 |
格式要求明确的任务 |
| Few-shot |
提供多个示例 |
模式学习 |
复杂任务、特定格式 |
| Few-shot CoT |
提供带推理链的示例 |
推理引导 |
数学、逻辑推理 |
按推理策略分类
| 策略 |
方法 |
核心 |
| 直接回答 |
Standard Prompting |
模型直接生成答案 |
| 逐步推理 |
Chain-of-Thought |
分步推理后给出答案 |
| 自我验证 |
Self-Consistency |
多次采样+投票 |
| 分解任务 |
Least-to-Most |
将复杂问题分解为子问题 |
3. Few-Shot 提示学习
基本原理
Few-shot prompting 通过在上下文中提供少量示例,让模型"即时学习"任务模式,无需参数更新。
QUESTION 面试高频:Few-shot 提示的效果受哪些因素影响?
- 示例数量:3-8 个通常效果最佳,过多会稀释注意力
- 示例格式:统一的输入-输出格式有助于模型理解
- 示例相关性:与目标任务越相似效果越好
- 示例顺序:靠近查询的示例影响更大(recency bias)
- 示例标签质量:错误标签会误导模型
- 标签分布:正负样本应相对均衡
Few-shot 示例选择策略
静态选择 → 手动筛选最优示例(成本高但质量好)
随机选择 → 从候选池随机抽取(简单但效果不稳定)
相似度选择 → 用 Embedding 做 KNN 检索(自动且效果好)
聚类选择 → 从聚类中心选代表(覆盖多样性)
Few-shot vs Fine-tuning
| 维度 |
Few-shot |
Fine-tuning |
| 参数更新 |
否 |
是 |
| 数据需求 |
3-10 个示例 |
数千到数万条 |
| 计算成本 |
极低 |
高 |
| 灵活性 |
高(随时更换) |
低(需重新训练) |
| 性能上限 |
受上下文窗口限制 |
理论更高 |
| 适用场景 |
快速原型、轻量任务 |
生产部署、复杂任务 |
4. 温度与采样策略
核心参数
| 参数 |
作用 |
推荐值 |
| temperature |
控制输出随机性 |
0(确定性)/ 0.7(创意) |
| top_p |
核采样,限制候选 Token 概率质量 |
0.9 |
| top_k |
限制候选 Token 数量 |
40-50 |
| max_tokens |
控制最大输出长度 |
按需设置 |
| frequency_penalty |
惩罚高频 Token |
0-1 |
| presence_penalty |
惩罚已出现的 Token |
0-1 |
Temperature 的影响
P(xi)=∑jexp(zj/T)exp(zi/T)
- T → 0:趋向贪心解码(argmax),输出确定
- T = 1:原始分布,正常采样
- T → ∞:均匀分布,随机采样
场景推荐:
- 代码生成:T=0(确定性输出)
- 文本摘要:T=0.3(略确定性)
- 对话系统:T=0.7(适度创造性)
- 创意写作:T=1.0+(高创造性)
- CoT 推理:T=0(单路径)/ T>0(Self-Consistency)
5. 提示词设计模式
5.1 角色设定模式
你是一位资深的 Python 开发工程师,擅长编写高性能、可维护的代码。
请帮我完成以下任务:...
5.2 输入-输出格式模式
将以下文本翻译为英文。
输入:{text}
输出:
5.3 思维链模式
请逐步分析以下问题,展示完整的推理过程:
{question}
让我们一步步思考。
5.4 约束条件模式
请完成以下任务,同时遵守以下约束:
1. 回答不超过 200 字
2. 使用 Markdown 格式
3. 包含至少一个代码示例
6. 常见陷阱与最佳实践
常见陷阱
| 陷阱 |
说明 |
解决方案 |
| 指令模糊 |
"帮我写点东西" |
明确目标、格式、长度 |
| 负面指令失效 |
"不要输出 JSON" |
改用正面指令 "输出纯文本" |
| 过长提示 |
塞入过多无关信息 |
精简到核心信息 |
| 格式不一致 |
示例与要求格式不匹配 |
统一格式模板 |
| 忽略输出 |
不验证输出是否符合预期 |
添加格式校验逻辑 |
最佳实践
- 版本管理:对提示词做版本控制,追踪效果变化
- A/B 测试:对比不同提示词的效果差异
- 变量抽取:将可变部分参数化,便于模板复用
- 边界测试:测试极端输入下的表现
- 迭代优化:基于输出反馈持续改进
相关笔记:思维链与推理策略、系统提示词、上下文工程、结构化输出