欢迎来到人工智能的新时代!大型语言模型(LLM)正以前所未有的方式改变我们的工作与生活。然而,要真正释放这些强大工具的潜力,关键在于我们如何与它们"对话"。这门对话的艺术,就是"提示词工程"(Prompt Engineering)。
Prompt 不仅仅是简单的提问,它是我们指导 AI 思维、定义任务边界、激发其创造力的"魔法咒语"。一份精心设计的 Prompt,能让 AI 从一个模糊的通用助手,变身为精准高效的特定领域专家。
本指南将带您系统地学习如何撰写优秀的 Prompt。无论您是初学者还是希望精进技巧的中级用户,都能在这里找到清晰的理论、实用的框架和可立即上手的技巧。让我们一起踏上这段旅程,解锁与 AI 高效协作的无限可能。
第一部分:Prompt 工程基础概念
要掌握 Prompt 的撰写,首先需要理解其背后的核心概念。
什么是 Prompt?
Prompt(提示词) 是您向大型语言模型(LLM)发出的一组指令、问题或输入。它是您与 AI 沟通的媒介,告诉模型您希望它做什么,例如回答问题、撰写文章、翻译文本、生成代码等。
什么是 Prompt 工程?
Prompt 工程(Prompt Engineering) 是一门开发和优化提示词,以便更有效地使用语言模型的学科 1。它不仅仅是设计和开发提示词,更涵盖了一系列用于与 LLM 互动和开发的技能与技术。
您可以将 Prompt 工程视为一种"与 AI 对话的编程" 2。通过精心设计的指令,您可以:
-
约束 AI 的行为:确保输出符合特定格式、风格或规则。
-
提供相关情境:帮助 AI 更好地理解任务背景,生成更精准的回答。
-
激发复杂推理:引导 AI 完成需要逻辑推理、逐步思考的复杂任务。
掌握 Prompt 工程,能帮助我们最大限度地发挥 LLM 的能力,同时也能更好地理解其局限性。
第二部分:核心原则和最佳实践
无论模型如何迭代,一些撰写 Prompt 的核心原则始终不变。遵循这些原则,是写出优秀 Prompt 的第一步。
1. 清晰与直接 (Clear & Direct)
这是最重要的一条原则。您的指令越清晰、越具体,就越有可能得到期望的输出。避免使用模糊、歧义的语言。
| 坏例子(模糊) | 好例子(清晰、直接) |
|---|---|
| "帮我写点关于苹果公司的东西。" | "以科技记者的口吻,撰写一篇约 500 字的短文,总结苹果公司在过去五年中的三项最重要创新,并分析它们对行业的影响。" |
| "这段话有问题,改改。" | "请检查以下这段英文文本中的语法和拼写错误,并以更专业、流畅的风格进行润色,但保持其核心观点不变。" |
2. 提供充足的上下文 (Context is King)
AI 没有您头脑中的背景信息。您需要提供所有必要的上下文,帮助它理解任务的全貌。上下文可以包括背景知识、相关数据、对话历史等。
| 坏例子(缺少上下文) | 好例子(提供充足上下文) |
|---|---|
| "总结一下,要简短。" | "我正在为一个关于可持续时尚的演讲准备 PPT。这是我的演讲稿草稿:'[此处插入草稿]'。请根据这份草稿,为我生成五条核心要点,每条不超过 30 字。" |
| "将'You are the apple of my eye'翻译成中文。" | "我正在写一封浪漫的情书,想把'You are the apple of my eye'翻译成一句既浪漫又有诗意的中文。请提供几个选项。" |
3. 赋予角色 (Assign a Role)
让 AI 扮演一个特定的角色(或称为 Persona),是提升输出质量的绝佳方式。角色可以帮助 AI 确定其回答的口吻、风格、视角和知识水平。
| 坏例子(无角色) | 好例子(赋予角色) |
|---|---|
| "解释一下黑洞是什么。" | "我想让你扮演一位天体物理学家和科普作家的角色。请用通俗易懂的语言,向一个 12 岁的孩子解释什么是黑洞,它的形成过程以及为什么我们无法从中逃脱。" |
4. 使用分隔符和结构化格式
当您的 Prompt 包含多个部分(如指令、示例、输入文本)时,使用清晰的分隔符(如三重引号 '''、XML 标签 <text>...</text>、或 # 指令)可以帮助模型更好地区分不同的输入部分 2。
示例:
plaintext
请根据以下 <文章> 的内容,回答 <问题>。
<文章>
[此处粘贴文章内容]
<!--文章-->
<问题>
文章的主要论点是什么?
<!--问题-->
第三部分:常用提示词框架
为了系统化地构建高质量的 Prompt,社区发展出了一些实用的框架。它们像清单一样,提醒您需要包含哪些关键元素。
ICIO 框架
这是一个简单而高效的基础框架,代表 指令 (Instruction) 、上下文 (Context) 、输入 (Input) 、输出 (Output)。
| 组成部分 | 解释 | 示例 |
|---|---|---|
| Instruction (指令) | 您希望 AI 执行的具体任务是什么? | "请将以下文本从英文翻译成简体中文。" |
| Context (上下文) | 关于任务的背景信息,或您希望 AI 扮演的角色。 | "你是一名专业的金融翻译,需要确保译文的专业性和准确性。" |
| Input Data (输入数据) | 您提供给 AI 处理的具体数据或文本。 | "The stock market is subject to fluctuations due to various geopolitical factors." |
| Output Indicator (输出指示) | 您期望的输出格式或形式。 | "请以 JSON 格式返回,包含 'source' 和 'translation' 两个键。" |
CRISPE 框架
CRISPE 框架更为详尽,它鼓励您从更多维度去构思 Prompt,特别适合构建复杂的 Prompt。
| 组成部分 | 解释 |
|---|---|
| Capacity & Role (能力与角色) | AI 的身份是什么?它应该具备哪些能力? |
| Result (结果) | 您希望 AI 交付什么样的最终成果? |
| Insight (洞察) | 背景信息、上下文、关键洞察。 |
| Style (风格) | 您希望 AI 使用什么样的语言风格和格式? |
| Personality (个性) | AI 应展现出什么样的性格或态度? |
| Experiment (实验) | 告诉 AI 可以尝试不同的方法或进行探索。 |
CRISPE 框架示例:
© 你现在是一名资深的社交媒体运营专家。
**(I) 我正在为一款名为"MindFlow"的全新冥想 App 制定推广计划,目标用户是压力大的都市白领。
**® 请为这款 App 在小红书平台创作一篇推广文案。
**§ 文案需要体现出温暖、治愈、鼓励的个性。
**(S) 请使用小红书流行的风格,包含表情符号(emoji),并分段清晰,段首可以加上吸引人的小标题。文末附上 5个相关的热门标签。
**(E) 欢迎尝试不同的角度,比如从个人故事出发,或者从科学原理切入。
第四部分:实用技巧和优化方法
除了框架,掌握一些具体的技巧能让您的 Prompt 水平更上一层楼。
1. 提供示例(Few-shot Prompting)
如果您希望 AI 的输出遵循某种特定但不易描述的格式或风格,直接给出几个示例("Few-shot")往往比用语言描述更有效 2。
示例:
我需要你将公司名称转换为一个代号。代号的规则是首字母大写,后面跟三个随机数字。
****示例 1:公司: "Sunshine"
代号: "S-381"
****示例 2:公司: "QuantumLeap"
代号: "Q-902"
现在,请为以下公司生成代号:
公司: "Starlight"
2. 引导思维链(Chain-of-Thought, CoT)
对于需要多步推理的复杂问题(如数学应用题、逻辑谜题),直接要求 AI "一步一步地思考"或"让我们逐步分析这个问题"可以显著提高其准确性。这种方法被称为"思维链",它促使模型在给出最终答案前,先输出其推理过程。
示例:
问题:一个杂货店有 25 箱苹果,每箱有 12 个。如果他们卖掉了 180 个苹果,还剩下多少个?
请一步一步地思考,然后给出最终答案。
3. 要求结构化输出
明确要求 AI 以特定格式(如 Markdown 表格、JSON 对象、HTML 列表)输出,可以让结果更易于解析和使用。
示例:
请比较一下大型语言模型 GPT-4 和 Claude 3 Opus 的主要区别。
请以 Markdown 表格的形式呈现,至少包含以下几列:模型开发者、主要优势、最佳应用场景。
4. 迭代与优化
完美的 Prompt 往往不是一次写就的。将 Prompt 撰写视为一个迭代过程:
-
尝试:写出您的第一个版本。
-
分析:检查输出结果,看它在哪些方面符合或偏离了您的预期。
-
调整:根据分析结果,修改您的 Prompt。是指令不够清晰?还是上下文给得太少?或是需要增加一个示例?
-
重复:再次尝试,直到获得满意的结果。
第五部分:常见提示词模式
在大量的实践中,一些高效的 Prompt 写法逐渐沉淀为"模式"。这些模式像"武功招式",可以在特定场景下直接套用。这类模式的集合也被研究者称为"提示模式目录"(A Prompt Pattern Catalog)。
以下是一些源自社区实践的常用模式 3:
1. 角色扮演模式 (Persona Pattern)
这是最基础也最有效的模式之一。通过 我想让你扮演... 或 Act as a... 来为 AI 设定一个身份。
例子:扮演 Linux 终端
"I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. ... My first command is pwd"
2. 专家模式 (Expert Pattern)
这是角色扮演模式的升级版。您不仅赋予 AI 一个角色,还强调其是该领域内"世界顶级"或"经验极其丰富"的专家,以期获得更高质量的回答。
例子:顶级文案专家
"你是一位世界顶级的广告文案专家,尤其擅长为高科技产品撰写富有情感共鸣和购买煽动性的文案。现在,请..."
3. 反向工程模式 (Reverse Engineering Pattern)
您提供一个最终结果,要求 AI 反向推导出生成该结果的 Prompt 或过程。这对于学习如何写好 Prompt 非常有帮助。
例子:反推 Prompt
"这是由一个 AI 生成的一段优质文本:'[粘贴文本]'。请分析这段文本,并反向推导出一个最有可能生成它的高质量 Prompt。"
4. 知识生成模式 (Knowledge Generation Pattern)
直接要求 AI 创建一篇教程、一份指南或一个解释。这是利用 AI 进行学习和知识整合的强大方式。
例子:生成教程
"请为我撰写一份关于如何在 Python 中使用
requests库向 API 发出 POST 请求的初学者教程。教程应包含完整的代码示例和对每一行代码的详细解释。"
第六部分:针对不同AI模型的特定建议
虽然大多数原则是通用的,但不同的模型也存在一些细微的差异和"偏好"。
-
通用建议 :始终优先查阅您正在使用的模型的官方文档和最佳实践指南 4。这是最权威的信息来源。
-
对于 Claude 系列 :Anthropic 的文档明确指出,Claude 对 XML 标签(如
<doc>和</doc>)的响应非常好,使用它们来分隔 Prompt 的不同部分是一个很好的实践 2。 -
对于 GPT 系列 (ChatGPT) :在通过 API 调用时,善用
system角色来设定 AI 的整体行为和身份,这通常比在用户消息中包含所有指令更有效。 -
对于 Gemini 系列:Gemini 在多模态能力上表现出色,您可以尝试在 Prompt 中结合文本和图像进行提问,以发挥其独特优势。
结语
Prompt 工程是人与 AI 协作的桥梁。它不是一门玄学,而是一门可以通过学习原则、掌握框架、练习技巧来不断精进的"手艺"。
我们鼓励您将本指南中的知识立即付诸实践。不要害怕犯错,每一次不完美的输出都是一次宝贵的学习机会。通过不断的尝试、分析和优化,您将能够驾驭 AI 的强大力量,让它成为您工作和学习中不可或缺的智能伙伴。
开始您的 Prompt 之旅吧!世界因您与 AI 的创造性对话而充满无限可能。
参考资料
-
1\] Prompt Engineering Guide:
-
3\] GitHub, Awesome ChatGPT Prompts:
-
5\] GitHub, LangGPT: