Prompt工程实战:写出高质量提示词的15个技巧
同样的模型,有人用它写出惊艳的文案,有人用它得到一堆废话。差距往往不在模型,而在提示词(Prompt)。Prompt 工程是一门“用语言编程”的手艺——你写给模型的指令,就是它的程序。程序写得烂,再强的模型也跑不出好结果。
本文总结了 15 个经过实战验证的 Prompt 技巧,从最基础的角色设定到进阶的 Chain of Thought、结构化模板,每个技巧都配对比示例。掌握这些,你的提示词质量能立刻上一个台阶。
一、基础篇:让模型听懂你要什么
技巧1:明确角色设定
给模型一个身份,它的回答会立刻专业起来。不要说“解释 RAG”,要说“你是一位资深 AI 架构师,向初级开发者解释 RAG”。
技巧2:具体胜于抽象
“写一篇好文章”是无效指令,模型不知道你要什么风格、多长、给谁看。要写明受众、字数、风格、结构。“写一篇 800 字的科普文章,面向非技术读者,用比喻解释,分三个小节”。
技巧3:说清楚输出格式
明确要求 JSON、Markdown 表格、还是纯文本。要 JSON 就给出 schema 示例,避免模型自由发挥。
# 不好的 Prompt
请总结这篇文章。
# 好的 Prompt
你是一位资深编辑。请把下面文章总结成 JSON,包含 title(10字内)、
key_points(3-5条要点,每条20字内)、summary(100字内概要)。
只输出 JSON,不要任何解释。
文章:{article}
技巧4:用分隔符隔离上下文
当 Prompt 里既有指令又有大段参考资料时,用 """、### 或 XML 标签把资料包起来,模型才不会把资料当成指令执行。这是防“提示词注入”的关键手段。
技巧5:给出约束条件
明确告诉模型“不要做什么”和“必须做什么”。“不要编造数据,不知道就说不知道”“字数严格控制在 200 字以内”“只用中文回答”。约束越明确,越少跑偏。
二、进阶篇:用模式提升复杂任务表现
技巧6:Few-shot 少样本示例
与其费力描述你要的格式,不如直接给 2-3 个示例。模型从示例里学规律比从描述里学更准。特别适合分类、抽取、格式转换任务。
请对用户评论进行情感分类,输出 正面/负面/中性。
评论:这个产品太好用了,强烈推荐!
分类:正面
评论:物流太慢,等了一周才到。
分类:负面
评论:包装一般,但功能还行。
分类:中性
评论:{new_comment}
分类:
技巧7:Chain of Thought 思维链
对于数学、推理、多步决策任务,让模型“一步一步思考”能大幅提升正确率。GPT-5.5、Claude Opus 4.8 这类强模型虽然推理能力很强,但在复杂问题上加一句“请逐步推理”依然有效。
一个商店原价 200 元的商品先涨 20% 再打 8 折,最终价格是多少?
请一步一步推理,最后给出答案。
技巧8:分步拆解复杂任务
不要让模型一次完成复杂任务,拆成多步分别调用,每步只做一件事。比如写报告:第一步列大纲,第二步逐节扩写,第三步润色。每步结果作为下一步输入,质量远高于一次性生成。
技巧9:让模型自我检查
生成后让模型审视自己的输出:“请检查上面的回答是否有事实错误、逻辑漏洞,如有请修正”。这种 self-critique 能显著降低幻觉和低级错误。
技巧10:结构化 Prompt 模板
把 Prompt 组织成固定结构:Role(角色)→ Task(任务)→ Context(背景)→ Constraint(约束)→ Format(格式)→ Examples(示例)。结构化模板便于团队复用和迭代。
# 结构化 Prompt 模板示例
【角色】你是资深数据分析师。
【任务】分析销售数据,找出下滑原因。
【背景】{data_description}
【约束】只基于数据下结论,不做无依据推测。
【格式】输出三部分:核心发现、原因分析、改进建议。
【示例】(略)
三、高级篇:稳定与可控
技巧11:用 temperature 控制随机性
temperature 不是 Prompt 文本,但和 Prompt 同样重要。事实问答、代码生成用 0-0.2(确定);文案、创意用 0.7-0.9(多样)。同一个 Prompt,temperature 设错效果天差地别。
技巧12:负面示例也很重要
除了给“正确示例”,给“错误示例”同样有效。“下面是错误示范:……,请避免这种问题”。模型对“不要做什么”的理解往往比对“要做什么”弱,负面示例能补足。
技巧13:避免模糊指令词
“适当”“尽量”“可能”这类词模型理解不一致。把“适当详细”改成“每个要点展开 50-80 字”,把“尽量准确”改成“如不确定请说明”。指令越可量化越好。
技巧14:迭代式优化
没有一次写对的 Prompt。建立“测试用例集”,每次改 Prompt 都跑一遍,看输出是否变好。把失败的 case 加进 Few-shot 示例,是最高效的优化方式。
技巧15:版本化管理 Prompt
把 Prompt 当代码管理:存进 Git,写注释说明每个版本改了什么、为什么改。生产环境的 Prompt 一旦上线就不能随便动,必须有回滚能力。
四、用代码管理 Prompt
实际项目里 Prompt 不会硬编码在调用处,而是集中管理。下面是一个可复用的 Prompt 模板 + 调用示例:
from openai import OpenAI
client = OpenAI(api_key="sk-your-enlyai-key", base_url="https://enlyai.com/v1")
# 集中管理 Prompt 模板
PROMPTS = {
"summarize": """你是一位资深编辑。请把文章总结成 JSON。
{{"title": "...", "key_points": [...], "summary": "..."}}
只输出 JSON。文章:{article}""",
"classify": """对评论做情感分类(正面/负面/中性)。
{few_shot}
评论:{text}
分类:"""
}
def run(prompt_name, model="gpt-5.4-mini", **vars):
prompt = PROMPTS[prompt_name].format(**vars)
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0.2
)
return r.choices[0].message.content
print(run("summarize", article="..."))
提示:通过 EnlyAI 统一接入,同一个 Prompt 模板可以用 GPT-5.5、Claude Opus 4.8、Gemini 3.5 Pro 分别跑一遍对比效果,找出最适合该 Prompt 的模型——这是 Prompt 工程里常被忽略的一环。
五、常见避坑指南
- 别让模型猜你的意图:模糊指令是幻觉的温床,宁可啰嗦也不要含糊。
- 别把所有要求堆在一句:长指令用编号列表拆开,模型对结构化指令的遵循度更高。
- 别迷信“你是世界顶级专家”:角色设定有用,但堆砌夸张头衔不会让模型变强,反而可能让它更啰嗦。
- 别忽略 system 与 user 的分工:稳定的人设放 system,每次变化的输入放 user,能让模型更稳定地保持角色。
- 别用同一个 temperature 跑所有任务:分类用 0,创作用 0.8,混用必翻车。
总结
Prompt 工程的本质是把模糊的需求翻译成模型能精确执行的指令。15 个技巧可以归纳为三条主线:说清楚(具体、结构、约束)、给示范(Few-shot、思维链)、勤迭代(测试集、版本化)。把这三条做到位,你的提示词质量就能超过 90% 的使用者。
而 Prompt 的最终效果还取决于模型能力。通过 EnlyAI 统一接入,你可以用同一套 Prompt 在多个模型间快速对比,找到“Prompt × 模型”的最佳组合,把提示词的威力发挥到最大。
想让你的 Prompt 在最佳模型上发挥威力?
EnlyAI 提供 OpenAI 兼容的统一接口,一个 key 调用 GPT-5.5、Claude Opus 4.8、Gemini 3.5 Pro,方便你用同一套 Prompt 对比模型效果,注册即送免费额度。
立即注册 EnlyAI →