编写 ChatGPT 指令(Prompt)的万能模板及实用示例
在人工智能领域,许多人热衷于寻找所谓的'权威 Prompt 列表',试图通过记忆数百条指令来应对各种场景。然而,这种方法是低效的。与 LLM(大语言模型)交互的核心在于掌握 Prompt 的结构化思维,而非死记硬背。
一、基础用法与角色设定
1. 直接指令
最基本的交互方式是直接输入需求。例如:
- '请将以下内容翻译为简体中文。'
- '请生成以下内容的摘要。'
- '请给 10 岁的孩子解释什么是 ChatGPT。'
这种方式能满足大部分简单需求,但效果往往不稳定。
2. 指定角色(Role Prompting)
为了提升输出质量,建议为模型指定一个专家角色。例如:'你是一位专业的英文翻译,请翻译以下内容为简体中文。'
为什么要指定角色? 这并非玄学,而是基于概率分布的科学原理。LLM 在训练时接触了海量数据,其中包含高质量和低质量的解决方案。默认情况下,模型倾向于模仿所有数据的平均表现。当你设定'专家'角色时,相当于引导模型将概率质量向高质量的数据分布倾斜,从而减少幻觉和错误。
参考 Andrej Karpathy 在 State of GPT 中的演讲观点:LLM 并不追求成功,而是追求模仿。你需要明确要求它表现得好。例如,你可以告诉它'你是这个话题的领先专家',但不要要求过高的智商(如 400),以免落入科幻内容的数据分布中。
二、进阶用法:少样本学习(Few-Shot)
1. Zero-shot vs Few-shot
- Zero-shot(零样本):不给任何示例,直接让模型回答问题。依赖模型预训练知识。
- Few-shot(少样本):提供少量特定任务的训练样本,帮助模型理解任务格式和逻辑。
2. 示例应用
假设需要翻译文本,但要求保留双引号内的英文不翻译。通过 Few-shot 可以精确控制行为。
Prompt 示例:
你是一个专业翻译,擅长翻译英文到中文,但是注意双引号内的英文不翻译。
例如:
"Dichroic-Filter" - Separates light into different wavelengths to create a color separation effect.
翻译为:
"Dichroic-Filter" - 将光分离成不同的波长以创建颜色分离效果。
请翻译以下内容:
The "API" endpoint returns a JSON response.
输出预期: The "API" endpoint 返回一个 JSON 响应。
通过结合示例,模型能更好地遵循复杂的格式约束。
三、高级技巧:链式思考(Chain of Thought)
对于复杂推理任务,直接让 GPT 给出答案容易出错。最佳实践是引导模型分步思考并展示中间过程。
1. 官方最佳实践
OpenAI 文档推荐让模型先找出自己的解决方案,再评估用户方案。步骤如下:
- 第一步:找出你自己的问题解决方案(用三重引号括起来)。
- 第二步:将你的解决方案与学生的解决方案进行比较,评估是否正确(用三重引号括起来)。
- 第三步:如果学生犯错,确定在不泄露答案的情况下给予什么提示(用三重引号括起来)。
- 第四步:向学生提供提示(在三重引号之外)。


