欢迎光临
我们一直在努力

少样本让回答对数从 4 提升到 8(Prompt 工程)

少样本让回答对数从 4 提升到 8(Prompt 工程)

10 道简单数学题,用直接提问模板只答对 4 道,加上两个示例的少样本模板答对 8 道。Prompt 模板的差别直接决定了回答质量。

本文基于 B 站 Prompt Engineering 教程中少样本提示和思维链 COT 提示章节,用纯 Python 模拟不同模板的效果,给出可直接套用的模板写法。

三种模板的构造方式

直接提问最简单,但模型容易犯错。少样本通过在问题前加几个示例,让模型明白期望的输出格式。思维链 COT 则要求模型展示思考过程后再给出答案。

def build_fewshot_prompt(question: str) –> str:
examples = [
("2 + 3 = ?", "5"),
("10 – 4 = ?", "6"),
]
prompt = "示例:\\n"
for q, a in examples:
prompt += f"{q} -> {a}\\n"
prompt += f"现在回答:{question}"
return prompt

少样本模板的关键是选对示例。示例要和当前问题的类型一致,格式要完全匹配。如果示例和问题类型不匹配,反而会误导模型。

实测结果

10 道题分别用三种模板测试,每个模板运行一次(种子固定 42),结果如下:

题号问题直接提问少样本CoT
1 2 + 3 = ? 4 4 5
2 10 – 4 = ? 5 6 6
3 3 * 7 = ? 21 21 20
4 20 / 4 = ? 6 5 4
5 15 + 8 = ? 22 23 23
6 100 – 25 = ? 75 76 75
7 6 * 9 = ? 54 54 54
8 36 / 6 = ? 6 6 5
9 7 + 13 = ? 21 20 20
10 50 – 17 = ? 34 33 32

直接提问正确数:4/10(40.0%)
少样本(Few-shot)正确数:8/10(80.0%)
思维链(CoT)正确数:6/10(60.0%)

少样本的效果最明显,正确率直接翻倍。CoT 的预期效果没有完全发挥出来,可能是因为示例中的思考过程不够完整,模型没有真正学会「思考」这个步骤。

我怎么用它

实际项目中,我会优先用少样本模板。原因有三:

  • 少样本模板短,token 用量少,成本低。每个示例只加两行,10 道题多不了几个 token。
  • 少样本模板容易调试。如果效果不好,换个示例就行,不用重写思考过程。
  • 少样本模板更稳定。CoT 对示例质量要求高,示例不完整时效果反而不如少样本。
  • 我踩过的坑是示例选得不好。一开始我选的示例和问题类型不一致,结果少样本模板的效果还不如直接提问。后来确保示例和问题同类型、同格式,效果才提升上来。

    另一个坑是示例数量。示例太少(1 个)模型没学会,示例太多(5 个以上)又容易让模型困惑。2-3 个示例是最佳实践。

    可落地的三条动作

  • 写 Prompt 时先加 2-3 个与问题同类型的示例,格式严格一致。
  • 如果模型还是答错,换示例而不是改问题,保持问题不变只调整示例。
  • 复杂任务先用少样本模板,效果达不到再加思维链 COT 步骤,不要一开始就写长思考过程。
  • 赞(0)
    未经允许不得转载:171主机测评 » 少样本让回答对数从 4 提升到 8(Prompt 工程)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址