#提示词工程 #Few-Shot #大模型 #结构化输出
同样的任务,普通提示词输出飘忽不定,加上三五个示例后立刻稳定——这是 Few-Shot(少样本)提示词最直观的威力。原理并不神秘:大模型在预训练阶段就是从海量「输入→输出」示例里学会任务的,你在提示词里给示例,等于把任务映射回它最熟悉的形态。本文讲透 Few-Shot 的三个作用、示例选取三原则,并给出三套经过实战验证、可直接复制的模板与检查清单。
零样本指令(Zero-Shot)要求模型「先理解规则再执行」;Few-Shot 则是直接给「照着做」的样例。两者的差距体现在三个层面:
一句话概括:指令规定「不能做什么」,示例规定「输出应该长什么样」。对追求稳定交付的 Agent 任务,示例是性价比最高的约束手段。
模型最容易在边界情况翻车。所以示例里至少要有一个「难例」:格式特殊、输入残缺、意图模糊或包含陷阱。一个处理过边界的示例,胜过三个顺风顺水的标准答案。
在输出类任务中,给出「错误示例 + 错在哪」往往比三条正确示例更能压低错误率,尤其是格式类错误。注意两点:反例数量要少于正例;反例必须放在示例列表末尾,避免模型反向学到错误模式。
示例顺序影响学习效果。先给简单样例建立基本格式,再给复杂样例展示处理手法,最后放反例收尾。这与人类学习新技能的认知顺序一致,模型同样受用。
结构化输出是 Agent 场景的刚需。下面的模板用「代码块包裹 + 三个正例 + 一个反例」锁定格式,比任何格式说明都可靠:
任务:把用户反馈整理成 JSON,字段:id、category、sentiment、summary。
示例:
输入:App 打开就闪退,气死了
输出:{"id": 1, "category": "bug", "sentiment": "negative", "summary": "App 启动即闪退"}
输入:希望能支持深色模式,晚上用太刺眼
输出:{"id": 2, "category": "feature_request", "sentiment": "neutral", "summary": "请求支持深色模式"}
输入:充值后余额没到账,联系客服也没回复
输出:{"id": 3, "category": "billing", "sentiment": "negative", "summary": "充值未到账且客服无响应"}
注意:category 只能是 bug / feature_request / billing / other 之一。
反例(错误):
输入:谢谢你们,很好用
输出:{"id": 4, "category": "praise", "sentiment": "positive"}(错误:category 枚举外 + 缺少 summary)
正确:{"id": 4, "category": "other", "sentiment": "positive", "summary": "整体满意"}
现在处理:输入:账号密码都对,但一直提示登录失败
模板要点:枚举值在示例后单独用一行「注意」重申,反例放在最后并给出错误原因,最后用「现在处理:」显式交接任务。这套结构在大多数模型上都能把 JSON 解析失败率压到接近零。
风格是最难用规则描述的东西,但三个示例就能锁定。给客服话术或产品文案做风格统一时,用这个模板:
任务:把技术描述改写成「朋友式的产品文案」,语气亲切、短句为主、不使用术语。
示例:
技术:该模块通过 WebSocket 实现实时数据推送
文案:数据一到,秒级送达,不用刷新页面
技术:系统支持基于角色的细粒度权限控制
文案:谁看什么、能改什么,你说了算
技术:已完成数据库层的读写分离优化
文案:人多了也不卡,读写在后台各自忙活
现在改写:技术:本平台采用端到端加密传输协议保障数据安全
要点:正例之间保持同一种语气与句式节奏,难度不递增也没关系(风格任务的关键是「一致性」而非「复杂度」)。若目标风格更具体(如「小红书风」「学术风」),把示例换成对应风格的成品即可。
让模型写代码时,Few-Shot 能同时约束「用的库」「命名风格」和「错误处理」,比在提示词里写十条规则更省 token、更有效:
任务:写 Python 函数实现给定需求。约定:只用标准库、函数名用 snake_case、必须处理输入为空的情况。
示例:
需求:计算列表平均值
代码:
def avg(nums):
if not nums:
return 0.0
return sum(nums) / len(nums)
需求:统计字符串里每个字符出现次数
代码:
def char_count(s):
counts = {}
for ch in s:
counts[ch] = counts.get(ch, 0) + 1
return counts
现在写:需求:把字典按 value 降序排序,返回前 k 个键
模型会从示例里学到「先判空、用标准库、带类型直觉」的隐性规范,输出风格与示例高度一致,大幅减少 review 成本。