Jev决策引擎解析:单次前向传播替代自回归解码,推理70毫秒

花几百个token算一个true,这笔账终于有人算清楚了

换个思路,你的客服系统要回答三个问题,根本不用让大模型逐字吐JSON!

每次客服系统收到用户消息,你想知道三件事:这人会不会跑、他是想退款还是要支持、急不急。三个问题的答案加起来不到10个比特,但GPT-4要花两三秒、逐字吐出两三百个token才能给你答案。这中间到底浪费了什么?

这篇文章讲的是TypeSafe AI在2026年9月推出的Jev决策引擎,它跳过逐字生成的解码循环,用一次前向传播并行算出所有判断,延迟压到70毫秒。2026年9月16日进入早期访问,由前OpenAI研究员Diogo Almeida创立,他在InstructGPT与ChatGPT核心研发中扮演过关键角色。

Jev不生成任何文本,只输出类型化决策,Speed和成本比主流大模型快193倍、便宜444倍。但它也丢掉了思维链,这意味着它只能做“系统一”式的直觉判断,不能做深度推理。下面把这件事拆开讲清楚。


decode循环到底烧掉了多少钱

先搞清楚大模型推理为什么慢。

现代大模型推理分两个阶段。第一阶段叫prefill,模型把你的输入prompt一次性吃进去,GPU的矩阵乘法单元跑得满满的,效率很高。第二阶段叫decode,模型开始一个token一个token往外吐,每吐一个token,都要把模型的全部参数从显存里搬到计算单元过一遍。

问题就出在这里。

H100的算力标称接近1000 TFLOPS,但显存带宽只有3.35 TB/s,decode阶段每生成一个token需要搬动700亿次参数,计算单元大部分时间在等数据。这意味着什么?你花整张H100的钱,实际计算利用率可能连5%都不到。

更荒诞的是,你要的只是三个判断:一个布尔值、一个三选一、一个1到5的分数。加起来的信息量不到10个比特。但模型要吐两三百个token才能凑出一段合法JSON,其中花括号、引号、字段名、逗号这些语法脚手架占了95%以上。

这就好比你去餐厅点一碗米饭,厨师非要先给你写一份食材清单、烹饪步骤、营养分析报告,最后才把米饭端上来。你要的是米饭,不是报告!


约束解码只治了发烧没治炎症

你可能会说:现在不是有结构化输出吗?OpenAI的JSON mode、Outlines、Guidance、SGLang、llama.cpp的grammar约束,都能保证输出严格符合schema,不会跑偏。

对,但它们只解决了格式正确性问题,没有解决速度问题。

Outlines这类工具的做法叫约束解码。在每一步生成token的时候,它用一个有限状态自动机去屏蔽掉不合法的logits,比如在字段名位置只允许出现schema里定义的字段名对应的token,在布尔值位置只允许出现true或false对应的token。

但注意,逐字生成的那个循环,一步都没少。模型还是要一个token一个token往外吐,还是要把左花括号decode出来,把引号decode出来,把字段名的每个子词decode出来。约束解码只是让每一步的候选变少了,没有让步数变少。

Guidance在每一步做token filtering,SGLang在每一步做压缩有限状态自动机匹配,三者都在既有的逐字生成框架里做局部优化。你花了大价钱买了一张GPU卡,却只用到了一小片硅;你要的只是一碗米饭,厨房却非要把整本菜谱念一遍。

事情没那么简单——Jev直接把这个decode循环干掉了。


一次前向,把判断从隐藏状态里“揪”出来

Jev的做法用一句话说清楚:把分类问题的答案,直接从隐藏状态里投影出来,不经过token生成。

具体机制是这样的。用户给一个上下文,比如客户档案加最新消息,再给一个schema,比如那三个字段。Jev把上下文用编码器走一遍,得到一组隐藏状态。然后对schema里的每一个字段,用一个投影头把隐藏状态映射成对应类型的概率分布:布尔字段映射成两个数,三选一字段映射成三个数,1到5分映射成5个数。

这些投影是并行做的,不是串行做的。三十个字段就是三十个并行的投影,一次矩阵乘法全部算完。增加评估字段几乎不会线性增加延迟。

这跟传统BERT分类器有什么区别?传统分类器的标签集合是训练时固定死的,训完就不能新增类别,也不能改类别的语义。Jev支持运行时动态指定schema,临时加一个字段,临时改一个选项的措辞,都可以。它把schema的定义也当成输入的一部分喂进去,让模型在推理时理解每个选项的语义。

延迟因此从几秒压到几十毫秒到几百毫秒。TypeSafe官方给出的端到端延迟在70毫秒到500毫秒之间,而同类任务上对话式模型往往要花上好几秒。在官方演示中,一个完整业务分支Jev耗时0.114秒、花费0.000081美元,而对照的主流大模型工作流耗时8.566秒、花费0.013880美元。

这个数量级的差异,不是优化出来的,是架构换出来的。


schema变成query向量,模型不用重训

动态schema怎么实现:把选项变成query向量!

