共计 1336 个字符,预计需要花费 4 分钟才能阅读完成。
痛点分析:新手常踩的 3 个坑
刚接触提示词工程时,开发者经常会遇到以下问题:

-
指令模糊导致输出偏离预期
比如只写 ” 写一篇关于人工智能的文章 ”,大模型可能生成科普文、技术报告甚至诗歌。我曾用这个指令测试,结果 5 次运行得到 3 种完全不同风格的内容。 -
缺乏约束条件产生无效输出
例如让模型 ” 推荐旅游目的地 ” 却不限定预算、季节偏好,得到的推荐从东南亚到南极包罗万象,根本无法实际使用。 -
忽略格式要求增加解析成本
需要结构化数据时,只要求 ” 列出优势 ” 却没指定 JSON 或表格格式,后期需要额外处理文本。
技术方案:结构化提示词设计
1. 三层提示词结构
有效的提示词应包含三个层次:
-
角色定义(Who)
"""你是一名资深机器学习工程师,擅长用通俗语言解释技术概念""" -
任务描述(What+Why)
"""向非技术背景的产品经理介绍 Transformer 架构,重点说明自注意力机制如何解决长距离依赖问题""" -
输出格式(How)
"""用汽车零部件类比解释,输出包含 3 个核心观点,每点不超过 2 句话"""
2. 零样本 vs 少样本提示
-
零样本提示 适合简单明确的任务
# 直接提问 "列出 Python 字典的 5 个常用方法" -
少样本提示 适合复杂场景
""" 示例 1: 输入:把 "我爱编程" 翻译成英语 输出:I love programming 输入:把 "天气真好" 翻译成英语 """
3. 完整代码示例
import openai
# 错误示范:模糊指令
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": "你是 AI 技术布道师,擅长用生活案例解释概念"
}, {
"role": "user",
"content": "用做菜类比解释监督学习和无监督学习的区别,要求:1. 包含 3 个对比维度 2. 每点不超过 30 字"
}],
temperature=0.7, # 控制创造性
max_tokens=150 # 限制输出长度
)
避坑指南
1. 敏感内容过滤
# 在用户输入和模型输出间加入过滤层
def safe_prompt(prompt):
banned_words = ['暴力', '色情', '政治']
if any(word in prompt for word in banned_words):
raise ValueError("包含敏感词汇")
return prompt
2. 长文本处理策略
- 超过 3000 字符时建议分块
- 每块保留上下文关联:
"继续上文,接下来分析..."
3. 温度参数调优
- 创意任务:0.7-1.0(更有想象力)
- 事实查询:0.1-0.3(更确定)
实践建议
- 尝试用同一个提示词,调整 temperature 从 0.1 到 1.0,观察输出变化规律
- 设计一个需要多轮对话的提示词(如技术面试模拟),体会上下文保持技巧
进阶学习推荐:
– OpenAI 官方提示工程指南
– LangChain 的 FewShotPromptTemplate 实战
–《人工智能产品设计》中的需求拆解方法
正文完
