亚马逊的 agent 团队 strands-labs 在 10 月 1 日开源了一个不太一样的模型:Strands Decider 2B。它不写代码、不聊天、不做摘要——只负责在给定选项里挑一个,或者打个分。权重、训练数据、训练脚本全部放上了 Hugging Face 和 GitHub,Apache 2.0 协议,本地 CPU 或 GPU 都能跑。

先说品类:决策模型是什么

这波热潮的起点是 TypeSafe AI 本月早些时候发布的 Jev。决策模型(decision model,也叫 "system one" 模型)和 LLM 的分工很清晰:LLM 生成任意文本,决策模型只做三类事——noul(是非题)、choice(N 选一)、score(按等级打分)。作为交换,它在同等参数量下更快,永远从给定选项里出答案,而且每个决策都带一个校准过的置信度——官方特意强调,这是各家前沿 LLM 推理 API 都不提供的东西。

官方博客给了个直白的例子:一句「Help! My payouts have been failing for 3 days!」,问「该哪个团队处理?billing/sales/retail」,模型答 billing、置信度 0.768,并把三个选项的概率全部列出。

架构:砍掉语言头,装一个指针头

Strands Decider 2B 的做法很外科手术:拿 Qwen3.5-2B 预训练躯干,把语言建模头整个删掉——模型从此失去生成文本的能力——换上一个约 100 万参数的 pointer head。这个头拿 <answer> 位置的隐状态去和每个选项位置的隐状态对比打分,一次前向传播出结果,没有解码循环。躯干只用 rank-16 的 LoRA 微调。

因为这个头不持有任何按选项区分的参数,模型学不到「第一个选项通常对」这种捷径,选项数量也不受架构限制——标签集合由请求定义,不烧进权重。三种问题类型(noul/choice/score)都从同一个 masked softmax 里读出来。

数字方面:JevBench 公开集 231 个任务,accuracy 0.723(167/231);分层看 easy 1.000、standard 0.875、hard 0.505;置信度 0.9 以上的答案约 95% 正确。延迟上,RTX 3090 中位 115 毫秒、95 分位 299 毫秒;M3 MacBook 跑 300 token 以内的小任务中位 153 毫秒。按官方引用的第三方榜单,它在 2B 级 33 个模型里排第 3,排除略超 2B 的模型后在 30 个里排第 1。

还有个彩蛋:Qwen3.5-2B-Base 本身原生多模态,服务端加 --vision 保留视觉塔后,同一个 v19 checkpoint 不重训就能对图像做判断,官方测得 NaturalBench 上校准误差 ECE 0.014,比专门拿图像训练的 2B decider(0.080)还好。

全配方开源,连失败实验都记录

这个仓库最特别的不是模型,是过程。训练成本压到「人人可复现」的量级:单张 RTX 3090 约 11 小时重训整个 recipe,8 张 H100 开 FAST 模式 1 小时 10 分钟跑完。数据源许可逐条列在 data/sources.md,复现契约写在 data/README.md。

更有意思的是研究纪律:从 v9 起,每次训练 run 都要先写明预测和失败条件,跑完把结果 append 在后面,不许回头改。当前参考模型是 v19;最新的 v20 实验 169/231,与 v19 的 168 在重训噪声之内,没有取代它。仓库自己统计,v17 recipe 六次重训的标准差是 3.2 个任务——两次单跑差 10 个任务以内都算分不出胜负。这种「没成功的实验也如实留档」的做法,在模型发布里相当少见。

所以呢

决策模型卡的位置很具体:agent 工作流里那些「不值得叫一次大模型」的判断——工具该不该现在调、参数是不是用户真说过的、请求该路由给谁、输出过没过护栏。官方给的用法清单就是这些:模型路由、工具选择、参数检查、分流、guardrails、低成本评估,以及混合 agent——难题留给 LLM,机械决策交给 decider,同时降成本降延迟。

赛道也在挤进更多玩家:就在 Strands Decider 开源的同一天,Cloudflare 也发布了开源决策模型 Clef;第三方发布追踪页把 10 月开月概括为「没有前沿大模型,只有一簇小型专用模型」。决策、语音、转录这些「小而专」的品类,正在成为 agent 基建的新一层。

Strands Decider 2B 的差异化不在跑分,而在整条生产线全开放——你可以在自己的 3090 上花 11 小时复现一遍,再改出自己的版本。做 agent 的人值得花一个下午:pip install strands-decider,本地起服务,把最贵的判断留给大模型,把其余的交出去。

参考:Strands Agents 官方博客、GitHub 仓库。