提示词工程实战指南
提示词工程学习指南,涵盖四要素框架、Zero-shot、CoT、ToT、RAG、Agent 与任务选型
学习目标:理解提示词工程的基本方法、四要素框架与技术进阶路线,并能按任务选择 Zero-shot、CoT、ToT、RAG 与 Agent 等方法。
目录
1. 提示词工程是什么
核心概念: 提示词工程(Prompt Engineering) 是通过精心设计和优化输入提示词,引导大语言模型(LLM)产生期望输出的系统性方法论。
一句话理解:它是 AI 时代的新型编程范式——不一定编写传统代码,而是用自然语言“编程”模型的行为。
它建立在三类学科的交叉处:
- 语言学:研究表达方式、语义边界和歧义。
- 认知科学:研究人如何分解问题、组织推理与传递信息。
- 计算机科学:强调结构化输入、可复用模板、评估与迭代。
1.1 “科学面”与“艺术面”
| 维度 | 科学面 | 艺术面 |
|---|---|---|
| 关注点 | 结构、约束、测试、可复现 | 措辞、语气、启发、创造性 |
| 常用方法 | 模板、变量、评估集、A/B 测试 | 角色设定、比喻、示例、语境设计 |
| 判断标准 | 输出是否稳定、准确、可验证 | 输出是否贴合意图、自然且有洞察 |
2. 有效提示词的四大核心要素
文档指出,任何有效提示词都可以拆成四部分,而且四者并非在所有任务中同等重要。
| 要素 | 作用 | 应回答的问题 | 简短示例 |
|---|---|---|---|
| 指令(Instruction) | 定义要执行的任务 | “要模型做什么?” | 总结、翻译、分类、分析 |
| 上下文(Context) | 提供背景、目标与边界 | “为什么做?给谁用?受什么限制?” | 面向初学者;只依据给定材料 |
| 输入(Input) | 提供待处理对象 | “模型要处理什么?” | 一段文本、一组数据、一个问题 |
| 输出指示(Output Indicator) | 规定输出格式与质量 | “结果应长什么样?” | Markdown 表格;300 字内;含结论和依据 |
2.1 任务不同,权重不同
- 翻译任务更依赖清晰的指令和准确的输入。
- 分析任务更依赖充分的上下文和明确的输出指示。
- 复杂任务通常需要四要素齐全,并增加示例、评价标准或分步流程。
2.2 四要素模板
【指令】请完成:____。
【上下文】目标用户是____;使用场景是____;必须遵守____。
【输入】以下是待处理内容:____。
【输出】请用____格式输出,包含____,长度/风格/质量要求为____。
3. 五层技术进阶地图
文档把 16 种核心技术归入五大类,并按“从简单到复杂、从独立到集成”的路线递进:
直接提示类 → 链式推理类 → 知识图谱类 → 生成优化类 → 集成增强类
基础层 进阶层 知识层 元层次 系统层
单轮无依赖 多步推理 结构化知识 优化提示本身 外部工具与数据
| 层级 | 核心目标 | 适用问题 |
|---|---|---|
| 直接提示类(Direct Prompting) | 用清晰指令完成单轮任务 | 改写、翻译、分类、抽取 |
| 链式推理类 | 把复杂问题拆成多个推理步骤 | 数学、规划、复杂决策 |
| 知识图谱类 | 显式组织实体、关系和结构化知识 | 多实体关系、跨信息关联 |
| 生成优化类 | 让模型帮助生成、评价或改进提示词 | 模板优化、批量迭代 |
| 集成增强类 | 接入检索、工具和外部数据形成系统 | RAG、工具调用、Agent |
4. 关键技术理解
本节围绕文档中明确出现或被列入预习自测的技术,补充通用解释,便于复习;并非原文逐句摘录。
4.1 Zero-shot Prompting(零样本提示)
零样本提示:不给示例,直接描述任务,让模型依靠预训练知识完成。
适合:
- 任务简单、常见、边界清楚;
- 输出容错较高;
- 需要快速试探模型能力。
写好零样本提示的三个抓手:
- 使用明确动作词:提取、判断、改写、比较,而不是“处理一下”。
- 补齐判断标准:按哪些维度、依据什么标准。
- 固定输出契约:字段、顺序、格式、长度和禁止项。
示例:
请从下面的用户反馈中提取:问题类型、情绪、紧急程度和一句话摘要。
仅输出 JSON;紧急程度只能是 high、medium、low。
输入:……
4.2 CoT 与 ToT
| 技术 | 核心方式 | 优势 | 更适合 |
|---|---|---|---|
| CoT(Chain of Thought,思维链) | 沿一条路径分步推理 | 简单、成本较低、过程连贯 | 有明确推导路径的问题 |
| ToT(Tree of Thoughts,思维树) | 同时探索多个候选分支并评估取舍 | 搜索空间更广,可回退比较 | 规划、创意、存在多条可行路径的问题 |
一句话区别:CoT 是沿一条路走深,ToT 是先看多条路再选择。
4.3 RAG(Retrieval-Augmented Generation,检索增强生成)
RAG的核心是:先从外部知识库找依据,再让模型基于依据回答,而不是只依赖模型内部记忆。
典型三阶段:
- 检索(Retrieve):根据问题召回相关文档片段。
- 增强(Augment):把问题、片段和必要规则组合进模型上下文。
- 生成(Generate):基于给定证据组织答案,并尽量标注来源。
RAG 缓解幻觉的原因:它为回答提供了可见、可核验、可更新的外部证据。但效果上限取决于检索是否找对、片段是否完整、模型是否真正遵循证据。
“最后一公里”问题:即使知识已被检索出来,仍要解决如何把正确片段以合适顺序、长度和格式送给模型,并让模型不忽略、不误读、不越界发挥。
4.4 单智能体(Single Agent)
单智能体系统不只是“一段更长的提示词”,而是让模型围绕目标循环执行:理解任务、规划步骤、使用工具、观察结果并调整行动。
一种常见的五组件理解框架如下(用于辅助理解,具体命名应以课堂原文为准):
| 组件 | 作用 |
|---|---|
| 目标 / 角色 | 定义要完成什么以及行为边界 |
| 规划 | 把目标拆成可执行步骤 |
| 记忆 / 上下文 | 保存当前状态、历史结果和相关知识 |
| 工具 / 行动 | 检索、计算、调用接口或操作环境 |
| 观察 / 反思 | 检查结果并决定继续、修正或结束 |
协作关系可概括为:
目标 → 规划 → 行动/工具 → 观察结果 → 更新记忆 → 调整规划 → 完成
5. 任务选型与改写流程
5.1 先选最轻的方法
- 普通单轮任务:先用 Zero-shot。
- 输出风格或格式不稳定:加入少量示例(Few-shot 思路)。
- 需要多步推导:考虑 CoT。
- 存在多个策略或候选路径:考虑 ToT。
- 需要私有、最新或可引用知识:使用 RAG。
- 需要查找、计算、执行并根据结果继续:使用工具调用或 Agent。
5.2 一条提示词的迭代闭环
明确任务 → 补齐四要素 → 运行样例 → 找失败模式 → 只改一个变量 → 再测试 → 模板化
原始提示词:
帮我总结这篇文章。
改进版:
【指令】请总结下面的文章,并提炼可执行结论。
【上下文】读者是刚入门的产品经理,只依据原文,不补充未经验证的信息。
【输入】文章:……
【输出】使用 Markdown,依次给出:
1. 100 字摘要;
2. 5 个关键概念及一句话解释;
3. 3 条可执行建议;
4. 原文信息不足之处。
这里至少组合了两种思路:四要素结构化 + 输出契约约束。
6. 易错点与改进策略
| 易错点 | 后果 | 改进策略 |
|---|---|---|
| 指令过于宽泛 | 模型自行猜测目标 | 使用明确动作词和评价维度 |
| 缺少上下文 | 内容可能“正确但不适用” | 补充用户、场景、目标和边界 |
| 不规定输出 | 结果难解析、难复用 | 指定格式、字段、顺序和长度 |
| 一次塞入过多目标 | 任务冲突、重点模糊 | 分阶段执行或使用提示链 |
| 把模型推理当作事实 | 产生自信但错误的答案 | 要求证据,并进行检索或工具验证 |
| 直接上复杂架构 | 成本高且难定位问题 | 先用最轻方案验证,再逐层升级 |
7. 复习清单与自测
7.1 一页记忆卡
- 提示词工程 = 用自然语言系统性地设计和约束模型行为。
- 学科根基 = 语言学 + 认知科学 + 计算机科学。
- 四要素 = 指令 + 上下文 + 输入 + 输出指示。
- 五层路线 = 直接提示 → 链式推理 → 知识结构 → 生成优化 → 集成增强。
- CoT = 一条路径分步推理;ToT = 多条路径搜索比较。
- RAG = 检索 → 增强 → 生成。
- Agent = 围绕目标持续进行规划、行动、观察和调整。
7.2 自测题
- 用自己的话解释提示词工程的“科学面”和“艺术面”。
- 四要素模型中,你过去最容易遗漏哪一项?它造成过什么问题?
- CoT 和 ToT 的核心区别是什么?各适合什么场景?
- RAG 的三个阶段分别做什么?“最后一公里”为什么会失败?
- 单智能体的组件如何形成闭环?如果缺少观察/反思,会发生什么?
- 选一条日常提示词,用至少两种技术重写,并比较前后结果。
参考答案要点
- 科学面强调结构、测试、复现与评估;艺术面强调措辞、语境、启发和创造性。
- 结合个人案例回答;常见遗漏是上下文或输出指示。
- CoT 沿单一路径逐步推导,ToT 搜索并比较多个分支;前者适合路径较明确的问题,后者适合规划和多方案决策。
- 检索、增强、生成;最后一公里可能败在召回错误、上下文过长、排序不当或模型未严格依据证据。
- 目标驱动规划,规划调用工具行动,观察结果写入记忆并更新后续规划;缺少反馈会导致错误持续累积。
- 应明确指出所用方法,例如“四要素结构化 + 输出约束”或“RAG + 引用要求”。