共计 1345 个字符,预计需要花费 4 分钟才能阅读完成。
痛点分析:为什么你的提示词总翻车?
刚接触提示词工程时,最常遇到的场景就是:满怀期待输入一段指令,结果 AI 要么答非所问,要么生成一堆废话。比如想让 GPT- 4 写电商文案,输入 ” 写个手机广告 ”,得到的可能是参数罗列,而不是吸引人的卖点。这种输出不稳定的核心原因在于:

- 模糊的指令边界:未明确生成内容的格式、长度、风格等约束条件
- 缺失上下文角色:未给 AI 分配具体身份(如 ” 你是个 10 年经验的数码产品文案专家 ”)
- 缺乏任务拆解:复杂任务需要分步骤引导(先列卖点再润色文案)
结构化提示词设计框架
经过多次实践,我总结出提示词设计的黄金公式:
- 角色定义:给 AI 明确的身份定位
- 任务分解:将复杂需求拆解为子步骤
- 约束条件:设定格式、长度、风格限制
举个例子,优化后的手机广告提示词:
# 结构化提示词模板
template = """
角色:你是专注于 3C 领域的资深营销文案专家,擅长用情感化语言突出产品卖点
任务:为新款 iPhone 撰写社交媒体广告文案
要求:1. 突出夜间拍摄、续航、屏幕三个核心优势
2. 使用年轻人喜欢的网络化表达
3. 限制在 3 句话内,包含 emoji
"""
代码实战:用 Python 构建对话系统
结合 OpenAI API 和 LangChain 实现多轮对话管理:
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
# 定义 few-shot 提示词模板
prompt = PromptTemplate(input_variables=["product", "features"],
template="""
你是个专业的产品经理,需要向技术团队描述需求。以下是两个示例:示例 1:
产品:智能手环
需求:实现心率异常震动提醒,要求延迟小于 1 秒
示例 2:
产品:电子书阅读器
需求:增加 PDF 批注功能,支持手写输入
现在请为 {product} 编写需求:主要功能:{features}
需求描述:"""
)
# 调用 GPT-3.5
llm = OpenAI(temperature=0.7)
print(llm(prompt.format(product="智能音箱", features="声纹识别 + 多设备联动")))
关键参数说明:
- temperature=0.7:平衡创意与稳定性(0- 1 范围)
- few-shot 示例:提供 2 - 3 个样例降低歧义
性能优化与避坑指南
Token 使用技巧
- 长文本使用
[重要内容优先]将核心信息放在前面 - 避免重复描述(如不要同时用中文和英文说同一件事)
- 用列表替代段落(
- 要点 1\n- 要点 2比长句子更省 token)
常见踩坑点
- 模糊指令:
- ❌ “ 写得专业点 ” → ✅ “ 使用学术论文写作风格,包含引言、方法、结论三部分 ”
- 敏感词处理:
- 添加过滤规则:” 请不要生成涉及政治、暴力等内容 ”
- 过度约束:
- 避免同时要求 ” 幽默 ” 又 ” 严谨 ” 这类矛盾指令
思考题
当你设计了 10 个不同版本的提示词时,如何量化评估它们的优劣?可以从这些维度考虑:
- 生成结果与预期的语义相似度(可用 embedding 余弦相似度)
- 人工评估分数(1- 5 分制打分)
- API 调用耗时与 token 消耗比例
在实际项目中,我通常会先用少量样本做 AB 测试,选择表现最好的 3 个模板再进行大规模应用。记住:好的提示词都是迭代出来的,不要指望一次就能写出完美版本。
正文完
