ARTICLE · 1068128
提速 200 倍、成本骤降:OpenClaw 原生接入 Jev 决策模型深度解析
OpenClaw 核心维护者 Josh Lehman 在 2026 年 9 月 22 日的技术更新中,正式披露了框架对决策模型(Decision Models)的原生接入方案。这一工程改动直接跟进了一周前 Diogo Almeida 及其 TypeSafe 团队开源的 Jev 模型。根据官方披露的数据,Jev 采用 RLCD 方式训练,响应速度比传统大语言模型快 20 到 200 倍,调用开销缩减到四十分之一至四百分之一。在 Vercel AI Gateway 的统计中,Jev 上线首日就切入了约 13% 的团队环境,采纳增速达到 GPT-5.6 的 2 倍。
OpenClaw 推进这一支持的目的很明确:解决 Agent 内部大量轻量级判定把主模型拖死的问题。

确定性逻辑从对话轮次中剥离
在构建复杂 Agent 时,系统内部存在大量原本就不属于“人机对话”范畴的分支判定。这包括:当前提问该加载哪几项工具、上下文窗口执行 Compaction 时该保留哪几段原始消息、以及常驻群聊的 Bot 在没有被显式 @ 时是否应当保持静默。
过去的做法是向主大模型追加一次对话请求或者由 Agent 自行发起一次 Tool Call。Josh 在初版实验中给 Agent 挂了一个专门调用 Jev 的工具,但实际测试发现逻辑倒挂:系统依然要让一个动辄几百毫秒甚至几秒的慢速对话模型先做推理,去思考“我该不该去调用这个快速模型”。
决策模型在工程接口上的差异在于强类型返回值。它只接收判定证据(evidence)与校验准则(criteria),直接返回标量结果:一个分类选择(choice)、一个区间分值(score)或者布尔概率值(probability)。宿主程序拿到结果后直接走原生代码的 if/else 分支,绕过了对一段自然语言 Markdown 进行二次正则提取的过程。
这类极低延迟的推理通道一旦跑通,原本受限于成本而无法放置模型的系统切面,就可以直接插入判定逻辑。
插件层 SDK 与 runtime.decisions 调用规范
OpenClaw 对决策模型采取了 Plugin-First 的解耦设计。决策模型与主对话模型解绑,用户可以在配置中为二者指定完全不同的提供商。通过 OpenClaw Plugin SDK,所有插件统一调用共享运行时接口:
// 插件内调用全局配置的决策模型const decision = await api.runtime.decisions.evaluate({ criteria: "Filter incoming Discord messages that require bot response without explicit mentions", evidence: { channelType: "public_channel", recentThread: context.messages.slice(-5), lastMessage: incomingMessage.text }, schema: { type: "object", properties: { shouldRespond: { type: "boolean" }, confidenceScore: { type: "number" } }, required: ["shouldRespond"] }});if (decision.shouldRespond && decision.confidenceScore > 0.85) { await dispatchToAgentRuntime(incomingMessage);}插件作者不需要在内部集成 TypeSafe API 的 SDK,也不用强迫终端用户配置两份不同的鉴权凭证。在后端适配上,OpenClaw 的 TypeSafe 适配层支持云端托管的 Jev,同时支持由 Jared Palmer 维护的本地 System One 服务(如 Kev)。
系统同时保留了从 Agent 内部直接发起判定的路径。原本用于测试的评估插件被剥离重构成内核内置工具 decision_evaluate,直接进入主干代码。整个功能属于 opt-in 机制,若环境内未指定决策模型参数,OpenClaw 维持现有全量对话逻辑不变,不向后破坏已有 Pipeline。
典型落地场景与社区 PR 推进
团队内部运行在 Discord 频道的 Agent(名为 Molty)是促成这次重构的典型实例。Molty 经常在未被呼叫的情况下打断团队成员之间的技术讨论。如果在每条群消息涌入时都调用一次主对话模型来判定“该不该插话”,高频群聊通道的并发吞吐和 Token 账单很快就会见顶。决策模型可以在毫秒级耗时内返回拦截信号,让 Bot 继续静默。
目前社区围绕决策模型已经提交了近 15 个 Pull Request,改动集中在四个具体环节:
• 工具过滤(Tool & Skill Filtering):在构建主模型 Prompt 之前,使用决策模型预先对注册的数十个 Skill 和工具定义做相关性裁剪,避免海量工具 schema 占满上下文窗口并干扰主模型的推理注意力。 • 技能提炼与去重(Skill Curation):提高 Agent 自主学习经验的审查频率,以极低计算成本定期扫描并合并冗余的 local skills。 • 上下文压缩保留(Context Compaction):在长会话触发滑动窗口压缩时,对多轮历史记录进行打分,筛选出带有关键约束但距离较远的信息切片。 • 多模型路由分发(Model Selection):在多模型工作流中,根据当前任务复杂度将子步骤动态指派给本地小模型或云端前沿模型。
本地环境配置与接口排错
在开发版本分支中启用决策模型支持,需在宿主配置文件 openclaw.config.json 中配置独立的 decision_model 节点:
{ "models": { "chat": { "provider": "anthropic", "model": "claude-3-7-sonnet" }, "decision": { "provider": "typesafe", "model": "jev-system-one", "endpoint": "https://api.typesafe.ai/v1", "timeoutMs": 1500 } }}若在本地离线环境使用 Kev 服务,将 endpoint 替换为本地守护进程监听端口:
kev-server --port 8443 --weights ./models/jev-quantized.bin并在 OpenClaw 环境变量中指定本地端点与跳过鉴权声明:
export OPENCLAW_DECISION_ENDPOINT="http://127.0.0.1:8443"export OPENCLAW_DECISION_API_KEY="local-bypass"openclaw daemon restart --check-decision-health如果控制台抛出 DECISION_EVAL_TIMEOUT 错误,检查 timeoutMs 边界是否覆盖了本地权重首次加载的预热延迟,通常在首轮请求时需将初始超时上调至 3000ms。
如果你觉得这篇内容对你有启发,欢迎在留言区聊聊你的看法。
关注我,我会持续分享高质量的技术与思考干货。👇