共计 2392 个字符,预计需要花费 6 分钟才能阅读完成。
背景痛点:为什么你的提示词总是不给力?
在实际开发中,很多开发者会遇到这样的问题:明明输入了一大段文字,AI 却总是给出似是而非的回答。常见的痛点包括:

- 模糊不清的指令 :比如“写篇文章”,却没有明确主题、风格和长度
- 缺乏结构化 :大段文字堆砌需求,关键信息被淹没
- 忽视上下文 :多轮对话中丢失了重要背景信息
- 过度依赖默认参数 :比如始终使用 temperature=0.7
- 缺少评估标准 :无法量化提示词改进的效果
方法论解析:吴恩达的四大黄金法则
吴恩达的课程提出了几个核心原则,经过我的实践验证确实有效:
- 清晰明确的指令
- 使用分隔符(“`, “””, — 等)突出关键部分
- 指定输出格式(JSON/XML/ 列表等)
-
明确长度限制(字数 / 段落数)
-
提供参考示例 (Few-shot Learning)
- 给 1 - 3 个输入输出示例
-
示例要覆盖典型场景
-
分步思考 (Chain-of-Thought)
- 让 AI 展示推理过程
-
特别适合数学和逻辑问题
-
角色设定
- “你是一个经验丰富的 Python 工程师”
- 比单纯的技术要求更有效
实战示例:三个典型场景模板
场景一:客服对话优化
优化前:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "客户说商品坏了怎么办?"}]
)
优化后:
# 参数说明:# temperature=0.3 降低随机性
# max_tokens=200 限制响应长度
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
temperature=0.3,
max_tokens=200,
messages=[{"role": "system", "content": "你是一个专业客服,请用友善语气回答,先确认问题再提供 3 步解决方案"},
{"role": "user", "content": "客户投诉:刚收到的智能音箱无法开机"}
]
)
效果对比:
– 优化前:可能直接给出维修地址
– 优化后:会先确认电源状态,再指导重置步骤,最后提供退换货选项
场景二:技术文档生成
def generate_api_doc(function_code):
prompt = """
请为以下 Python 函数生成 Markdown 格式的文档,包含:1. 功能描述
2. 参数说明(类型 + 用途)3. 返回值说明
4. 使用示例
函数代码:```python
{function_code}
```
""".format(function_code=function_code)
response = openai.ChatCompletion.create(
model="gpt-4",
temperature=0,
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
场景三:代码调试辅助
error_message = "IndexError: list index out of range"
code_snippet = "items = []; print(items[0])"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "你是一个调试助手,请:1. 解释错误原因 2. 指出具体行号 3. 给出两种修复方案"},
{"role": "user", "content": f"错误:{error_message}\n 代码:{code_snippet}"}
]
)
评估体系:如何量化改进效果
建议从三个维度评估:
- 相关性 (0- 5 分):回答是否切题
- 一致性 (0- 5 分):多次询问结果是否稳定
- 有用性 (0- 5 分):实际解决问题的程度
可以建立一个简单的评估脚本:
def evaluate_response(prompt, response):
# 示例评估逻辑
relevance = input("相关性评分 (0-5):")
consistency = input("一致性评分 (0-5):")
usefulness = input("有用性评分 (0-5):")
return {
"prompt": prompt,
"score": (int(relevance) + int(consistency) + int(usefulness)) / 3
}
避坑指南:5 个血泪教训
- 不要假设 AI 知道你的上下文
- 坏实践:直接问“上面的方案怎么样?”
-
修复:总是携带必要上下文
-
避免开放式提问
- 坏实践:“谈谈机器学习”
-
修复:“用 200 字解释监督学习和无监督学习的区别”
-
注意 token 限制
- 大段提示词可能被截断
-
解决方案:先用摘要再展开
-
温度参数滥用
-
creative 写作可以 0.7,技术问答建议 0.2-0.3
-
忽视系统消息
- 系统角色设定能显著影响风格
进阶建议:像工程师一样管理提示词
- 版本控制
- 用 Git 管理不同版本的提示词
-
示例目录结构:
/prompts /v1 customer_service.md /v2 customer_service.md -
A/ B 测试方案
- 同时部署两个提示词版本
- 收集用户反馈数据
-
使用 t 检验统计显著性
-
构建提示词库
- 分类存储已验证的提示词
- 添加元数据(适用场景、测试评分等)
动手任务
尝试改进这个基础提示词:
# 原始版本
prompt = "写一篇关于人工智能的文章"
# 你的优化版(参考结构)improved_prompt = """请以'AI 如何改变医疗行业 ' 为题,写 800 字科普文章。要求:1. 包含 3 个具体应用案例
2. 使用比喻解释技术原理
3. 结尾给出 2 个伦理思考
格式:Markdown 带二级标题
"""
建议先在 Playground 测试效果,再用 API 实现自动化。记住:好的提示词都是迭代出来的,不要期待一次完美。
正文完
