【Prompt】Prompt 工程入门指南
摘要: 本文系统介绍了大型语言模型(LLM)的提示词工程(Prompt Engineering)技术。提示词是与AI沟通的指令,其质量直接影响输出效果。文章从基础概念入手,详细阐述了五大核心原则:清晰直接、提供充足上下文、赋予角色、使用分隔符和结构化格式。同时介绍了ICIO和CRISPE两大实用框架,以及Few-shot示例、思维链推理等优化技巧。最后总结了角色扮演等常见提示模式,帮助用户快速掌握
欢迎来到人工智能的新时代!大型语言模型(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。
示例:
请根据以下 <文章> 的内容,回答 <问题>。
<文章>
[此处粘贴文章内容]
<!--文章-->
<问题>
文章的主要论点是什么?
<!--问题-->
第三部分:常用提示词框架
为了系统化地构建高质量的 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: https://www.promptingguide.ai/
-
[2] Anthropic, Prompt engineering overview: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
-
[3] GitHub, Awesome ChatGPT Prompts: https://github.com/f/awesome-chatgpt-prompts
-
[4] GitHub, dair-ai/Prompt-Engineering-Guide: https://github.com/dair-ai/Prompt-Engineering-Guide
-
[5] GitHub, LangGPT: https://github.com/langgptai/LangGPT
更多推荐

所有评论(0)