共计 2027 个字符,预计需要花费 6 分钟才能阅读完成。
从两个头疼场景说起
上周帮朋友调试电商文案生成工具时,发现 AI 总给出类似“这款产品很好用!”的万能废话。另一个做代码补全的同事更崩溃——模型生成的函数要么参数不全,要么疯狂输出他根本不需要的多语言注释。这些现象背后有个共同点: 提示词(Prompt)设计太粗糙 。

就像对人说话时含糊其辞得不到精准回应,AI 也需要明确的“表达框架”。下面分享我趟过的提示词工程实战经验。
提示词的三层铠甲结构
1. 意图层:给 AI 划重点
想象你在教新人写邮件:
- 坏示范:“写个促销邮件”
- 好示范:“以数码产品经理身份,为新款蓝牙耳机撰写面向学生群体的限时折扣邮件,强调续航和降噪功能,带紧迫性促销话术”
关键技巧 :
- 角色设定:明确 AI 的视角(如产品经理)
- 受众定位:指定目标人群(学生群体)
- 核心要素:列出必须包含的信息点(续航、降噪)
- 风格引导:限定表达方式(紧迫性话术)
2. 约束层:给 AI 戴辔头
用符号工具划定边界:
# 在 Python 提示词中用特殊标记限定格式
prompt = """
生成 3 条手机壳电商文案要求:1. 每条不超过 20 字
2. 包含「防摔」「轻薄」关键词
3. 禁止出现价格信息
格式示例:[潮流配色] 防摔不厚重
"""
常用约束手段 :
- 长度限制:
不超过 200 字 - 格式要求:
用 Markdown 表格对比参数 - 负面清单:
禁止讨论政治话题
3. 示例层:给 AI 看样板
直接给参照物最有效,比如代码补全时:
# 现有代码(上下文)def calculate_discount(price, rate):
return price * rate
# 提示词示例
"""
参照上方函数风格,补全以下功能:1. 新增 apply_tax 函数
2. 参数为 price 和 tax_rate
3. 返回含税总价
类似格式:def xxxx(a, b):
return...
"""
关键参数:温度系数的魔术
temperature 参数就像 AI 的脑洞开关:
- 低温度(0.2):输出稳定但保守,适合事实陈述
- 高温度(0.8):创意丰富但可能跑偏,适合文学创作
实测对比电商文案生成:
import openai
# 保守模式
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "生成冰箱卖点文案"}],
temperature=0.2
)
# 输出:"节能省电,大容量存储"
# 创意模式
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "生成冰箱卖点文案"}],
temperature=0.8
)
# 输出:"你的夏日保鲜管家,连西瓜都能记住存放位置"
上下文窗口:对话记忆卡
多轮对话时,需要像聊天软件那样保持上下文。关键技术点:
- 维护消息队列
- 控制对话 token 总量(通常不超过模型限制的 80%)
messages = [{"role": "system", "content": "你是有 10 年经验的 Python 导师"},
{"role": "user", "content": "如何用 lambda 排序字典?"}
]
# 第一轮响应
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
answer = response.choices[0].message.content
# 追加到上下文
messages.append({"role": "assistant", "content": answer})
messages.append({"role": "user", "content": "能举例说明吗?"})
# 第二轮对话仍记得 Python 导师设定
三大避坑指南
1. 模糊词识别
- 问题提示词:” 写个介绍 ” → 改:” 写 300 字关于 ChatGPT 的技术科普,受众是高中生 ”
- 检测工具:检查提示词是否包含 5W1H(Who/What/When/Where/Why/How)
2. 敏感内容过滤
# 简易关键词过滤
blacklist = ["暴力", "色情", "政治"]
def safe_prompt(prompt):
if any(word in prompt for word in blacklist):
raise ValueError("包含受限词汇")
return True
3. Token 超限预防
- 估算工具:
len(prompt.encode('utf-8')) // 4近似 token 数 - 分段策略:超长文本拆分为
[当前部分][上文摘要]
三个课后实践题
- 设计支持多轮修订的提示词框架(如允许用户说“第二点要更详细”)
- 对比 GPT-3.5 和 GPT- 4 在相同提示词下的表现差异
- 为客服机器人设计能识别用户情绪(愤怒 / 困惑)的提示词层
提示词工程像教 AI 说话——开始需要手把手示范,熟练后就能配合默契。从今天起,给你的 AI 伙伴更清晰的“工作指引”吧!
正文完
