Wink Pings

给决策模型发一张选择题卷子,Switch 想绕开工具调用这个坑

Jev 这类决策模型不会写工具调用。Switch 的做法是让代码生成有限选项,模型只负责选。200 页文档评分成了最现实的试金石,也暴露了域工程的脏活。

switch cover

Switch 是一个给决策模型用的 harness 框架。作者 Onur Solmaz 把仓库和解释视频一起放了出来,目标很明确:让 Jev 这类只输出概率答案的模型,也能进入 agent 循环。

决策模型和聊天模型不一样。它回答 bool、choice、score 这类题,给出概率,不写自然语言。coding agent 依赖模型生成工具调用,Jev 做不到。Switch 把这一步挪到代码里:域定义状态,问题函数从状态里推导出有限选项,模型选一个,转换函数拿答案生成下一个状态。

这套循环把开放生成压成离散路由。选项是代码,不是散文。

作者给的示例里,评分裁判最实在。传统做法把 PDF、docx、md 抽成文本塞进上下文,视觉格式也算评分项时,每页还要转成图片。200 页文档,问题只涉及几页,大部分上下文浪费。Switch 的 rubric judge 让模型一步步读文件、看页面图、搜关键词,直到能逐条打分。

有网友说,让裁判自己翻 200 页,而不是把每页图都倒进上下文,这一点说服了他。评测成本涨得快,这种省法很直接。

仓库里还有 chess、WikiRace、ticket triage 示例。triage 例子中,模型每次选读哪个日志,读完选 stop,最后选团队。域负责把状态、问题、转换写清楚,模型只做选择。

安装需要 Node.js 22.18 或更新版本:

npm install @osolmaz/switch

Switch 不绑定 Jev。任何 pi-ai 列为 classifier 的决策模型都能接。跑完留下 trace,replay 不调模型,也能 fork 前 n 步让模型继续。

限制也清楚。作者自己说 Jev 下棋很弱,做裁判还替代不了 GPT 6.1 Sol。有网友贴出 TypeSafe dashboard 的数字:Jev 与参考一致率 67.8%,Opus 5 在 workflow 模式 74.1%。这个数字适合当 bootstrap,不适合直接换生产裁判。

更值得看的是选项生成。有网友问,大选项集和乱状态哪个先崩;也有人指出,生成的菜单仍会漏合法走法。开放式生成变成有限选择,验证容易了,但选项从哪来、怎么保持小,还是域工程。

如果域足够窄,这套东西有成本优势。先用强模型生成数据,再拿开源决策模型在 Switch 这类 harness 里微调,做单一任务可能比通用模型便宜很多。前提是状态、问题、转换都写对。Switch 标准化的正是这层脏活。

仓库:https://github.com/osolmaz/switch

Pi:https://pi.dev

Jev 与 System One 模型说明:https://docs.typesafe.ai/concepts/system-one

发布时间: 2026-10-30 17:39