首页 › trending › 海外吵翻的决策模型,30行代码自己造

最近海外开发者社区为一个新词吵翻了:决策模型(decision model)。一个叫 Jev 的产品带着“if/switch 式 AI 判断”的名头在社区蹿红,一位做了多年 MLE(机器学习工程师)的老哥直接在 Hacker News 上说自己“内心在尖叫”;而博主 Nish Tahir 干脆发了篇教程:30 行 Python、一个 1.7B 的小模型,你就能自己造一个。这篇文章把这场争论的来龙去脉、三方观点和能直接抄走的做法一次讲清。你将拿到的信息差是:LLM 不只有聊天一种用法,“只选不写”的判断场景有便宜一个数量级的玩法,而且置信度不校准就敢自动执行,等于赌博。

一场由“内心尖叫”引发的争论

10月10日,软件工程师 Nish Tahir 在博客发布《Build your own decision model》,次日登上 Hacker News 首页。他给决策模型下的定义很干净:一种对每个允许的答案都给出校准概率的模型——不写文章、不生成代码,只在给定选项里挑一个,并且诚实地告诉你它有多大把握。

这个词不是他发明的。文中点名了 Jev——一个最近在社区里走红的决策模型产品,它的 API 长得就像编程语言里的 if(...) 或 switch 语句。HN 评论区第一条评论来自用户 howunfortunate,原话大意是:“作为一个多年来一直没法让任何人对分类器感兴趣的 MLE,Jev 的热度让我内心尖叫。零样本分类器确实比传统那种方便,很酷——算是吧。但普通 LLM 当零样本分类器用,早就又便宜又好使了。”

火药味就在这:一边是新品类被追捧,一边是老司机觉得“这不就是我们做了十年的东西换了个皮”。

聊天接口到底浪费在哪

先看大多数人现在的用法:让聊天模型输出结构化 JSON,比如从 A 到 E 五个选项里选一个。即便用了 Structured Output 保证格式合法,模型仍然要一个 token 一个 token 地把答案“写”出来。作者给了一个最简单的例子(问天空是什么颜色,五个选项),普通生成路径要走 11 次前向传播(未计入投机解码等加速手段)——其中大部分算力花在生成"Answer:"这类套路上。

决策模型的思路是把这个问题变成“系统一”反应:既然答案只可能是 A、B、C、D、E 五个 token,那就把词表里其余几万个 token 全部屏蔽,只做一次前向传播,直接读这五个 token 的 logits,做一次 softmax,概率就出来了。核心代码不到十行:

logits = model(**model_inputs).logits[0, -1]
# 只保留选项token,其余全部屏蔽
probs = torch.softmax(logits[option_token_ids].float(), dim=-1)
print(options[probs.argmax().item()])

作者用的是 Qwen3-1.7B——没错,就是通义千问的开源小模型,国内用户零门槛。测试问题“天空是什么颜色”,模型一次前向给出 B 选项 0.9988 的概率,干脆利落。用一张图看完整链路:

flowchart TD
    A["用户问题<br/>加固定选项A-E"] --> B["拼提示词<br/>结尾加Answer"]
    B --> C["送入小模型<br/>一次前向传播"]
    C --> D["取最后一个token<br/>的logits"]
    D --> E["屏蔽其余词表<br/>只留选项token"]
    E --> F["softmax归一化<br/>得到各选项概率"]
    F --> G["高置信且已校准<br/>自动执行"]
    F --> H["低置信<br/>转人工或换大模型"]

三方观点:支持、反对与抬杠

反方(资深 MLE):换皮旧物。 howunfortunate 的愤怒很有代表性——业界做传统分类器的人常年坐冷板凳, suddenly 一个“决策模型”概念火了,而普通 LLM 做零样本分类这件事本身早已不新鲜。他反感的不是技术,是包装。

正方(API 人体工学派):赢在接口设计。 用户 firasd 的分析更冷静:Jev 能火,是因为它的 API 像 if/switch,程序员太习惯了;大家被聊天式 API 训练得太久,甚至没想到可以“给模型一堆 emoji,让它挑当下语境里最合适的一个”这种非常规用法。而且聊天模型同样的行为更贵,还可能输出莫名其妙的拒答。他顺便翻了笔旧账:2020 年那篇突破性的 GPT-3 论文里,有些多选题就是只看 token 概率作答的——这条路不是新魔法,是被聊天界面遮住的老路。

中立(抬杠派):这不就是固定 JSON 输出? 用户 bellajbadr 直接问:“这不就是为了拿到固定 JSON 吗?”这一问恰恰点出社区最大的混淆点。原文的回答是:区别不在输出格式,而在计算路径和概率含义——一次前向只算选项 token,是省算力;而 token 概率要想当作“置信度”用,必须额外校准,这是下一节要说的坑。

实测账本:59% 的正确率,0.9978 的自信

