提示词是在推理时交给模型的指令和上下文。由于大模型具备上下文学习能力(Brown 等人,2020),对大多数用户来说,引导模型行为的主要方式是提示词,而不是重新训练。Liu 等人(2023)的综述对各类提示方法做了系统梳理。
有效的提示词会清楚说明任务、提供相关的上下文或示例,并指定所需的格式。措辞上的细微变化就可能明显改变结果——这正是提示词工程存在的原因。
什么是提示词工程?
提示词工程是一种有意识地编写、测试和迭代提示词的技能,而不是靠反复试错。你改变的不是模型,而是它的输入:把任务说明白,给模型提供所需的背景信息,展示好答案应该是什么样子,并说明结果应如何组织。
它既适用于日常聊天,也适用于基于 API 构建应用的开发者。对于应用而言,提示词工程还包括设定模型角色和规则的系统提示词,以及防范提示词注入。OpenAI、Anthropic 和 Google 都为各自的模型发布了提示词指南(见下方参考资料)。
真正有效的提示词工程技巧
同一个请求,先用模糊的方式写,再分别运用各项技巧改写:
| 技巧 | 模糊的提示词 | 更好的提示词 |
|---|---|---|
| 具体明确 | “总结一下这个。” | “请为一位很忙的 CFO 用五个要点总结这份报告,重点关注成本。” |
| 提供上下文 | “回复这封邮件。” | “礼貌地拒绝这次会议,并提议改到周二下午。邮件如下:……” |
| 给出示例 | “给这些评论分类。” | “把每条评论标记为正面、负面或褒贬不一。示例:‘发货很快,盖子坏了’→ 褒贬不一。” |
| 要求展示推理过程 | “答案是什么?” | “请一步一步推导,然后把最终答案单独写在一行。” |
| 指定格式 | “比较一下这几个套餐。” | “用表格比较这三个套餐:价格、限制、最适合谁。” |
加入完整示例的做法称为少样本提示;对于简单任务,一条清晰的指令(零样本)往往就足够了。要求模型逐步推理(思维链)通常有助于解决多步骤的数学和逻辑问题。无论尝试哪种方法,都要检查结果,并根据问题出在哪里来改进提示词。
MultipleChat 中的提示词工程
MultipleChat 的 Prompt Optimizer 会在你发送之前先优化粗糙的提示词。由于同一个提示词可以在 ChatGPT、Claude、Gemini、Grok 和 Perplexity 上并排运行,你还能直观看到措辞的改变如何影响每个模型的回答。