提示工程技巧:零样本、少样本、思维链等的实用指南
一份动手实践的提示工程指南:一个好提示的构成、核心技巧(零样本、少样本、思维链、角色提示、分隔符、输出格式化、任务分解、ReAct)、影响输出的推理设置、提示安全风险,以及 AIF-C01 等基础 AI 考试所测试的内容。
提示工程是改变大型语言模型行为最廉价、最快捷的方式:你改变的是输入,而不是模型。无需训练、无需数据管道、无需 GPU 账单 - 只需要更清晰的指令。它是定制阶梯的第一级(完整的阶梯参见 AI 模型是如何训练的),并且在每一门基础 AI 与生成式 AI 考试中都被大量测试,从 AWS AI Practitioner (AIF-C01) 到 Azure 和 Google Cloud 的同类考试。
本指南与具体厂商无关 - 这些技巧在任何现代 LLM 上的作用都是一样的。它涵盖一个好提示的构成、核心技巧及各自的适用场景、影响输出的推理设置,以及你必须了解的安全风险。凡是考试会侧重之处,都会附上一条"考试要点"提示。请把它当作一份按章节浏览的参考资料。
提示工程是什么(以及不是什么)
是什么。 精心设计并打磨你给模型的文本,使它返回你想要的输出。它利用的是模型在预训练期间已经学到的东西;你是在引导它,而不是在教它。
为什么重要。 它几乎免费且即时见效。在你动用 RAG 或微调之前 - 这两者要付出数据、金钱和时间的代价 - 你应当先把提示的潜力用尽。往往一个更好的提示就能弥合整个差距。
不是什么。 它不会改变模型的权重。如果模型只是缺乏相关知识(你的私有数据)或某种可靠的行为,仅靠提示无法解决 - 这时你就要往上攀登到 RAG 或微调。不要把提示工程(写更好的指令)与提示微调(一种学习"软提示"向量的训练技术)混为一谈;考试把提示工程视为无需重新训练的那个选项。
一个好提示的构成
大多数强有力的提示最多包含四个部分:
- 指令 - 任务本身:"总结""分类""翻译""提取"。
- 上下文 - 模型所需的背景:受众、语气、领域、约束条件。
- 输入数据 - 需要处理的实际内容。
- 输出提示 - 答案的形式:"返回 JSON""一句话""一份项目符号列表"。
让每个部分发挥作用的原则:
- 具体且无歧义。 "为非技术读者写一段 3 句话的总结"胜过"总结这段内容"。
- 优先使用正面指令。 告诉模型该做什么,而不仅仅是不该做什么;"只用类别名称作答"比一堆"不要"的规则更清晰(尽管负面约束也有其用武之地 - 见下文)。
- 给出约束条件。 长度、语气、阅读难度、格式、需要排除的内容。
- 使用分隔符。 用清晰的分隔标记把输入包裹起来 - 三重引号、XML 风格的标签,或 markdown 标题 - 好让模型知道指令在哪里结束、数据从哪里开始。这也降低了用户提供的文本被当作指令读取的风险(见提示注入)。
- 明确输出契约。 如果输出会被另一个程序读取,就写明确切的格式(带有这些键的有效 JSON,前后不带任何叙述文字)。除非你要求,否则模型不会遵守结构。
核心技巧
零样本提示
是什么。 让模型在没有任何示例的情况下完成任务,纯粹依赖它的预训练知识。
何时用。 模型显然见过的简单、常见任务(基本分类、直截了当的总结、常规问题)。
风险。 如果任务很不寻常,或远离模型的训练范围,零样本的结果可能不可靠 - 这就是你该添加示例的信号。
考试要点。 零样本意味着提示中没有示例。它被明确点名的风险是:当任务离模型所学太远时表现不佳。
单样本与少样本提示(上下文学习)
是什么。 在提示中加入一个(单样本)或几个(少样本)"输入-期望输出"的示范例子,让模型推断出其中的模式。这也被称为上下文学习,因为模型是在不更新任何参数的情况下,从提示的上下文中"学会"任务的。
何时用。 任务具有你希望被一致匹配的特定格式、标签集合或风格 - 例如把消息归入你自己的类别,或匹配某种特定语气。
怎么做。 展示 2 到 5 个干净、有代表性、覆盖各类情况的示例,然后给出新的输入。示例之间格式的一致性比数量更重要。
考试要点。 少样本学习和上下文学习是同一个理念:提示中带有示例,无需重新训练。对于"让模型在不微调的情况下遵循某种特定模式或标签方案",它就是首选答案。
思维链(CoT)提示
是什么。 让模型在给出最终答案之前一步一步地推理,而不是直接跳到答案。
何时用。 多步骤问题:算术、逻辑、规划,以及任何借助中间推理会有帮助的场景。
怎么做。 要么提供展示推理过程的示例(少样本 CoT),要么只需附加一个触发语句,如 Let's think step by step,在没有示例的情况下引出推理(零样本 CoT)。
考试要点。 思维链是用于提升复杂、多步骤推理表现的那个被点名的技巧。
自洽性
是什么。 多次运行思维链(带一些随机性),然后选取在这些运行中出现最频繁的那个答案。
何时用。 高风险的推理场景,单条推理链可能出错;采样多条并投票能提升可靠性。
角色(人设)与系统提示
是什么。 告诉模型要扮演谁 - "你是一位资深税务顾问""你是一位言简意赅的代码审查者"。在聊天模型中,这往往放在一个独立的系统提示里,用来设定持续的行为。
何时用。 用于在整段对话中固定语气、专业程度或视角。
怎么做。 一开始就说明角色、受众和约束条件。保持系统提示稳定;变化的是用户提示。
分隔符与结构
是什么。 使用明确的标记来分隔提示的各个部分(指令与数据与示例)。
为什么。 它能提升模型对每个部分的遵守程度,而且重要的是,有助于阻止不受信任的输入被解读为指令。
输出格式化
是什么。 明确规定确切的输出格式,理想情况下,要求模型把答案用标签包裹起来或返回严格的 JSON。
为什么。 当输出要喂给另一个程序或模型时,这一点至关重要。一份明确的输出契约能把不稳定的解析变成可靠的流水线。
提示模板
是什么。 可复用、带参数的提示结构,其中的占位符在运行时填入。
为什么。 一致性与可维护性 - 你的应用每次都产出同一个经过充分测试的提示,只有输入在变化。托管平台常常正是为此提供提示模板和提示管理功能。
任务分解与提示链
是什么。 把一个复杂的工作拆成更小的提示,并把每一步的输出喂给下一步。
何时用。 当一个任务太大或太多阶段,单个提示无法胜任时(先提取,再分析,再起草)。链式处理比一次性要求所有东西更可靠,而且每一步都更容易测试。
ReAct(推理 + 行动)
是什么。 一种让模型在推理与行动之间交替进行的模式 - 调用工具、搜索或查询数据 - 然后观察结果并继续。它是智能体背后的提示理念。
何时用。 当模型需要外部信息,或必须在现实世界中采取步骤,而不只是凭记忆作答时。(这把提示工程与智能体框架连接了起来。)
负面提示
是什么。 明确说明要排除或避免什么 - "不要包含个人观点""排除任何代码",或者对图像模型而言,列出你不想要的元素。
何时用。 用于排除已知的失败模式。把它当作对正面指令的有针对性的补充,而不是提示的全部。
影响输出的推理设置
提示文本只讲了故事的一半。以下这些生成参数无需改动你提示中的一个字,就能改变输出:
- 温度(Temperature) - 随机性。低(接近 0)给出确定性、可重复、聚焦的答案;高则给出富有创意、多样化的答案。
- Top-p(核采样) 和 top-k - 限制模型可从中采样的候选下一个 token 的范围,是控制多样性的另一个调节杆。
- 最大 token 数(Max tokens) - 为响应长度设定上限。
- 停止序列(Stop sequences) - 告诉模型停止生成的字符串。
考试要点。 "让答案更一致或更可重复"意味着降低温度。要知道温度和 top-p/top-k 控制的是随机性和多样性,且是在推理时设定的,并没有固化进提示文本里。
提示与 RAG、微调各自的定位
提示工程是第一个该尝试的手段,但它有局限。定制阶梯,从最便宜的开始:
- 提示工程 - 塑造指令。不带来新知识,不重新训练。
- RAG(检索增强生成) - 在查询时把你自己的最新数据注入提示中。当模型需要它从未训练过的事实,或知识频繁变化时使用它。
- 微调 - 在带标签的示例上重新训练,以固化某种行为或风格。当提示和 RAG 仍不够一致时使用它。
考试要点。 如果某个场景需要私有或最新的事实,仅靠提示做不到 - 那是 RAG。如果它需要一种可靠重复的行为或领域风格,那是微调。当模型本已能完成任务,只是需要更清晰的引导时,提示才是答案。
提示安全与负责任的使用
提示是一个攻击面。基础考试在负责任的 AI 与安全的名目下测试这些内容:
- 提示注入 - 攻击者在用户提供的输入中(或在模型读取的文档中)隐藏指令,以覆盖你的系统提示,劫持模型的行为或下游动作。
- 越狱 - 精心构造的提示,绕过模型的安全护栏,产出受限或有害的输出。
- 提示泄露 - 诱使模型透露它自己隐藏的系统提示或机密上下文。
- 对抗性提示 泛指 - 这些操纵技巧的统称。
你应当了解的缓解措施:
- 把受信任的指令与不受信任的用户输入分开并清晰地用分隔符隔开;切勿盲目地把它们拼接在一起。
- 校验并净化输入;限制模型被允许输出和执行的内容。
- 在输入和输出两端都施加护栏 / 内容过滤和 PII 脱敏。
- 给予模型及任何连接的工具最小权限访问,这样一次成功的注入也做不了多少事。
- 在高风险动作上保留人工介入环节。
提示还有助于应对幻觉:用检索到的事实(RAG)为模型提供依据,要求它引用来源,并明确允许它说"我不知道",好让它不再编造答案。降低温度并加入事实依据能减少那些自信满满的胡说。
最佳实践清单
- 从简单开始;只有当简单的提示失败时,才增加复杂度(示例、推理、链式处理)。
- 具体一点:说明任务、受众、约束条件和确切的输出格式。
- 使用分隔符把指令与数据分开。
- 当你需要某种特定模式时,添加示例(少样本);当你需要推理时,添加
Let's think step by step。 - 在真实输入上迭代和测试;措辞上的细微改动很重要。
- 为求一致就降低温度;为求创意就调高温度。
- 把用户输入当作不受信任的;用分隔符隔开它、校验它,并守护输出。
30 秒决策指南
- 简单、熟悉的任务 -> 零样本
- 需要特定格式或标签方案 -> 少样本(上下文学习)
- 多步骤推理 -> 思维链(添加
Let's think step by step) - 在困难推理上需要更高可靠性 -> 自洽性(采样并投票)
- 在整段对话中固定语气或专业程度 -> 角色 / 系统提示
- 输出要喂给另一个程序 -> 指定严格的输出格式(JSON、标签)
- 任务对单个提示来说太大 -> 分解并链式处理
- 模型需要工具或实时数据 -> ReAct / 智能体
- 需要私有或最新的事实 -> RAG,而非提示
- 需要一种可靠重复的行为 -> 微调,而非提示
- 让输出具有确定性 -> 降低温度
相关认证
提示工程是每一门生成式 AI 考试的核心 - 本指南出现在它们各自主页的"相关学习指南"板块下:
- AWS Certified AI Practitioner (AIF-C01) - 直接测试提示技巧、上下文学习和推理参数。
- AWS Certified Generative AI Developer Professional (AIP-C01) - 在用提示、RAG 和智能体进行构建方面更深入。
- Microsoft Azure AI Fundamentals (AI-900 / AI-901) - 生成式 AI 与提示基础。
- Google Cloud Generative AI Leader - 提示设计与基础模型的使用。
- NVIDIA-Certified Associate: Generative AI and LLMs (NCA-GENL) - LLM 提示与适配。
- Claude Certified Architect - Foundations (CCA-F) - 高效地对 Claude 进行提示。
- IBM watsonx Generative AI Engineer Associate - 生成式 AI 基础。
如何学习本主题
对于考试,练习把场景与技巧对应起来,并弄清那些容易绊倒人的边界:零样本与少样本、作为推理工具的思维链、作为一致性调节杆的温度,以及 - 最关键的那个 - 提示与 RAG 与微调的区别(引导 vs 添加事实 vs 改变行为)。对于实际工作,让提示保持具体、有分隔符且经过测试,并把每一个用户提供的字符串都当作不受信任的。做练习题时打开这份 30 秒决策指南,当你做错某道题时,回到本文重读那个技巧,直到界限变得清晰。
来源:AWS Certified AI Practitioner (AIF-C01) 考试指南与题目领域,以及标准的提示工程参考资料,截至 2026 年 9 月。