大模型做判断,一直有个别扭的地方:它非要把结论写成一句话,你再从这句话里把结果抠出来。格式崩了、多说两句、选项名写错,都得调用方自己收拾。

一个叫 NeoHorse-Jev-4B 的模型换了个做法:不生成答案,直接输出选项上的概率。规模不大,权重开放(Apache 2.0),在六个文本决策基准组上拿到 77.70 分——在同一份对比里,排在四个结果完整的开源模型之首。

它真正值得看的不是分数,是接口设计。

它把「决策」拆成了三个原语

过去让模型做选择,你只能拿到一段文本,再想办法解析。它把这件事收窄成三种固定的输出:

  • **Choice**:从给定的候选里挑动作,用在请求路由、工具选择、工作流分支上
  • **Noul**:是 / 否判断,用在通过与否决这类二元场景
  • **Score**:有序打分,用在排序、评级这类需要相对高低的场景

三种都返回归一化之后的概率,调用方拿到就能直接用,不需要再解析一遍文本。

设计上的取舍很清楚:把开放式的「生成」换成封闭式的「选择」。选项集合是调用方给的,所以输出是可校验的:选项非法就是非法,概率和为 1,低概率可以走回退路径。工程上这比一句自然语言好处理太多。

预填充出概率,省掉的到底是什么

它的推理是 prefill-only 的,也就是不走自回归解码,一次前向就把概率分布算出来。

这带来三个直接后果:

  1. **不用等它把话说完。** 输出不是逐 token 生成的,答案长度这个概念在这里不存在。
  2. **不用写解析器。** 结果是结构化的概率,不是需要正则去抠的文本。
  3. **延迟和成本相对固定。** 不会因为模型「想多了、写长了」而波动,这对需要卡响应时间的链路很关键。

代价同样明确:它的表达能力被选项集合框死了。给不出选项的判断,它没有第二种表达方式。想让它做开放式的推理和解释,找错工具了。

77.70 分能说明什么,不能说明什么

能说明的是:在一套统一的决策基准上,它比同批开源模型更稳,不是那种「看着能跑、细看全靠运气」的水平。榜单在这里起到了筛选作用。

不能说明的是:这分数对你有没有意义。基准是通用题目,而路由、工具选择这类判断极度依赖你自己的请求分布。总分是六个组综合之后的结果,落到你的场景,真正相关的往往只有一两个组;剩下那几组的高分,跟你没关系。

更实际的用法是把榜单当入场券:它证明这个方向有可用的实现,然后你自己去量。

概率不等于置信度,这里是第一个坑

模型输出的概率,反映的是它在给定选项之间的相对偏好,不是「答对的概率」。这两件事经常被混为一谈。

实践中的表现是这样的:排序通常很可靠,概率的绝对值经常不可靠。它可能永远把正确答案排在第一位,同时给出一个看着挺高的把握。而这个把握到底对应多少真实命中率,需要你自己标一批样本才知道。

如果你打算用概率设阈值(比如低于某个值就转人工、或升级到更强的模型),就必须先做校准。校准不改变排序,只让概率变回可以当阈值用的东西。跳过这一步,阈值就是个拍脑袋的数字。

第二个相关的坑:概率是相对你给的那组选项算出来的。加一个选项、删一个选项、换个顺序,分布都会变。选项集合应该当成接口契约来维护,别随手改,改了就等于换了个模型。

状态是谁给的,决定它的上限

它吃的是「应用状态」,所以状态怎么构造,直接决定了输出质量。状态里没有的信息,它判断不出来,再调参也没用。

这里要分清两种情况:状态是已知的(字段明确,本质上是查表式路由),还是需要从上下文里推断出来的。前者的难点在工程,后者的难点才在模型,两者的评测方法和预期完全不同。

另一个现实约束是长尾。基准题目覆盖的是常见形态,真实流量里的怪情况才是掉分的地方。这也是为什么我不太建议在第一天就把它放进主链路——先让它在一段你能看清的流量上跑,把分歧样本收集起来,比看总分有用。

到了多步串联、外部 schema 会漂移的链路上,小模型的优势会迅速消失。那种场景该用更大的模型,别省这个钱。

落到自己场景,我会按这个顺序

  1. **先自己量一遍。** 从真实流量里切一小批样本,标出正确选项,量两项:top-1 命中率、以及概率的校准情况。榜单分数在这一步没有发言权。
  2. **从低风险决策开始接。** 请求路由、候选排序、失败后选恢复路径,这类判断错了代价可控,正好适合先跑。
  3. **概率只用来分流,不用来做最终决定。** 高置信直接走,低置信升级或转人工,让它当一层便宜的筛子。
  4. **把每次分歧记下来,进回归集。** 这是后面能不能扩大使用范围的前提。
  5. **不可逆的动作先别给它。** 发钱、删数据、改线上配置这类判断,晚一点再说。

部署方式上它给得比较全:vLLM、SGLang、Python、CLI、HTTP 都能起,输入支持纯文本,也支持「一张图 + 文本」,权重开放意味着这条路可以完全跑在自己的机器上。

一句话结论

参数量不是重点。它值不值得用,取决于你的判断能不能被写成一句话:给定一组选项,要一个概率。

能写成这样,这类模型就是一层便宜、稳定、可回退的判断组件。写不成,再大的模型也只是把一句模糊的话说得更自信。