DOCAI · 课程 · L1 · 20 分钟 · 学会用 Claude 对话
少样本提示:给 2-3 个例子让 Claude 精准理解
当文字描述说不清格式或风格时,用两三个输入输出样例把要求固定下来;附可直接套用的模板、选例标准与常见坑。
你将学会
- 能为一项任务写出格式一致的 2-3 个示例
- 会用边界样例定住模糊判断
- 能判断什么时候例子反而帮倒忙
什么时候该给例子
同一句「写得自然些」,你和 Claude 的理解可能完全不同。换成「照这三条的语感写」,歧义立刻少一半。当任务的难点在风格、格式或判断边界上,描述常常不如样例。
三类任务收益最明显:模仿固定文风、把杂乱内容整理成统一字段、给文本打标签。反过来,开放式创意和需要大量推理的任务,例子太多会绑住手脚。
少样本的完整定义见少样本提示。
一个能直接套用的最小结构
示例要成对出现:一条输入,一条你认可的输入结果。中间用同样的符号分隔,模型才知道边界在哪。
把下面的客户反馈分成三类:功能建议、故障报修、价格咨询。
示例 1 输入:希望 App 支持夜间模式。 输出:功能建议
示例 2 输入:更新后打开就闪退。 输出:故障报修
示例 3 输入:团队版按年买有折扣吗? 输出:价格咨询
现在分类:导出的报表日期全是乱码。
这段模板有三个细节:类别名前后一字不差;每条示例只演示一种判断;待处理的输入单独放在最后。只写一句「请准确分类」,模型得自己猜什么叫准确。
用边界样例定住灰区
标准样例只告诉模型「常见情况长什么样」,真正容易翻车的是灰区。把最容易争议的两三条写进去,并附一句判断理由。
判断一条评论算不算投诉:先给一条明确投诉、一条明确夸奖,再补两条。说「比上一代差远了」算投诉,因为矛头指向当前产品;说「这个价位,表现还行」不算,因为没有指出具体缺陷。灰区样例的作用,是提前把「算」与「不算」的界线画出来。
选例标准与常见坑
数量克制。两到四个通常够用,每个例子都占上下文,堆多了会稀释重点。上下文怎么计量,见上下文窗口。
格式统一。字段顺序、标点、换行保持一致。模型会认真模仿格式,示例互相打架时,它只能猜哪个是标准。
难度递进。先简单后复杂,规律更容易被抓住;一上来给最绕的样例,学到的可能只是噪音。
还要检查示例和指令是否一致。正文说「只输出标签」,示例却带了一段分析,模型多半会跟着输出分析。
两种高频任务的写法
复刻文风时,样例最好是你自己写的,或者确认可以使用的素材。贴三段喜欢的文案,再补一句「只学句式和节奏,不要复用其中的具体说法」,能减少原句被搬进新稿。批量生成前,先用一条新主题试写,看它有没有学会停顿和收尾的方式,而不是只换了名词。
做字段抽取时,样例要展示异常输入怎么处理。比如金额缺失、日期写成「下周三」、职位名称后面带括号说明。每条样例后补一句「缺失写 null」,模型遇到类似情况才不会自行编一个值。
三个常见坑
样例彼此太像,等于只给了一个样例。有信息量的是差异:长度、语气、边界。
范文太长也有副作用。整段五百字的文章放进去,模型可能连原文的措辞一起搬走。你要的是特征,不是复制。
批量处理前先试跑一条新输入。结果稳了再放量;不稳就改示例,别在指令里不断打补丁。
负例:把「不要什么」摆出来
正例告诉模型往哪走,负例告诉它哪里是坑。做创意类任务时,光给好样例不够,模型很容易滑回最常见的套话。
写一句关于「坚持学习」的短句。 反例(不要这样写):
- 「只要努力,就一定能成功」——太满,没有信息。
- 「新的一天,新的开始」——谁都能说,等于没说。
- 「成功的人都爱学习」——因果倒置,读者不会信。 正例:
- 「学得快的人,不是记性好,是敢把学到的东西马上用一次。」 按正例的写法再来三句。
给负例时一定附上理由。只写「这句不好」,模型不知道不好在哪,可能换一句同样空洞的话。理由要指向具体毛病:太满、太泛、因果倒了、没有画面。反例和正例最好成对出现,模型才能看出分界线画在哪里。
一个完整的结构化抽取例子
字段抽取是少样本最稳的用武之地,因为对错一眼可查。下面这份模板可以直接改字段名使用。
从招聘信息里提取字段,输出 JSON,不要解释。
示例 1
原文:杭州某电商公司招前端工程师,3 年经验,熟悉 React,薪资 20-30k。
输出:{"公司":"杭州某电商公司","职位":"前端工程师","经验":"3 年","城市":"杭州","薪资":"20-30k"}
示例 2
原文:成都游戏工作室招聘数值策划,经验不限,薪资面议。
输出:{"公司":"成都游戏工作室","职位":"数值策划","经验":"不限","城市":"成都","薪资":null}
示例 3
原文:深圳急招数据分析师,精通 SQL,2 年以上,15-25k,五险一金。
输出:{"公司":null,"职位":"数据分析师","经验":"2 年以上","城市":"深圳","薪资":"15-25k"}
现在处理:
原文:〔待处理的招聘信息〕
输出:
三条示例各管一件事:第一条演示完整格式,第二条演示缺失值写 null,第三条演示公司名没出现时不猜。字段名、引号、冒号必须完全一致,模型会逐字模仿。字段一多,建议在指令里列出固定顺序,否则每次输出的键序可能不同;需要严格机器可读时,可以配合结构化输出的方式约束格式。
处理完先抽查三条,再跑全量。错得最多的地方通常不是格式,而是模型替你补了原文没有的信息。
自测
- 你的示例覆盖了至少一种边界情况吗?
- 三条示例的格式是否一致?
- 换一条没见过的输入,输出还稳定吗?
例子决定输出的形状,指令决定输出的目的,两者要一起给。下一节从反面看:好提示词与坏提示词的真实差距。
自测
先自己回答,再展开对照;答不上来就回到对应小节。01示例是不是越多越好?看答案
不是。两到四个覆盖关键差异的例子通常够用;继续增加会挤占上下文,也容易让输出被格式细节绑死。
02为什么要把边界情况写进示例?看答案
只给标准样例时,模型遇到模糊输入会自行发挥。边界样例提前定义了「算」与「不算」,结果更稳定。