共计 1755 个字符,预计需要花费 5 分钟才能阅读完成。
背景痛点:原始 prompt 的常见问题
在实际开发中,未经优化的原始 prompt 往往会导致 ChatGPT 响应质量不稳定。以下是几类高频问题:

- 歧义性表达:如 ” 优化代码 ” 未说明编程语言或优化目标
- 上下文缺失:直接提问 ” 这个方案怎么样 ” 缺乏背景信息
- 指令模糊:” 写篇文章 ” 未指定长度、风格或关键要素
- 过度开放:” 谈谈 AI” 未限定讨论维度导致回答发散
这些问题会显著降低 AI 输出的可用性,需要通过系统化的 prompt engineering(提示工程)来解决。
技术对比:主流提示方法
不同提示策略适用于不同开发场景:
- 零样本提示(Zero-shot):直接提问,依赖模型预训练知识
- 适用场景:简单查询、常识性问题
-
示例:”Python 怎么反转列表?”
-
小样本提示(Few-shot):提供少量示例
- 适用场景:需要特定格式输出的任务
-
示例:”Q: 翻译 ’hello’ 到法语 A: ‘bonjour’\nQ: 翻译 ’goodbye’ 到法语 ”
-
思维链(Chain-of-Thought):引导分步推理
- 适用场景:复杂逻辑问题
- 示例:” 解方程 2x+5=15:首先两边减 5 得到 2x=10…”
核心方案:prompt 工程四要素
1. 角色定义(Role Specification)
明确 AI 的扮演角色,约束回答视角:
# 角色定义示例
prompt = """ 作为资深 Python 开发顾问,请用专业术语解释以下代码:{user_code}"""
2. 任务分解(Task Decomposition)
将复杂问题拆解为子任务:
# 多步任务示例
tasks = [
"总结文章核心论点",
"提取支持论点的 3 个证据",
"用 200 字概述论证逻辑"
]
3. 格式约束(Format Constraints)
指定响应结构和样式:
请按以下格式回答:- ** 结论 **:[不超过 20 字]
- ** 依据 **:1. 2. 3.
- ** 风险提示 **:[可选]
4. 示例注入(Example Injection)
提供输入输出样本:
examples = {
"input": "如何提高 API 响应速度?",
"output": "1. 启用缓存 2. 优化数据库查询 3. 使用 CDN"
}
效果验证:量化评估指标
建立客观评价体系:
- 意图匹配率:人工评估响应是否符合预期意图
- 响应相关性(0- 5 分):
- 5 分:完全解决核心问题
- 3 分:部分相关但需二次确认
- 1 分:完全偏离主题
- 完整度评分:检查是否覆盖所有子任务
避坑指南
生产环境常见问题
- Token 超限:
- 解决方案:使用
tiktoken库预计算 token 数 -
优化代码:
import tiktoken def count_tokens(text): encoding = tiktoken.encoding_for_model("gpt-4") return len(encoding.encode(text)) -
敏感词触发:
- 预防措施:建立关键词过滤列表
- 处理方案:
banned_words = [...] if any(word in prompt for word in banned_words): raise ValueError("包含受限词汇")
代码规范
所有 API 调用应包含:
- 类型标注
- 错误处理
- 速率限制
标准实现示例:
from typing import Optional
import openai
def query_chatgpt(
prompt: str,
model: str = "gpt-3.5-turbo",
max_tokens: int = 1000
) -> Optional[str]:
try:
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}],
max_tokens=max_tokens
)
return response.choices[0].message.content
except Exception as e:
print(f"API 错误: {str(e)}")
return None
延伸思考
建议结合具体业务场景设计领域模板:
- 客服场景:包含服务条款引用模板
- 教育领域:整合教学大纲知识图谱
- 金融行业:内置合规检查流程
通过持续收集 bad case(负面案例)迭代优化 prompt 模板,最终形成领域专用的 prompt library(提示库)。定期用测试集验证效果,建立版本化管理机制。
正文完
