共计 2091 个字符,预计需要花费 6 分钟才能阅读完成。
当 AI 不理解你时,问题可能出在提示词上
最近在调试 GPT- 3 时,我发现同样的模型,同事得到的输出总比我的更精准。仔细观察后发现问题出在提示词 (prompt) 设计上——这让我意识到提示词工程 (Prompt Engineering) 的重要性。简单来说,提示词工程就是通过优化输入文本来引导 AI 产生更符合预期的输出结果。

为什么你的提示词总是不奏效
在与语言模型交互时,开发者常遇到这些困扰:
- 结果像开盲盒:同样的提示词,不同时间得到截然不同的答案
- 效率低下:需要反复调整提示词才能获得可用结果
- 调试困难:无法准确定位是提示词问题还是模型本身限制
- 成本失控:长提示词导致 API 调用费用快速增长
这些问题往往源于对提示词工程缺乏系统性认识。下面我们就从基本原则开始,逐步掌握提示词设计的核心技巧。
提示词设计的黄金法则
1. 具体性原则
模糊的提示词:” 写一篇关于健康的文章 ”
优质的提示词:” 撰写一篇 800 字左右的科普文章,面向 30-45 岁上班族,重点讲解睡眠质量与工作效率的关系,要求包含 3 个科学研究和 2 个实用建议 ”
2. 上下文构建
# 不好的示例
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "解释量子计算"}]
)
# 好的示例
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "你是一位物理学教授,正在给大一新生授课"},
{"role": "user", "content": "用通俗比喻解释量子比特的叠加原理,不超过 200 字"}
]
)
3. 结构化格式
- 使用分隔符明确不同部分:”### 指令 ### 请 …\n### 示例 ### 例如 …”
- 指定输出格式:” 以 Markdown 表格形式列出 5 个步骤,每步包含 1 个注意事项 ”
- 分步引导:” 首先 … 然后 … 最后 …”
实战案例:从简单到复杂
基础案例:天气查询优化
# 基础版 - 效果一般
prompt = "今天的天气怎么样?"
# 优化版 - 具体且有约束
optimized_prompt = """ 你是一位气象播报员,请用亲切的口吻报告:1. 当前北京市朝阳区的实时天气状况
2. 未来 3 小时变化趋势
3. 给市民的出行建议
要求:语言简洁,不超过 100 字 """
进阶案例:代码生成
# 低效提示词
"写一个 Python 函数"
# 高效版本
effective_prompt = """ 请按照以下要求生成 Python 3.8 代码:1. 函数功能:计算两个日期之间的工作日天数
2. 输入参数:start_date(str 格式 'YYYY-MM-DD'), end_date(同前)
3. 排除:周末和中国的法定节假日
4. 返回:整数形式的工作日天数
5. 添加类型注释和 docstring
6. 包含 3 个测试用例
输出格式:```python
# 你的代码实现
```"""
性能优化三把斧
1. 提示词压缩技巧
- 删除冗余词:将 ” 请你能不能 …” 简化为 ” 请 …”
- 使用缩写:” 例如 ”→”e.g.”,” 也就是说 ”→”i.e.”
- 实验结果:压缩后提示词减少 30%token 量,响应速度提升 22%
2. 缓存策略
from functools import lru_cache
@lru_cache(maxsize=100)
def get_cached_response(prompt):
return openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role":"user", "content": prompt}]
)
3. 批量处理
# 低效方式
for question in questions:
response = openai.ChatCompletion.create(...)
# 高效批量处理
batch_prompt = """ 请依次回答以下问题,用编号分隔:1. {q1}
2. {q2}
..."""
新手避坑指南
常见设计误区
- ❌ 提示词过长过细,限制模型创造力
- ❌ 使用模糊的主观评价标准(如 ” 写得生动些 ”)
- ❌ 忽略模型的知识截止日期(GPT-3.5 的知识截止到 2021 年)
安全边界建议
- 添加内容过滤:” 你的回答应符合中国法律法规 ”
- 设置防护栏:” 如果问题涉及敏感话题,请回答 ’ 不便讨论此话题 '”
- 测试极端案例:故意输入不良内容测试模型反应
成本控制技巧
- 监控 token 使用量:
usage['total_tokens'] - 设置 max_tokens 限制
- 优先使用 gpt-3.5-turbo 而非 text-davinci-003
思考与实践
现在,尝试为以下场景设计优化提示词:
“ 需要让 AI 帮助电商平台生成 50 款夏季女装的产品描述,要求:
1. 每款 100 字左右
2. 包含材质、适合场景、穿搭建议
3. 风格统一但各有特色
4. 符合 25-35 岁女性审美 ”
把你的设计方案和原始提示词对比,观察输出质量差异。提示词工程就像与 AI 的沟通艺术,需要不断练习和优化。记住:好的提示词 = 明确意图 + 充分上下文 + 合理约束。
正文完