光讲思路不够,作者拿公开数据集 CommonsenseQA 的 1221 题随机样本跑了分:Qwen3-1.7B 零样本 59.38%(725/1221),用同一数据集快速微调后 62.41%(762/1221)。1.7B 的小模型,不用任何提示词工程,这个成绩说明路子是通的。

真正的重点是一次“翻车”:他问模型“你最可能在哪里找到 bat?”——选项有洞穴、棒球赛、阁楼、动物园、体育用品店。这题妙在 bat 既是蝙蝠又是球棒,本来没有标准答案,模型却给“洞穴”塞了 0.9978 的概率。它不是不会,是过度自信。

把 1221 题的输出按置信度分箱,问题一目了然:

置信区间 题数 自称把握 实际正确率
0.9 – 1.0 809 98.55% 70.09%
0.8 – 0.9 121 85.55% 47.11%
0.7 – 0.8 77 74.95% 42.86%

模型在 0.9 以上的桶里堆了 809 道题,嘴上说 98.55% 的把握,实际只有七成是对的。这就是“未校准”:输出的概率反映的是“下一个 token 是什么”的信心,而不是“答案正确”的概率。拿着这种分数去设计“置信度高于 0.99 就自动执行”的自动化流程,等于闭眼过马路。

温度旋钮:20.1% 到 2.9%

解决办法老而简单:温度缩放(temperature scaling)。把 logits 除以一个温度参数 T 再做 softmax,T 调大分布就变平,置信度整体回落。作者在验证集上把 T 调到 2.2,期望校准误差(ECE)从 20.1% 降到 2.9%——一个参数,一轮拟合。他进一步用曲线拟合找到 T≈3.8,校准后高置信桶的表现变成:自称 93.3% 把握的题,实际正确率 95.4%。这时候“概率”才真正配得上“置信度”三个字,才敢拿去做自动化决策的闸门。

作者把建数据集、评测、微调、校准的全套脚本整理成了仓库,链接在原文文末,鼓励大家换更大的模型自己跑。

对中国从业者的启示

这场争论最有价值的不是 Jev 本身,而是它划出的一条产品分界线:聊天是系统二,判断是系统一。你的业务里凡是“选项有限、要快、要便宜、量还大”的判断点——客服意图路由、工单自动分派、风控初审、内容打标、告警分级——都可能是决策模型的菜。落地三步:

  1. 盘点判断点:把业务里所有“从 N 个固定选项里选一个”的环节列出来,这类环节往往正在花大模型的钱干小模型的活。
  2. 本地小模型拿概率:照原文思路,1-2B 级开源模型 + 一次前向,代码 thirty 行以内;国内开源小模型选择 plenty,无需依赖任何海外 API。
  3. 先校准再自动化:用自己的标注样本跑分箱表,温度缩放把 ECE 压到个位数,然后高置信自动执行、低置信转人工——这条分级闸门才是决策模型区别于“玩具”的部分。

至于成本账,方向是明确的:firasd 指出聊天模型同样的行为更贵还可能拒答,而一次前向只算五个 token 的概率,量大的场景差距会被笔笔放大。具体倍数取决于你的模型和部署方式,建议拿自己的真实流量测,别信任何人的口径——包括这篇。

信息差总结

你以为的 别人已经知道的
LLM 判断 = 聊天接口问答 固定选项判断只需一次前向,读选项 token 概率
输出概率 ≈ 正确率 未校准模型自称 98.6% 把握时,实际只有 70% 正确
校准是高深学问 温度缩放一个参数,ECE 从 20.1% 压到 2.9%
想用就得训练分类器 1.7B 零样本 59.4%,轻量微调 62.4%,全套脚本开源
结构化输出已经是极限 结构化只是格式合法,照样逐 token 生成,多花十几倍前向

行动指南

  1. 今晚就能复现:拉一个开源 1.7B 级模型,照本文第三节的核心代码,拿“天空是什么颜色”这类题验证一次前向出概率。
  2. 本周做分箱表:用业务真实样本跑一遍,画出“自称把握 vs 实际正确率”的分箱表——这张表会告诉你现在敢不敢自动化。
  3. 校准后分级上线:温度缩放到 ECE 个位数,设一条“低置信转人工”的闸门,先在一个低风险场景(如工单标签)灰度。
  4. 算一笔替换账:挑一个正在用大模型聊天接口做分类的环节,对比替换前后的时延与成本。

参考来源

  1. Build your own decision model — Nish Tahir(2026-10-10):https://nishtahir.com/build-your-own-decision-model/
  2. Hacker News 讨论帖(含 MLE 反方观点与 GPT-3 旧账):https://news.ycombinator.com/item?id=50037949
  3. Qwen3-1.7B 模型主页(文中实验所用模型):https://huggingface.co/Qwen/Qwen3-1.7B

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入