Jev怎么做到既支持动态schema、又保持单次前向的?关键在于把schema里的选项当成query向量,而不是当成固定的输出头。

传统分类器的输出层是一个固定的权重矩阵,形状是d×C,d是隐藏维度,C是类别数。训完之后这个矩阵冻结在模型里,推理时改不了。

Jev的做法接近计算机视觉领域DETR那套集合预测的思路。用户在推理时给出的每个选项,比如refund、support、upgrade,都被嵌入成一个向量。然后用交叉注意力机制,让这些选项向量去跟上下文的隐藏状态做匹配,算出每个选项跟当前上下文的相关度。相关度经过softmax归一化,就是概率分布。

这套机制的好处是schema完全解耦。模型的权重不知道什么叫refund,也不知道什么叫banana,它只知道怎么把选项向量跟上下文对齐。你换一套schema、换一套业务,模型不用重训,直接换输入就行。

坏处是模型对选项语义的理解,完全依赖于嵌入的质量。如果两个选项的嵌入很像,比如refund跟return,模型可能就分不清。这不是幻觉,是语义模糊。


置信度不校准,if语句就是定时炸弹

Jev架构上还有一个东西比速度更值钱,叫RLCD,全称是用于校准决策的强化学习。

要理解RLCD为什么重要,先要理解一个尴尬的事实:现在的大模型,置信度基本没法用。

你让GPT-4说一个判断,再让它输出置信度,它经常给你0.95、0.99这种数字。但如果你去做校准曲线,把它所有输出0.95置信度的样本收集起来看实际准确率,可能只有70%、80%。这叫过度自信,是RLHF训练的一个已知副作用。RLHF把模型的输出分布往偏好答案的方向锐化,锐化的结果是概率被人为推高,跟真实频率脱钩。

MIT CSAIL的研究团队发现,标准的强化学习训练不仅不能帮助校准,反而会主动损害校准能力。模型在变得更强的同时,也变得更过度自信了。

RLCD的目标就是把这个偏差修回来。训练目标里除了准确率,还加入校准误差,比如期望校准误差或者布赖尔评分。让模型不光答对,还要答得诚实:说0.9置信度的时候,实际准确率就得逼近0.9;说0.6置信度的时候,实际准确率就得逼近0.6。

这个东西在生产系统里的意义大到离谱:

python
if confidence > 0.98:
    auto_execute()          # 自动执行
elif confidence > 0.70:
    ask_for_confirmation()  # 请人确认
else:
    escalate_to_human()     # 转交人工

只有当置信度是校准过的,这段代码才有意义。如果模型的0.98跟真实的0.7完全对不上号,那这些阈值就是瞎写的,业务风险敞口不可控。布赖尔评分是衡量这种偏差的标准工具,它计算模型声称的置信度与实际准确率之间的差距,越低越好。


0.98阈值后面,藏着一道残酷的算术题

再把校准置信度这件事翻译成钱来看,就更清楚了。

假设一个业务场景,自动执行一次决策,如果对了收益0,如果错了亏100块。转人工审核一次,固定成本2块。这时候自动执行的临界置信度是多少?算一下:期望损失等于(1减去p)乘以100,要让期望损失小于等于2,需要p大于等于0.98。

前提是这个p真的是校准过的。如果模型说0.98实际只有0.85,那你以为自己在省成本,实际上在批量制造错误决策。每一次自动执行都是一次亏损期望值高于人工成本的赌博。

Jev主打的RLCD想做的事情,就是让这套决策论的算式真正能落地。让软件工程师能像用一个概率数据库一样,用大模型的输出去做成本敏感路由、去做人机分工、去做风险敞口控制。

这就是为什么Jev的定位是决策引擎,不是聊天机器人。聊天机器人不需要校准,用户看着舒服就行。决策引擎必须校准,否则整个上层业务逻辑就是建在流沙上。


丢掉的思维链,才是最大的代价

讲了这么多好处,也得讲坏处,而且是根本性的坏处。

逐字生成的大模型有一个隐藏的能力,叫思维链。当模型在生成中间token的时候,它其实在用这些token作为工作记忆,做多步推理。你让GPT-4先写“让我想一想”,再写“第一步”,再写“第二步”,它的准确率会显著上升。这不是玄学,是因为多生成的token给了模型更多层的计算深度。

Jev这种单次前向的架构,没有这个能力。模型的计算深度被硬性锁死在Transformer的层数上,比如24层就是24层,不多也不少。它不能自己给自己开小差写草稿。

这意味着什么?意味着Jev适合直觉判断,不适合深度推理。

判断一段客服消息的意图,判断一封邮件是不是垃圾邮件,判断一个交易的欺诈风险,这些是直觉判断的活,Jev能干得又快又好。但如果你要判断的东西需要多步骤演绎,比如“根据这段合同条款和这段案例法,判断被告是否违约”,这种问题Jev大概率打不过一个开了思维链的推理型大模型。

学术研究已经证明,当串行计算的深度超出一个Transformer单次前向传播的能力时,这种计算必须被外部化,这正是思维链做的事情。单次前向推理范式存在固有的容量溢出瓶颈。

