共计 1854 个字符,预计需要花费 5 分钟才能阅读完成。
背景与痛点
在实际开发中,许多开发者发现 ChatGPT 的输出结果有时会偏离预期。常见问题包括:

- 输出偏差:模型回答与问题意图不符
- 效率低下:需要多次交互才能得到满意结果
- 结果不稳定:相同提示词产生差异较大的输出
这些问题往往源于提示词设计不当。好的提示词就像给 AI 的明确工作说明书,直接影响模型输出的质量。
核心概念
提示词工程三大要素
- 明确性(Clarity):
- 使用具体、明确的指令
-
避免模糊表述
-
上下文控制(Context Control):
- 合理设置对话历史
-
控制响应长度
-
迭代优化(Iterative Refinement):
- 基于反馈持续改进提示词
- A/ B 测试不同版本
不同提示策略对比
| 策略 | 适用场景 | 示例 |
|---|---|---|
| 零样本(Zero-shot) | 简单明确的任务 | “ 翻译这段文字 ” |
| 小样本(Few-shot) | 需要示例的任务 | 提供 2 - 3 个示例 |
| 思维链(Chain-of-Thought) | 复杂推理任务 | “ 让我们一步步思考 …” |
实战方案
提示词设计模板
# 角色设定
[明确 AI 的角色,如 "资深 Python 开发者"]
# 任务说明
[具体描述需要完成的任务]
# 输出要求
[指定格式、长度等限制]
# 示例(可选)
[提供输入输出示例]
技术文档生成示例
import openai
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "你是一位技术文档撰写专家"},
{"role": "user", "content": "为 Python 的 requests 库编写入门教程,包含安装方法和一个基础示例"}
]
)
print(response.choices[0].message.content)
代码错误诊断示例
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "你是一位经验丰富的代码调试助手"},
{"role": "user", "content": "以下 Python 代码报错 ImportError,请分析原因并提供修复方案:\nimport numppy as np"}
]
)
多轮对话控制示例
conversation = [{"role": "system", "content": "你是一位友好的客服代表"},
{"role": "user", "content": "我的订单 12345 还没收到"}
]
# 第一轮响应
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=conversation
)
bot_reply = response.choices[0].message.content
conversation.append({"role": "assistant", "content": bot_reply})
# 用户跟进
conversation.append({"role": "user", "content": "已经超过承诺的配送时间了"})
高级调优
温度参数 (temperature) 与 top_p
- temperature:控制随机性(0-2)
- 低值:确定性强
-
高值:创造性高
-
top_p:核采样(0-1)
- 控制候选词范围
推荐组合:
– 严谨任务:temperature=0.2, top_p=0.5
– 创意任务:temperature=0.8, top_p=0.9
系统消息角色设定
# 设置 AI 角色
system_msg = """ 你是一位资深软件架构师,擅长用简洁专业的语言解释复杂概念。回答时请遵循以下规则:1. 先给出直接答案
2. 然后提供详细解释
3. 最后给出相关建议 """
避坑指南
-
问题:提示词过于简略
解决:添加具体约束条件 -
问题:忽略上下文管理
解决:合理设置对话历史长度 -
问题:参数配置不当
解决:根据任务类型调整 temperature -
问题:缺乏示例
解决:关键任务提供 few-shot 示例 -
问题:未处理边界情况
解决:预设可能的异常场景
验证指标
- 相关性(Relevance):回答与问题的匹配程度
- 完整性(Completeness):是否覆盖所有要点
- 一致性(Consistency):多次测试结果稳定性
- 效率(Efficiency):获得满意结果所需的交互次数
动手实验
尝试优化以下提示词:
原始版本:” 写一篇关于机器学习的文章 ”
优化方向:
– 指定文章长度
– 定义目标读者
– 要求包含具体示例
期待看到你的改进版本!
正文完
发表至: 未分类
近两天内
