跳到正文
Hacker News· elmsec·· 9 天前AI 评分22

决策模型能否弃权?四款本地模型与 Jev 1.13 的弃权能力测试

Can Decision Models Abstain?

AI 导读

一项测试用 18 条合成消息考察 Nimble 9B、Clef Flash 9B、Tev1 4B、Laya 421M 四款本地模型与托管 Jev 1.13 能否在无法明确判断时选择弃权。

正文 · AI 翻译

“如果再拖下去,我可能会取消。”这样的消息应该进入取消工作流吗?我针对这个问题测试了四个本地 System One 决策模型和一个托管的 Jev 参考模型。每个模型都收到一条客户消息,并且必须选择:取消请求、状态查询,还是信息不足。我想看看当两种操作都没有被明确请求时,它们能否让决策保持开放。

已记录的运行观测输出 · 非模拟

四个本地模型。一个托管参考模型。

十八条合成消息:六条取消、六条状态查询,以及六条当前操作不明确的情况。

Nimble 9B15/18明确请求 12/12 · 弃权 3/6

Clef Flash 9B13/18明确请求 12/12 · 弃权 1/6

Tev1 4B17/18明确请求 12/12 · 弃权 5/6

Laya 421M14/18明确请求 11/12 · 弃权 3/6

Jev 1.13 · 托管18/18明确请求 12/12 · 弃权 6/6

确切输入

如果再拖下去,我可能会取消。

预期:弃权

Nimble 9B匹配

弃权

取消订单2.3%

查询状态0.7%

弃权97.1%

1.96s HTTP · API 置信度 0.865

Jev 1.13 · 托管匹配

弃权

取消订单0.0%

查询状态1.0%

弃权99.0%

Playground 延迟 134ms · API 置信度 0.980

阅读确切指令

仅根据客户的消息,对客户当前请求的操作进行分类。当客户明确要求取消或停止订单时,包括明确的转述,选择 cancel_order。当客户询问订单的当前状态、配送进度或送达时间时,选择 check_order_status。当两种操作都没有被明确请求时,选择 insufficient_information。投诉、引用的指令或假设的未来取消本身并不是当前的取消请求。注意否定,以及过去请求与当前请求之间的区别。推断明确转述的含义,但不要仅凭不满就臆造出一个操作。本基准的范围是至多包含这两个类别中一个当前操作的消息;insufficient_information 是一种弃权决定,而不是客户意图。

本地结果使用 /v1/systemone;托管的 Jev 参考模型使用 TryJevAI。原始请求和响应链接如下。2026-10-08。每个模型/用例记录一个答案。匹配是指与所述策略一致。分数不是经过验证的客户意图概率。本地 API 置信度衡量分数集中度。托管置信度和延迟按 playground 返回的内容显示;计时不可直接比较。

一个小型路由实验

这是传入消息与固定工作流之间的一个分类步骤。模型返回一个标签;外围应用决定接下来发生什么。本次测试中没有任何内容更改了订单。

我使用了 Nimble 9B、Clef Flash 9B、Tev1 4B 和 Laya 421M,外加 通过 TryJevAI 使用的 Jev 1.13.0。TryJevAI 是一个独立的试验场。Jev 的参数数量在此未经验证,因此这是一个托管服务参考,而非同等规模的比较。

共有 18 条合成的英文消息:六条取消请求、六条状态询问,以及六条两种操作都不明确的消息。本地模型使用 Ollama 的 System One API。Jev 通过试验场收到了相同的消息、策略和有序标签。其问题字段拒绝超过 300 个字符的文本,因此我将完整策略放在消息旁的 state 中,并使用了一个简短的问题。这种格式差异也是本次比较的一部分。每条消息都单独评估,没有对话历史。展开上方的“阅读确切指令”以查看策略。

规则是识别客户当前请求的操作。明确的转述算数。投诉、引用以及未来可能的取消本身不算作请求。insufficient_information 显示为 Abstain,是第三个答案选项。模型回答后,我没有应用置信度阈值。

发生了什么

Nimble、Clef Flash 和 Tev1 匹配了全部 12 条明确请求。Laya 匹配了 11 条。在六条标记为弃权的消息上,Tev1 匹配了五条,Nimble 和 Laya 各三条,Clef Flash 一条。

托管服务 Jev 参考匹配了 18/18 个标签:12/12 条明确请求和 6/6 条预期弃权。

浏览器打开时显示的是条件取消。Nimble 和 Tev1 弃权。Clef Flash 和 Laya 选择了取消,尽管客户只是描述了一个可能的未来操作。Jev 在这条消息上弃权。

“你能帮我处理订单 #314 吗?”更具争议性。状态更新可能有所帮助,但消息没有说明想要什么帮助。我的预期标签是弃权。这些分数衡量的是与该策略的一致程度,而不是对某人隐藏意图的客观解读。

“你在上一条消息中说‘取消订单’”指的是缺失的历史记录。其预期答案仅反映从所提供消息中可以推断出的内容。

这告诉了我什么

在使用这些标签触发工作流之前,我会明确测试审查路径。单一的总分会掩盖两种不同的错误:漏掉一个明确请求,以及在两者都不明确请求时选择某个操作。

这是一个探索性数据集,而非留出基准。一个答案的改变会使总分变动 5.6 个百分点。始终弃权会匹配 6/18 个标签,同时不处理任何明确请求。在选择生产模型之前,我希望获得真实消息、独立的标签审查,以及提示词和选项顺序测试。

条形图显示的是 API 的标签分数。本实验并未确立校准。本地 API 的置信度值描述的是分数集中度,而非正确性。Jev 的置信度按试验场返回的结果显示。

运行详情

每个模型和每条消息记录一个回答,按模型分组;固定选项顺序为:取消、状态、弃权。Tev1 和 Laya 的运行保留了原始输入和密钥,在配备 24 GB 内存的 M3 MacBook Air 上使用 Ollama 0.40.1 默认设置。在初次连接失败未返回任何回答后,我重启了 Tev1。本地计时包含加载和 HTTP 开销。Jev 显示的延迟是 playground 报告的值。两者不能直接比较。托管调用经过节流,以遵守 playground 的速率限制。

下载请求和响应以及运行详情,包括模型标签和本地摘要。

我使用了 AI 工具来帮助编写代码和编辑文本。结果来自本地模型和托管端点;消息是合成的。

来源:Hacker News · elma.dev