提示词工程入门:从Zero-shot到Few-shot
分述一:Zero-shot提示——让模型凭“常识”回答问题
什么是Zero-shot提示?
Zero-shot(零样本)提示,顾名思义,就是不给模型任何示例,直接提出你的问题或指令,让模型依靠它在预训练阶段习得的“通用知识”来回答。
这是最基础、最常用的提示方式。你每天和ChatGPT、Claude的绝大部分对话,本质上都是Zero-shot提示。
几个典型的Zero-shot提示示例:
示例1:直接提问
“请解释什么是量子纠缠。”
示例2:指令式
“将以下中文翻译成英文:今天天气很好。”
示例3:带有格式约束
“请用三句话总结《百年孤独》的核心主题,每句话不超过20个字。”
Zero-shot提示有效的“隐藏前提”
很多初学者会惊讶地发现:同样的Zero-shot问题,有时模型回答得精彩绝伦,有时却答非所问。这背后的规律是什么?
Zero-shot提示要想效果好,取决于两个关键因素:
因素一:模型的“知识覆盖”程度
如果模型在预训练阶段没有充分学习过某个领域的知识,Zero-shot提示的效果必然打折扣。比如你让一个通用模型回答“请分析这个罕见病的分子机制”,如果该病在训练数据中出现频率很低,模型的Zero-shot回答大概率是泛泛而谈甚至编造内容。
因素二:问题的“清晰度”和“结构化程度”
这是Zero-shot提示中人为可控的最重要变量。一个模糊的、没有约束的问题,一定得到模糊的、没有结构的答案。而一个清晰、具体、带有明确指令的问题,即使不给任何示例,模型也能给出高质量的回复。
来看一个对比:
模糊的问题:
“如何提高代码质量?”
清晰的问题:
“我是一个有3年经验的Python开发者,主要做Web后端。请给出5条可立即执行的代码质量改进建议,每条建议需要包含:具体做法、预期收益、投入成本估算。”
同一个模型,后者的回答质量和实用性会高出数倍——不是因为模型变了,而是因为提问方式让模型知道了“该往哪个方向用力”。
写Zero-shot提示的4条核心原则
基于大量实战经验,高质量的Zero-shot提示通常遵循以下原则:
原则1:角色设定(Role Prompting)
告诉模型“你是谁”,能让模型激活特定领域的知识模式。
❌ “写一份产品需求文档。” ✅ “你是一个有8年经验的B端产品经理,请为‘企业内部知识库系统’写一份产品需求文档,包含用户故事、功能列表和优先级排序。”
原则2:明确输出格式
不要假设模型“知道你要什么格式”。显式地告诉它。
❌ “列出新能源车的优缺点。” ✅ “请以Markdown表格的形式列出新能源车的优缺点,左列写优点、右列写缺点,至少各写5条。”
原则3:分解复杂任务
一个庞大的问题会让模型“注意力分散”。将其拆解为多个子任务,效果往往更好。
❌ “帮我设计一个完整的电商推荐系统。” ✅ 分步提问: “第一步:请描述电商推荐系统的核心架构,包含召回、排序、重排三个环节。” “第二步:针对召回环节,给出3种常用的召回策略及其适用场景。” “第三步:针对排序环节,解释点击率预估模型的特征工程要点。”
原则4:设定长度和风格约束
模型的默认输出风格和长度不一定符合你的需求,提前设定能节省大量修改时间。
“请用不超过200字的篇幅,以专业但易懂的风格,向非技术背景的产品经理解释什么是大语言模型。”
Zero-shot的局限性:什么时候不够用?
尽管Zero-shot提示在大多数日常场景中够用,但它在以下情况下往往会暴露短板:
-
需要模型遵循特定的“推理路径”:比如复杂的数学推导、多步骤逻辑判断
-
需要模型按照特定的“格式模板”输出:比如JSON结构、特定字段顺序
-
任务非常冷门或专业:模型缺乏相关领域的知识储备
-
需要模型处理“刚出现”的信息:比如2026年的最新政策、新兴技术
这时,我们就需要引入更强大的提示策略——Few-shot提示。
分述二:Few-shot提示——用“示例”教会模型“怎么答”
什么是Few-shot提示?
Few-shot(少样本)提示,是在提问之前,先给模型提供几个“问题-回答”的示例,让模型从中学习任务的模式、格式、推理路径和输出风格,然后再回答真正的问题。
Few-shot提示的核心思想是:模型不需要你告诉它“规则”,它只需要看几个“范例”,就能自己“悟”出规则。
一个直观的对比:
Zero-shot方式:
“将以下英文翻译成中文:The quick brown fox jumps over the lazy dog.”
模型会直接翻译,但翻译的风格、用词、直译还是意译,都是随机的。
Few-shot方式:
“请将以下英文翻译成中文,注意保持文学性和优雅。 示例1: 英文:The sun set behind the mountains, painting the sky in shades of orange and pink. 中文:落日隐入群山之后,将天空染成一片橘粉相间的油画。 示例2: 英文:She walked through the autumn leaves, her footsteps soft and hesitant. 中文:她穿行于秋叶之间,步履轻柔,带着些许迟疑。 现在请翻译:The old house stood quietly at the end of the lane, its windows dark and empty.”
通过这两个示例,模型理解了“文学风格、带有意译、保持优雅”的要求,最终的翻译质量会明显高于Zero-shot方式。
Few-shot提示的“示例设计”方法论
Few-shot的效果高度依赖于示例的质量。设计好的示例,需要遵循以下方法论:
1. 示例的代表性
示例应该覆盖任务的“多样性”。如果你要做一个情感分类任务,示例中应该同时包含正面、负面和中性样本,而不是只给三个正面样本。
2. 示例的数量
Few-shot中的“few”到底是多少个?研究表明,3-8个示例通常是最佳区间:
-
少于3个:模型可能学不到足够的模式
-
多于8个:收益递减,且会占用大量上下文窗口空间(在2026年百万Token窗口下这个限制已大大缓解,但仍需注意成本)
-
对于复杂推理任务,可能需要5-8个示例
3. 示例的“干净度”
示例必须是正确的、格式一致的。一个错误的示例,会污染模型对整条任务的理解。
4. 示例的“结构对齐”
所有示例应该遵循完全相同的结构:输入格式 → 输出格式,两者之间的对应关系要清晰明确。
Few-shot的进阶技巧:CoT(思维链)
当任务需要多步推理时,仅仅给出“输入-输出”示例往往不够。这时需要引入CoT(Chain of Thought,思维链)提示——在示例中同时展示推理过程。
普通Few-shot(无推理过程):
“示例1:小明有3个苹果,又买了2个,现在有几个?→ 5个 示例2:小红有10元钱,花了4元,还剩多少?→ 6元 现在问:小刚有5本书,借出去2本,又买了3本,现在有几本?”
模型可能直接猜答案,容易出错。
带CoT的Few-shot(展示推理过程):
“示例1:小明有3个苹果,又买了2个,现在有几个? 推理:3 + 2 = 5,所以现在有5个苹果。 答案:5个 示例2:小红有10元钱,花了4元,还剩多少? 推理:10 - 4 = 6,所以还剩6元。 答案:6元 现在问:小刚有5本书,借出去2本,又买了3本,现在有几本? 请按照上面的推理方式,写出推理过程。”
模型会模仿“推理→答案”的模式,输出的准确率大幅提升。CoT是Few-shot最重要的扩展技术,也是后续ReAct等高级Agent框架的基础。
Few-shot vs Zero-shot:什么时候用哪个?
| 场景 | 推荐策略 | 理由 |
|---|---|---|
| 日常问答、简单咨询 | Zero-shot | 高效、省Token,模型能力已足够 |
| 需要特定输出格式 | Few-shot(1-2个示例) | 格式对齐最可靠 |
| 复杂的格式化输出(JSON/XML) | Few-shot(2-3个示例) | 确保结构完全符合预期 |
| 多步骤推理任务 | Few-shot + CoT | 展示推理过程大幅提升准确率 |
| 冷门专业领域 | Few-shot(3-5个示例) | 弥补模型知识盲区 |
| 需要特定风格的输出 | Few-shot(2-3个示例) | 风格对齐比文字描述更精准 |
| 上下文窗口极度受限 | Zero-shot | Few-shot占用额外Token |
| 成本极其敏感的高频调用 | Zero-shot为主 | 但需辅以Few-shot质量验证 |
Few-shot的实战注意事项
1. 注意上下文的“污染”
示例中的内容也会被模型视为“上下文的一部分”。如果示例中包含不相关的信息,可能会干扰模型对当前问题的理解。示例越简洁、越纯粹,效果越好。
2. 示例的顺序有讲究
实验表明,示例的顺序会影响Few-shot的效果。通常建议从简单到复杂排列,让模型先“热身”,再处理难的任务。
3. 与系统提示词配合使用
在实际工程中,通常把固定的指令放在系统提示词(System Prompt)中,把Few-shot示例放在用户提示(User Prompt)中。这样既能统一行为风格,又能按需更换示例。
结尾总结:从Zero-shot到Few-shot——提示词工程的“第一级台阶”
让我们回顾一下本篇文章的核心内容:
第一,Zero-shot提示是所有提示方式的基础。 它不给模型任何示例,直接让模型依靠预训练知识回答问题。Zero-shot效果好不好,取决于模型的“知识覆盖度”和问题的“清晰度”。高质量Zero-shot提示的核心在于:角色设定、明确格式、分解复杂任务、设定长度风格约束这四条原则。
第二,当Zero-shot不够用时,Few-shot提示是首选升级方案。 通过在提示中嵌入3-8个“问题-回答”示例,模型能从中“悟”出任务的格式、风格和推理路径。对于需要多步推理的复杂任务,进一步在示例中展示推理过程(CoT思维链)可以大幅提升准确率。
第三,Zero-shot和Few-shot不是二选一的关系,而是根据场景灵活选择的策略。 日常问答用Zero-shot足够高效,复杂格式化输出和多步推理用Few-shot更可靠,成本敏感的高频调用优先Zero-shot辅以质量验证——在实际工程中,这两种策略往往是混合使用的。
Zero-shot和Few-shot是提示词工程最基础的两种能力,也是后续所有高级提示技术(CoT思维链、ReAct模式、系统提示词设计)的基石。掌握了它们,你就掌握了与大模型高效对话的“基本语法”。
更多推荐


所有评论(0)