选架构之前,先想清楚你要解决的是什么问题!


字段之间的依赖关系,也是个坑

除了推理深度的限制,还有一个隐蔽的坑:变量之间的条件依赖。

在逐字生成里,模型输出的每一个后续token,都能看到前面所有已经生成的token。如果它先输出了意图是退款,再输出紧急程度的时候,是可以基于前面的退款来调整判断的。数学上,联合概率被自然分解成条件概率的乘积。

Jev的并行输出没有这个能力。三十个字段的概率分布,是同一次前向传播里独立算出来的,字段之间没有条件依赖。如果你的业务逻辑是“意图是退款的时候,紧急程度要根据退款金额判断;意图是支持的时候,紧急程度要根据宕机时长判断”,Jev一次搞不定,得拆成两次调用:先判断意图,拿到结果之后再根据意图选择第二次调用的schema。

这就把原本一次前向的优势又切碎了。当然,两次前向还是比三百个token的decode快得多,但架构上的干净利落被打了折扣。

工程实践里,这类条件依赖的场景,最后往往会变成一个由若干次Jev调用组成的有向无环图,每个节点是一次分类,边是数据依赖。这跟传统的提示链在拓扑上是一样的,只不过每个节点的延迟被压到了几十毫秒。


“不会幻觉”这句话,得拆开看

Jev的宣传里有一句“不会幻觉”,这句话得拆开看。

正确的部分是:Jev不会输出schema定义之外的选项。你规定选项只有refund、support、upgrade,它绝对不会给你蹦出个banana。它也不会输出格式错误的JSON,不会漏引号,不会多逗号,不会把布尔字段写成字符串。这类语法层面的幻觉,被架构从根上消除了。

不正确的部分是:语义层面的错误分类,Jev照样会犯。

用户明明在抱怨物流慢,Jev可能识别成退款意图;用户明明想升级套餐,Jev可能识别成支持意图。这些都是合法选项,都在schema之内,但都是错的。这种错误不叫幻觉,叫错分类,是所有分类模型都会有的问题。

第三方独立评测机构jev-benchmarks的测试数据揭示了更复杂的图景。在AG News数据集上,Jev准确率达到0.910,大幅领先GLiNER2.5的0.700;在72标签的Banking77数据集上,Jev准确率0.870对比0.610。但在DAIR Emotion六标签数据集上,两者准确率差异不显著,而Jev的布赖尔评分反而更差,为0.846对比0.668,并且在16%的样本上给真实标签赋了零概率。

买之前得看清楚,别被话术带跑了!


跟Outlines、SGLang比,护城河到底在哪

回到一开始的对比,Jev跟Outlines、Guidance、SGLang这些结构化输出方案的核心差异,可以精确到一个操作:能不能跳过decode循环。

Outlines在decode每一步做logits mask,Guidance在decode每一步做token filtering,SGLang在decode每一步做压缩有限状态自动机匹配。三者的共同点是decode循环还在,都是在既有的逐字生成框架里做局部优化。

Jev是把decode循环整个替换掉,用一次并行的交叉注意力投影代替几百步的串行decode。这个差异不是“更快一点”,是“数量级不同”。前者能把三百个token的生成压到两百个token的时间,后者能把三百个token的生成压到一次前向的时间。

如果你要的是自然语言生成,是给用户看的回复,是需要连贯长文的场景,Outlines这类方案还是首选,因为你确实需要语言。如果你要的是决策变量,是给下游代码消费的结构化数据,是不需要人读的中间结果,Jev这类架构才是对的抽象。

工程选型的原则很简单:如果输出的最终消费者是人的眼睛,用逐字生成加约束解码;如果输出的最终消费者是if语句和数据库列,用单次前向的决策引擎。


校准曲线在分布外会弯成什么样

Jev的基准测试里,报了70到500毫秒的延迟区间,也报了大幅的成本下降。但有一个数字始终没有公开:在校准置信度这项指标上,Jev在分布外样本上的表现,跟分布内样本相比,会退化多少?

学术研究表明,奖励模型在分布偏移下准确率严格下降,分布外响应造成的下降幅度大于分布外提示,而且校准在分布外会因过度自信而恶化。一些校准技术被证明在分布外任务上校准效果很差。

这个数字关键到什么程度?直接决定了Jev能不能用于真实业务的长尾场景。生产环境里的输入永远在漂移,用户永远在造出训练集里没见过的表达方式。如果Jev在见过的数据上校准良好、在没见过的数据上置信度虚高,那前面所有关于自动执行阈值的推理,都得重新算一遍。

这个数据没披露之前,敢把决策阈值调到0.98以上就自动执行的人,可能得先自己跑一批影子流量测一下。别听宣传,去看你自己业务数据上的校准曲线。这条曲线的形状,决定了你到底能不能睡个安稳觉。布赖尔评分是衡量这种偏差的标准工具,它计算模型声称的置信度与实际准确率之间的差距,越低越好。

这条曲线在分布外会弯成什么样,才是决定Jev能不能真正落地的终极问题!