few-shot 与 CoT 实测:示例管灵魂,咒语有保质期
学到这一步,招式你都会了。但还有个问题:网上那么多”经典框架”——few-shot、Chain-of-Thought、角色扮演大法——到底哪些是真有用,哪些是花架子?
今天咱们不一一点评,拿两个最有名的开刀:few-shot(少样本提示)和”思维链,让我们一步一步思考”(CoT)。一个实测有真本事,一个实测成了仪式。
问题一:描述格式和给个示例,差在哪?
先看 few-shot。我要把一条用户反馈转成缺陷单(标题、严重度、复现步骤、期望行为、实际行为)。
只描述格式,它给的缺陷单字段全对,但你细看:期望行为里夹带了解决方案(”应被防抖、按钮置灰或幂等机制拦截”——这是实现建议,不是期望行为);还自作主张加了个”备注”字段。字段齐,风格全是它自己发挥。
同样的要求,只多给一个完整示例(照这个风格和粒度写),它的输出就像同一个妈生的:字段顺序一致、步骤合并为一句编号、期望行为只说”只扣一次款”不夹方案、没有额外字段。
schema 管字段,示例管灵魂。”有什么”说得清,”什么样”只能给它看。
所以 few-shot 的主场不是”格式”两个字,是粒度、职责、分寸这些说不清但看得出的东西。能写清规则的先写规则,写不清的给示例。而且一个示例就够——示例是给模型一个妈,不是给它一堆参考题。
展开看实测原文(朴素 vs 工程化,沈剑2026-10-05实测:deepseek-flash,可复现,均为独立session以排除上下文影响)
只描述格式
把用户反馈转成缺陷单,字段包括:标题、严重度(P0-P2)、复现步骤、期望行为、实际行为。
用户反馈:支付页点了两下就重复扣款了!赶紧看看啊,我银行卡都被扣了两次 39 块,APP 是安卓的最新版。
只描述格式的输出(字段齐但期望夹解决方案+自加备注)
缺陷单
**标题**:安卓最新版 APP 支付页连续点击两次导致重复扣款
**严重度**:P0(涉及资金损失,重复扣款)
**复现步骤**:
1. 在安卓设备上使用最新版 APP 进入支付页;
2. 发起金额为 39 元的支付;
3. 在支付页快速连续点击支付/确认按钮两次;
4. 按正常流程完成支付;
5. 查看银行卡或支付账单。
**期望行为**:
一次支付操作仅扣款一次;连续点击应被防抖、按钮置灰或幂等机制拦截,不生成重复交易、不重复扣款。
**实际行为**:
用户银行卡被扣款两次,每次 39 元,合计被扣 78 元,出现重复扣款。
**备注**:需补充用户 ID、订单号、支付渠道、交易流水号、APP 版本号、安卓版本、设备型号、发生时间及日志,便于定位问题。
给一个示例
把用户反馈转成缺陷单,字段包括:标题、严重度(P0-P2)、复现步骤、期望行为、实际行为。
示例(照这个风格和粒度写):
输入:订单列表刷不出来,一直转圈,WiFi 下也一样,iPhone 上出现的。
输出:
标题:iOS 订单列表加载失败(持续转圈)
严重度:P1
复现步骤:1. 打开 APP 进入「我的订单」;2. 页面持续显示加载动画,超过 30 秒无内容。
期望行为:正常显示订单列表。
实际行为:页面一直转圈,无法看到订单。
用户反馈:支付页点了两下就重复扣款了!赶紧看看啊,我银行卡都被扣了两次 39 块,APP 是安卓的最新版。
给一个示例的输出(模子级复刻,零漂移)
标题:Android 最新版支付页连续点击导致重复扣款
严重度:P0
复现步骤:1. 在 Android 最新版 APP 中进入支付页;2. 选择需支付 39 元的订单;3. 快速连续点击支付按钮两次;4. 完成支付后查看银行卡扣款记录。
期望行为:同一订单只发起一次支付,仅扣款 39 元。
实际行为:同一订单被重复扣款两次,银行卡共被扣 78 元。
问题二:”让我们一步一步思考”,还灵吗?
再说 CoT。这句是 2022 年最火的”魔法咒语”,传说加上它,模型推理能力大增。传说不全是假的——这句咒语有正经出处,当年也确实灵:
这是 2022 年那篇 Zero-Shot 论文的摘要:一句”Let’s think step by step”,MultiArith 准确率从 17.7% 拉到 78.7%。但注意年份和模型:2022 年,text-davinci-002。四年过去,模型换了几代,咒语还灵吗?我做了四组对照:
推理题(锯木头:锯成 3 段要 6 分钟,锯成 6 段要几分钟——直觉答案是 12,正确答案 15):不加 CoT,它直接”3 段是锯 2 次,每次 3 分钟,6 段是锯 5 次,15 分钟”;加了 CoT,同样的推理,同样的 15 分钟。它不需要你提醒,自己就会一步一步想。
起标题(给”无状态是大模型的本质”起 3 个公众号标题):两组水准相当,没有质量跳变。
咒语不是没用,是时代变了。2022 年它是小模型的拐杖,今天的模型已经内建推理。
不过话别说满:一个模型、一道简单题、一次采样,不能证明”CoT 永远没用”。准确的结论是:别把 2022 年的咒语当 2026 年的常识。你的模型吃不吃这套,自己测一遍——就像这个案例这样。
展开看实测原文(朴素 vs 工程化,沈剑2026-10-07实测:deepseek-flash,可复现,均为独立session以排除上下文影响)
实验设计:推理任务 + 创意任务 × 有无 CoT(”让我们一步一步思考”)
任务 A:一根木头锯成 3 段要 6 分钟,锯成 6 段要几分钟?
任务 B:给「无状态是大模型的本质」起 3 个公众号标题,目标读者是程序员。
A 推理题 · 不加 CoT
锯成 3 段需要锯 **2 次**,用 6 分钟,所以每次:
6 ÷ 2 = 3 分钟
锯成 6 段需要锯 **5 次**:
5 × 3 = **15 分钟**
答案:**15 分钟**。
A 推理题 · 加 CoT
锯成 **3 段**需要锯 **2 次**,共用 6 分钟。
所以每次锯需要:
\(6 \div 2 = 3\) 分钟
锯成 **6 段**需要锯 **5 次**:
\(5 \times 3 = 15\) 分钟
**答案:15 分钟。**
B 起标题 · 不加 CoT
1. 大模型为什么总“失忆”?无状态才是 LLM 的本质
2. 别把 LLM 当有状态服务:上下文窗口骗了太多程序员
3. 从 Session 到 Token:程序员必须理解的大模型无状态本质
B 起标题 · 加 CoT
给你 3 个偏程序员语感的公众号标题:
1. **《大模型就是 AI 界的 HTTP:无状态,才是它的本质》**
2. **《别再把大模型当 Redis 用了:它天生就是无状态服务》**
3. **《大模型总“失忆”?因为无状态才是本质,记忆全靠外挂》**
问题三:经典框架的正确使用姿势是什么?
① 先判断类型:格式/风格类要求,few-shot 管用;推理类要求,先看模型是不是已经自己会推理,别急着念咒;
② 能写规则写规则,写不清给示例:示例解决的是”说不清但看得出”的要求;
③ 框架有保质期:模型换一代,咒语废一半。每换个模型,把你最常用的几条”神级提示词”重新测一遍。
这和我用新框架的原则一样:不是不用,是先跑个 demo 再上生产。提示词也一样,先实测再上清单。
实操演练
必做部分 + 一步加餐。准备一个你日常在用的 AI 助手。
检验一下
①你的”格式+示例”组合:给最高频的输出需求配一条示例,实测风格稳定性,记录有没有”模子级复刻”。
②你的框架祛魅记录:亲手测一次 CoT(或你常用的某个”神级提示词”),记下任务、模型、有无增益。
这是资产库的第六格。
本讲实测来自沈剑的案例库 009、010(deepseek-flash,2026-10-05~10-07,独立会话,复现脚本和原始输出存档)。
想读原始论文:Language Models are Few-Shot Learners(GPT-3,2020)、Chain-of-Thought Prompting(2022),以及那句咒语的真正出处 Large Language Models are Zero-Shot Reasoners(2022)。注意年份——它们描述的都是那个年代的模型。
但还有一个没解决的问题:招式、实测方法、框架判断都齐了,怎么把这些攒成一个越用越好用的东西,而不是散落在聊天记录里?——第 7 讲,我们攒你自己的提示词资产库。
知其然,知其所以然。思路比结论更重要。