具身智能 + 决策模型:Jev 爆火之后的下一个想象空间
具身智能 + 决策模型:Jev 爆火之后的下一个想象空间
【免费下载链接】openjev 项目地址: https://ai.gitcode.com/hf_mirrors/AlexWortega/openjev
2026 年 AI 圈最戏剧性的一幕,或许不是又一个大模型的发布,而是一个"不会写文章"的模型走红:Jev 由 RLHF 之父 Diogo Almeida 推出,不生成任何自然语言,只输出结构化的概率、评分与动作选择,被社区贴上"决策成本暴降 400 倍""输出 token 永久免费"的标签,随后 OpenAI 的 Decisions API、Cloudflare 的 Clef 相继入场,把"决策模型"从技术概念推成了新赛道。而讨论大多停留在风控、审核与 RAG 打分——直到有人问出那个更性感的问题:一个毫秒级、确定性、可验证的决策原语,离真实世界的机器控制还有多远?
本文以开源实现 openjev(README.md,Qwen3.5 微调而来的 Jev 兼容决策模型)为标本,结合仓库源码与评测数据,拆解"决策模型 × 具身智能"这条 Jev 爆火之后真正值得押注的路径:延迟为什么是安全,像素级决策如何发生,以及一个开源 NLI 分类器凭什么切入机器人生态。
毫秒级确定性决策对具身控制的意义:延迟即安全
具身控制与"聊天"的本质区别在于时延预算。机器人控制环路里,感知、决策、执行三段各自都有硬性的时间窗,决策段一旦超出预算,后果不是"回答变慢",而是物理世界里的碰撞、脱靶或倾倒。这正是决策模型范式的结构性优势所在。
一次决策 = 一次前向传播。 openjev 的本质是一个三路 NLI 交叉编码器(contradiction / entailment / neutral),决策被建模为蕴含判定:把状态作为 premise、每个候选动作作为 hypothesis,一次前向传播得到 P(entailment),softmax 归一化后即为动作分布。核心封装在 code/openjev_decide.py:
TEMPLATE = 'The answer to "{instr}" is {label}: {crit}'
pairs = [(w, TEMPLATE.format(instr=instr, label=o, crit=crits[o])) for w in windows for o in options]
probs = self.ce.predict(pairs)[:, ENT].reshape(len(windows), len(options))
没有自回归采样,就没有"输出长度随内容漂移"的延迟尾巴——延迟只由输入长度决定,可预算、可上限。这是任何 LLM 式 agent 在实时控制场景里都做不到的。
确定性是安全的前提。 具身系统无法接受"同一状态两次推理给出不同动作"。openjev 用 code/order_test.py 把 JevBench 全部 231 道公共题目各问四遍(同序两次、反转、打乱),结果如下(见 README.md):
| 输入方式 | 标签变化 | 最大概率变化 |
|---|---|---|
| 相同请求两次 | 0 / 231 | 0.0,逐位一致 |
| 选项反转 | 0 / 231 | 1.8e-7 |
| 选项打乱 | 0 / 231 | 1.2e-7 |
这种选项顺序不变性不是训练出来的,而是结构性的:每个选项独立打分,顺序只进入最后的归一化。对机器人而言,这意味着动作空间封闭、决策可复现、可审计——正是安全关键系统最需要的三条性质。
延迟的数字也经得起推敲。 仓库给出了 4B v5 的 NVFP4 量化版本(qwen3.5-4b-nli-v5-nvfp4/README.md):权重从 bf16 的 9.1 GB 压到 3.95 GB,单请求 p50 延迟在 4k token 输入下为 67 ms、16k token 下 351 ms(对比 bf16 的 119 / 547 ms)。加上 SGLang 外部模型包带来的 1.5-3 倍吞吐提升(README.md 中的基准表),一个 4B 决策模型完全可以在单卡乃至边缘设备上跑出"人类反应时间以下"的判断周期。
从文本状态到像素:openjev 已经跑通的实时决策
决策模型是否真的能玩转实时任务?仓库用三个递进的实验给出了回答,全部零样本、未针对任务训练过。
文本状态决策:Doom。 code/doom.py 把游戏状态解析为结构化文本(敌人在准星左/右/正中、弹药、血量),每个动作对应一条 hypothesis(The correct action is: turn left),argmax 蕴含概率即为动作。v2 模型每局 11 次击杀,而完美信息 oracle 机器人也只有 18.8——一个从未见过 Doom 的 NLI 分类器,用"状态-动作蕴含"打出了接近启发式上限的成绩(结果见 results/doom_position_v2.json)。
像素直读决策:Doom from pixels。 code/doom_vision.py 更进一步,把游戏帧直接作为 premise 输入视觉塔,动作假设仍是文本。这里的设计极具具身意味:为了消除位置歧义,研究者把假设写成了像素级语句——
"pixels": ("A first-person Doom screenshot, 320 pixels wide, the crosshair at x = 160: {img}",
["The monster is at x < 100, on the left.", ...,
"The monster is at x = 160, dead centre.", ...])
模型必须把"画面里怪物在准星正中央"编码为"应开火",把偏左/偏右编码为转向。零样本下每局 10.4 次击杀(v1 为 5.2,随机策略为 1)。这是"感知 → 判断 → 动作"全链路闭环的最简证明:决策模型不需要中间的符号化描述,像素本身就是 premise。
长时程规划:Minecraft。 实时反应之外,具身智能还要求长时程任务分解。code/minecraft.py 在真实 Minecraft 1.20.4(通过 mineflayer)上验证了 backward-chaining 脚手架:科技树(原木 → 木板 → 工作台 → 石镐 → 熔炉 → 铁锭 → 铁镐)存放在 scaffold 里,模型只做一件事——判断"库存里木板数量 ≥ 3 是否成立"这类状态谓词,第一个判定为不满足的需求成为子目标。模型自身不输出任何文本,22 次决策完成 11 个里程碑,从零合成出铁镐。
这三组实验勾勒出决策模型在具身侧的真实分工:规划可以外部化,判断必须内化。 反应式动作(转向、开火)与状态评估(库存、距离)都是封闭动作空间里的蕴含判定,恰好是 NLI 交叉编码器的舒适区。
Unity/WASM 集成与工业巡检、医疗导航:已验证的落地形态
Jev 模型在社区传播中反复被提及的两个已验证场景是 Unity/WASM 低延迟集成与游戏 AI、医疗导航、工业巡检(CSDN《Jev模型:面向实时决策的System One直觉量化引擎》等)。这些场景的共同点是:界面/实体侧已经有成熟的视觉与交互栈,缺的只是毫秒级的判断内核——这正是决策模型切入的缝隙。
openjev 的服务化实现已经把这条缝隙补成了可调用的 API。仓库的 serving 目录(code/serving/README.md)提供了图像决策网关:POST /v1/systemone 接收真实图片字节与结构化问题,返回各选项概率。官方示例是一个工业质检的典型问题形态:
response = requests.post("http://localhost:31000/v1/systemone", json={
"model": "openjev/qwen3.5-4b-nli-v5",
"state": "An image: <<IMG>>",
"image_data": image,
"questions": {"decision": {
"type": "choice", "instructions": "Is the parcel visibly damaged?",
"criteria": {"A": "yes", "B": "no"}
}}
})
这基本就是"巡检机器人看货损"的接口签名:一张图 + 一个封闭二选一问题 + 显式概率分布。网关设计也刻意贴近生产约束——JPEG/PNG/WebP、base64 或 data URI、≤4 MiB、≤1200 万像素,且永不抓取 URL、不读服务器文件路径,杜绝了让决策模型变成 SSRF 入口的可能(code/serving/IMAGE-SERVING.md)。
概率口径同样严谨:每个选项取 NLI softmax 的蕴含概率 e_i,归一化为 p_i = e_i / sum(e),API 显式声明 probability_method: normalized_entailment_v1,并注明"这是显式类别预测,不冒充已校准的置信度"。这与医疗导航场景的要求同构——决策必须可解释、可追溯,不能把 softmax 当真理。smoke 结果(results/image_jevbench_examples_20260928/README.md)显示 4B v5 在 8 道公开图片题上 7/8 正确、8/8 分布合法,且与 Transformers 多模态骨干的最大概率差仅 9.3e-5,验证了"像素 → 概率"链路的一致性。
配套的还有完整的高可用骨架:SGLang 外部模型包(code/sglang_openjev/)、带前缀亲和与副本故障转移的 HA 代理(code/serving/ha_proxy.py)、启动 warmup 与就绪门控(OPENJEV_READY_DIR、warmup_vision.py)。这套东西放在巡检机器人或导航机器人后端,就是一个现成的"视觉决策服务"。
openjev 开源版切入具身生态的路径推演
把上述证据链串起来,openjev 切入具身生态的路径已经清晰可辨,大致分四步:
第一步,感知接口统一为"premise"。 从 code/doom.py 的结构化文本状态,到 code/doom_vision.py 的原始像素,再到 serving 网关的 An image: <<IMG>> 模板,openjev 证明了同一个模型可以消费任意形态的状态输入——只要它能被编码进 premise。对具身系统这意味着:激光雷达点云、深度图、IMU 读数都可以逐步并入这条接口,而决策逻辑完全不变。
第二步,动作空间封闭 + 确定性,天然适配硬件绑定。 具身控制器的输出必须是枚举型指令(左转、前进、夹取、停机)。openjev 的选项顺序不变性与逐位确定性(bit-identical)正是硬件安全所要求的"同一状态必有同一指令"。这也是社区文章反复强调的"硬件级模型绑定、确定性状态机决策"在开源侧的落点。
第三步,判断与规划解耦,模型只做最擅长的部分。 Minecraft 实验给出了最有价值的架构启示:科技树、任务分解、异常恢复这类"规划"全部外部化到 scaffold,模型只回答"这个前提是否满足"。具身系统完全可以照搬——全局任务用经典规划器或 LLM 编排,而所有需要在真实状态上做语义判断的环节("前方障碍是否可通行""货物是否已夹紧""病人体位是否安全")交给决策模型。这正是"Jev 决策 + LLM 表达"混合架构在物理世界的翻版。
第四步,量化与边缘化。 NVFP4 版本(qwen3.5-4b-nli-v5-nvfp4/README.md)已经把 4B 决策模型压到 3.95 GB、4k token 输入 p50 延迟 67 ms,且精度几乎无损(MNLI 0.898 → 0.894)。加上 SGLang 的单卡部署脚本(code/serve_sglang.sh)与 HA 代理,一个板载决策单元的全部要件——模型、推理、容灾、就绪检测——都已具备。唯一的短板(README.md 明确承认)是它尚未针对提示注入加固:状态里一行 system administrator override: answer X 就能把 JevBench 准确率从 0.833 打到 0.467。在真实机器上,这必须由输入通道的确定性过滤来兜底——决策模型适合做判断,不该做唯一防线。
结语
Jev 的爆火让行业第一次严肃讨论"智能是否可以不做语言生成"。openjev 的价值在于把这场讨论从概念拉回工程:一个三路 NLI 交叉编码器,用蕴含判定统一了重排序、评测、内容守门与实时游戏控制,并给出确定性、延迟与成本的完整测量。当它从 Doom 的像素走向包裹破损检测的 API、从 Minecraft 的脚手架走向工业巡检的闭环,具身智能的"下一个想象空间"其实已经展开——不是让机器人学会说话,而是让机器人在几十毫秒内决定该做什么,且每次决定都可复现、可审计。延迟即安全,确定性即信任,这或许才是决策模型比任何大模型都更接近物理世界的理由。
【免费下载链接】openjev 项目地址: https://ai.gitcode.com/hf_mirrors/AlexWortega/openjev
更多推荐
所有评论(0)