![配图待生成]
一句话总结
Zero-shot = 直接问,Few-shot = 给例子再问。例子越精准,答案越靠谱。
就像教小孩认字:Zero-shot是直接指着字问”这是什么”,Few-shot是先教几个字再问。
Zero-shot vs Few-shot
Zero-shot(零样本)
直接提问,不给任何示例:
`
将这段话翻译成英文:
今天天气很好
`
Few-shot(少样本)
先给示例,再提问:
`
输入:今天天气很好
输出:The weather is nice today.
输入:我喜欢编程
输出:I enjoy programming.
现在请翻译:这本书很有意思
`
效果对比
| 方法 | 优点 | 缺点 | 适用场景 |
|---|
|——|——|——|———-|
| Zero-shot | 简单快速 | 不够精确 | 简单任务 |
|---|---|---|---|
| Few-shot | 精确可控 | 需要设计示例 | 复杂任务 |
什么时候用Zero-shot?
适用场景
- 简单任务
`
总结这篇文章的要点
`
- 通用任务
`
翻译这段话成英文
`
- 创意任务
`
写一首关于春天的诗
`
Zero-shot的技巧
1. 明确指令
`
❌ 帮我翻译一下
✅ 将这段中文翻译成英文,保持专业术语
`
2. 提供上下文
`
❌ 分析一下数据
✅ 分析Q2销售数据,找出增长最快的3个产品
`
3. 指定格式
`
❌ 写个总结
✅ 用3个要点总结这篇文章,每个要点一句话
`
什么时候用Few-shot?
适用场景
- 格式转换
`
输入:苹果
输出:🍎 苹果 – 水果,红色,甜
输入:汽车
输出:🚗 汽车 – 交通工具,四轮,快速
现在请写:飞机
`
- 风格模仿
`
原文:今天天气很好
改写:阳光正好,微风不燥,正是出门的好时节
原文:这个产品很不错
改写:这款产品让我眼前一亮,忍不住想推荐给大家
现在请改写:这本书很有意思
`
- 分类任务
`
评论:这个手机太棒了!
情感:正面
评论:电池续航太差了
情感:负面
评论:屏幕显示效果一般
情感:中性
现在请分析:拍照功能很强大
`
- 数据提取
`
文本:张三,男,25岁,北京
输出:{“姓名”: “张三”, “性别”: “男”, “年龄”: 25, “城市”: “北京”}
文本:李四,女,30岁,上海
输出:{“姓名”: “李四”, “性别”: “女”, “年龄”: 30, “城市”: “上海”}
现在请提取:王五,男,28岁,广州
`
如何设计高质量的Few-shot示例?
原则1:示例要典型
`
❌ 不好的示例:
输入:a
输出:A
输入:b
输出:B
(太简单,没有代表性)
✅ 好的示例:
输入:hello world
输出:Hello World
输入:machine learning
输出:Machine Learning
(展示了首字母大写的规则)
`
原则2:示例要多样
`
❌ 不好的示例:
输入:苹果是水果
输出:苹果 – 水果
输入:香蕉是水果
输出:香蕉 – 水果
(都是水果,没有多样性)
✅ 好的示例:
输入:苹果是水果
输出:苹果 – 水果
输入:汽车是交通工具
输出:汽车 – 交通工具
输入:桌子是家具
输出:桌子 – 家具
(覆盖不同类别)
`
原则3:示例要简洁
`
❌ 不好的示例:
输入:今天天气非常好,阳光明媚,微风习习,正是出门散步的好时节
输出:The weather is very nice today, sunny and breezy, perfect for a walk
(太长,浪费token)
✅ 好的示例:
输入:今天天气很好
输出:The weather is nice today
(简洁明了)
`
原则4:示例要一致
`
❌ 不好的示例:
输入:苹果
输出:🍎 苹果 – 水果
输入:汽车
输出:汽车是交通工具
(格式不一致)
✅ 好的示例:
输入:苹果
输出:🍎 苹果 – 水果
输入:汽车
输出:🚗 汽车 – 交通工具
(格式一致)
`
原则5:示例数量适中
`
❌ 太少(1个):
输入:苹果
输出:🍎 苹果 – 水果
现在请写:飞机
(可能不够清晰)
❌ 太多(10个):
输入:苹果
输出:🍎 苹果 – 水果
输入:汽车
输出:🚗 汽车 – 交通工具
… 8个更多示例 …
现在请写:飞机
(浪费token)
✅ 适中(2-3个):
输入:苹果
输出:🍎 苹果 – 水果
输入:汽车
输出:🚗 汽车 – 交通工具
现在请写:飞机
`
Few-shot的高级技巧
技巧1:带解释的示例
`
输入:今天天气很好
输出:阳光正好,微风不燥,正是出门的好时节
解释:使用了环境描写,增加了画面感
输入:这个产品很不错
输出:这款产品让我眼前一亮,忍不住想推荐给大家
解释:使用了个人感受,增加了说服力
现在请改写:这本书很有意思
`
技巧2:反面示例
`
✅ 好的示例:
输入:今天天气很好
输出:阳光正好,微风不燥
❌ 不好的示例:
输入:今天天气很好
输出:今天天气很好(没有改写)
现在请改写:这本书很有意思
`
技巧3:难度递增
`
简单示例:
输入:苹果
输出:🍎 苹果 – 水果
中等示例:
输入:红苹果
输出:🍎 红苹果 – 水果,红色
复杂示例:
输入:大红苹果
输出:🍎 大红苹果 – 水果,红色,大
现在请写:小青苹果
`
技巧4:边界示例
`
正常示例:
输入:苹果
输出:🍎 苹果 – 水果
边界示例:
输入:未知水果
输出:❓ 未知水果 – 无法分类
现在请写:火龙果
`
实战示例
示例1:情感分析
`
请分析以下评论的情感:
评论:这个手机太棒了!
情感:正面
理由:使用了积极词汇”太棒了”
评论:电池续航太差了
情感:负面
理由:使用了消极词汇”太差了”
评论:屏幕显示效果一般
情感:中性
理由:使用了中性词汇”一般”
现在请分析:拍照功能很强大
`
示例2:代码生成
`
请按照以下风格写Python函数:
输入:计算两个数的和
输出:
def add(a: int, b: int) -> int:
“””计算两个数的和”””
return a + b
输入:计算阶乘
输出:
def factorial(n: int) -> int:
“””计算n的阶乘”””
if n <= 1:
return 1
return n * factorial(n – 1)
现在请写:判断一个数是否是素数
`
示例3:文案改写
`
请按照以下风格改写:
原文:今天天气很好
改写:阳光正好,微风不燥,正是出门的好时节
风格:使用环境描写,增加画面感
原文:这个产品很不错
改写:这款产品让我眼前一亮,忍不住想推荐给大家
风格:使用个人感受,增加说服力
现在请改写:这本书很有意思
`
示例4:数据提取
`
请从以下文本中提取信息:
文本:张三,男,25岁,北京
输出:
{
“姓名”: “张三”,
“性别”: “男”,
“年龄”: 25,
“城市”: “北京”
}
文本:李四,女,30岁,上海
输出:
{
“姓名”: “李四”,
“性别”: “女”,
“年龄”: 30,
“城市”: “上海”
}
现在请提取:王五,男,28岁,广州
`
🚇 地铁深读:Few-shot的原理
为什么Few-shot有效?
- 模式识别:AI从示例中识别出模式
- 格式学习:AI学习输出的格式
- 风格模仿:AI模仿示例的风格
- 减少歧义:示例明确了期望
Few-shot vs Fine-tuning
| 方法 | 数据量 | 成本 | 效果 |
|---|
|——|——–|——|——|
| Few-shot | 2-3个示例 | 低 | 中等 |
|---|---|---|---|
| Fine-tuning | 1000+样本 | 高 | 高 |
什么时候Few-shot不够?
- 任务太复杂:需要更多知识
- 领域太专业:需要专业训练
- 格式太特殊:示例难以覆盖
今日小结
| 方法 | 原理 | 适用场景 |
|---|
|——|——|———-|
| Zero-shot | 直接提问 | 简单、通用任务 |
|---|---|---|
| Few-shot | 给示例再问 | 复杂、特定任务 |
一句话记住: Zero-shot = 直接问,Few-shot = 给例子再问。例子越精准,答案越靠谱。
下期预告
AI PRO·Prompt Day 5 结构化输出与格式控制:让AI输出你想要的格式
我们将深入解析如何控制AI的输出格式,包括JSON、Markdown、表格等。
*攀岩者 | 技术总监 | 19年IT全栈实战*
*每天分享AI学习笔记,陪你从零基础到AI达人*
发表回复