jev不写文本只做判断
文章目录
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 传送门http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
上周五我刷HN的时候,首页蹦出来一个东西,点进去一看——好家伙,发布三天1863分,评论快500条。
一家叫TypeSafe AI的公司,搞了个模型叫Jev。我当时的反应是:又来?现在是个模型都敢上HN是吧。
结果越看越不对劲,这玩意儿好像真不是PPT。
1 这玩意儿到底卖的什么药
先说它的卖点,你品品离不离谱:
- 不生成一个字。对,你没看错,不生成文本。
- 只输出"选哪个 + 有多确定"
- 输出token免费,输入百万token才4.2美分
- 延迟70到500毫秒,官方说比LLM快最多193.6倍、便宜444.6倍
- 还号称"零幻觉"
我看到"零幻觉"三个字的时候,手里的咖啡差点没端住。这就好比一个外卖小哥跟你说"我送的外卖从来不会凉",不是不可能,是你得先搞清楚他是不是根本没出餐。
然后我去评论区翻,发现创始人本人在那儿挨个回帖,ID叫CompleteSkeptic。我盯着这个ID看了半天——CompleteSkeptic,完全怀疑论者,跟Dario Amodei的对仗程度被网友吐槽了一整楼。一个做AI的给自己起名叫"彻底怀疑论者",这就跟开酒吧的老板自己滴酒不沾一样,多少有点黑色幽默。
更离谱的是,Browser Use团队三天之内就把集成做出来了,还有好几个独立复现项目冒出来。一个新模型发布三天社区就这反应,我上一次见还是某个AI画图工具出来的时候。
我花了两天把官方文档、HN讨论、源码、第三方实测全翻了一遍,结论先放这儿:
方向大概率是真的,数据有水分,"零幻觉"是文字游戏。你拿它当"带概率的智能if语句"用,血赚;拿它当小号GPT用,准备翻车。
2 它和普通大模型到底差在哪
名字这事儿我得提一嘴。Jev这个名字来自经济学家杰文斯,就是那个"智能越便宜→用例越爆发"的杰文斯悖论。顺便说,LLM是《思考快与慢》里的System 2——慢、深、逐token推理;Jev想干的是System 1——快、直觉、直接给判断。
所以它不是"加了输出限制的LLM",而是另一类东西。创始人自己在HN上说的原话:
it is just a model, no harness yet 😉 it is a structured data model, but technically not a language model (it doesn’t generate language)
调用链完全不一样。普通LLM是:
prompt ──自回归逐token生成──▶ JSON字符串 ──解析/校验/失败重试──▶ 决策
Jev是:
state ──一次前向传播,所有问题并行──▶ 带类型的答案 + 概率分布
你品品这个区别。普通LLM就像你让一个实习生写周报,他先写一堆废话,你再从中提炼重点,提炼不出来还得让他重写。Jev是你直接问"这周干了啥,打个分",他当场给你个数,不带废话的那种。
| 维度 | 普通LLM | Jev |
|---|---|---|
| 训练方法 | RLHF / RLVR | RLCD(校准决策强化学习) |
| 输出 | 自由文本,得自己解析 | Choice/Score/Boolean,结构先于生成存在 |
| 采样 | 逐token自回归 | 所有答案一次并行算出 |
| 端到端延迟 | 3秒到329秒 | 70~500毫秒 |
| 幻觉 | 会瞎编 | 不会编类型外的值(但会错,后面细说) |
| 置信度 | 过度自信、忽上忽下 | 每个答案带校准过的置信度 |
3 API长什么样
整个模型就三种问题类型,官方叫primitives:
- boolean(官方叫Noul,不知道为啥起这名儿):是还是否?返回P(true),0到1之间
- choice:选哪个选项?返回选项 + 全分布 + 置信度
- score:打几分?返回分数(可以落在两级之间)+ 分布 + 置信度
一个真实的请求长这样,拿客服工单分诊举例子:
{
"state": {
"ticket": { "subject": "重复扣款", "messages": ["我被人扣了两次钱,赶紧处理"] },
"order": { "id": "A-104", "charges": [49, 49] },
"refund_policy": "重复扣款可全额退款……"
},
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems"
}
},
"is_urgent": { "type": "noul", "instructions": "The message conveys urgency" },
"frustration": {
"type": "score",
"instructions": "How frustrated is the customer?",
"criteria": ["Calm", "Frustrated but civil", "Very angry"]
}
}
}
三种类型混着发,一次请求全部并行返回。我看完这个设计的第一反应是:这玩意儿太懂程序员了。你想想,平时你写代码调LLM,是不是经常要一个问题拆成好几次调用,每次都等半天?Jev直接把十几个问题打包发过去,一次全给你。
官方文档里有几个细节特别值得划线,我挑几个重点说:
3.1 问题ID模型看不到
这个有点反直觉。你写的key,比如上面的"department",模型根本看不到。模型只看instructions里写了啥。所以instructions必须自包含,不能写"这个字段是干嘛的"然后指望模型猜。
但你可以用ticket.messages[0].text这种点路径直接引用state里的字段,这个设计倒是挺顺手的。
3.2 13个问题打包发,比拆13次便宜11.5倍
对,你没看错。因为所有问题共享state,而且独立并行评估,加问题几乎不增加延迟——只多付问题本身的token。官方管这个叫speculative fan-out,翻译过来就是"把代码可能需要的所有问题都发出去,代码自己挑着用"。
这就好比你去奶茶店,不是点一杯等一杯,而是把菜单上所有你可能想喝的都点一遍,喝完剩下的倒掉。听起来很浪费,但每杯只要一毛钱的时候,你就不觉得浪费了。
3.3 几个容易踩的坑
- state + questions共享约32K token预算,别塞太多东西进去
- boolean没有confidence字段,P(true)=0.5就是五五开,不是"中等程度"。想量化程度请用score
- 只吃文本,不支持图像音频。训练以英语为主,中日韩文本能用但准确率更低——对中文场景这是个实打实的限制
- choice的选项基数上限255,再多就得两段式:先独立打分再显式选择
255这个上限我看到的时候笑了。懂行的朋友应该知道这就是个字节上限,选项是在softmax维度上展开的,255就是8位。一个号称新架构的模型,硬编码限制跟老计算机的字节数撞车了,多少有点浪漫。
4 为什么快?"零幻觉"为什么要打引号
4.1 快的原因特别朴素
没有自回归。就这么简单。
LLM生成100个token要跑100次前向,Jev对所有问题只跑一次前向,答案并行出。输出便宜到"too cheap to meter"——输出token干脆免费。
这就跟你考试一样。普通LLM是一道一道题做,做完一道翻下一道;Jev是所有题同时出答案,因为它根本不"写"答案,只是"判"答案。
4.2 "零幻觉"是文字游戏
但也不是纯吹。它的准确表述是:模型不可能输出选项集合之外的值。分布永远定义在你给的criteria上,这是数学保证。
所以它不会"编造字段、编造选项、编造JSON"——那些LLM特有的幻觉它确实没有。
但是——重点来了——它可以在选项之内高置信度地选错。
错误形式从"编造文本"变成了"自信地做错决定"。后者其实更隐蔽,因为你拿到的结果格式完美、字段齐全、看起来特别专业,但就是错的,而且它还特别有信心。
这就跟那种写PPT特别漂亮但方案全错的咨询顾问一样——格式上挑不出毛病,内容上全是坑。
4.3 架构到底长啥样
官方没公布架构,只给了RLCD这个名词。目前可信度比较高的拼图来自两个地方:
一是HN上引擎圈大佬的推测:本质是Transformer encoder + 分类/回归头,每个问题相当于一次单token补全,直接读logits,再针对校准做了后训练。
二是独立复现项目jevlike(717星)实现的同形架构,画出来大概是这样:
┌──────────── context tokens(state 编码)────────────┐
option A ──▶ [attention 池化] ──▶ 共享打分头(dot product) ──▶ score ┐
option B ──▶ [attention 池化] ──▶ 共享打分头 ──▶ score ┼─▶ softmax ──▶ P(A),P(B),P(C)
option C ──▶ [attention 池化] ──▶ 共享打分头 ──▶ score ┘
每个选项作为query去attend state的token,一个共享打分头出分,softmax归一化。
如果Jev真是这个形态,那它确实"不是语言模型"——不预测下一个token。但也不是什么魔法,护城河问题就变得尖锐了。这个后面第五节细说。
另外HN有人发现官网首页藏了段base64的快速平方根倒数代码——就是那个雷神之锤里的经典魔法数字。一个叫typesafe的网站放了个type punning的算法,说明团队是懂梗的,而且梗得很深。
5 扒源码:AI SDK底层是怎么调的
这是我这两天觉得最有意思的部分。AI SDK 7.0.105+加了个实验性API叫experimental_evaluate,Jev是第一个原生接入的模型。我直接去vercel/ai仓库把链路翻出来了。
import { experimental_evaluate as evaluate } from 'ai';
const result = await evaluate({
model: 'typesafe-ai/jev', // 字符串ID → 默认走Vercel AI Gateway
state: 'The support agent issued a full refund to the customer.',
questions: {
refunded: { type: 'boolean', instructions: 'Was a refund issued?' },
},
providerOptions: { gateway: { zeroDataRetention: true } },
});
result.answers.refunded // { probability: 0.97 }
result.providerMetadata.typesafe.confidence // choice/score才有置信度
字符串模型ID会解析到Gateway的GatewayEvaluationModel,它干的活非常薄——就是把state和questions原样POST出去。源码节选:
// packages/gateway/src/gateway-evaluation-model.ts(节选)
async doEvaluate({ state, questions, headers, abortSignal, providerOptions }) {
const { value: responseBody } = await postJsonToApi({
url: `${this.config.baseURL}/evaluation-model`, // 就一个端点
headers: combineHeaders(..., {
'ai-evaluation-model-specification-version': '4',
'ai-model-id': this.modelId, // typesafe-ai/jev
}),
body: { state, questions, ...(providerOptions ? { providerOptions } : {}) },
successfulResponseHandler: createJsonResponseHandler(gatewayEvaluationResponseSchema),
...
});
return { answers: responseBody.answers, /* rounding / usage / providerMetadata */ };
}
响应schema用zod定义得很清楚——每种问题一个判别联合:
z.discriminatedUnion('type', [
z.object({ type: z.literal('choice'), choice: z.string(), probabilities: ... }),
z.object({ type: z.literal('score'), score: z.number(), probabilities: ... }),
z.object({ type: z.literal('boolean'), probability: z.number() }),
])
AI SDK拿到响应后还会做概率校验:分布求和必须为1、score必须等于分布的加权均值,默认容差1e-6。也就是说"类型安全"这个约束在SDK层又兜了一道底。
还有个容易忽略的点:evaluate不是Jev专属API。OpenAI、Anthropic、Google的模型也实现了evaluationModel接口——但走的是"一次prompt评估所有问题"的LLM适配器,默认reasoning: ‘none’,并没有Jev那种逐问题独立并行的语义。
这套设计基本明牌了Vercel的判断:evaluate是在给"System One"这个接口形态铺路,Jev只是第一个原生实现。
一句话总结这层抽象:generateText是"帮我写",evaluate是"帮我判"。后者没有流式、没有批量无关输入、没有部分成功——因为它压根不是聊天。
顺带一提,不走AI SDK的话,TypeSafe原生HTTP API也就一个端点:POST /v1/systemone,SDK默认模型别名是jev-latest。就一个端点,简单到不像个商用产品,倒像个早期demo。
6 社区这三天都在拿它玩什么
一个模型发布三天,社区玩出来的花活比它官方demo还多,我挑几个有意思的说:
6.1 Doom,官方亲自下场
官方demo就是玩Doom。把游戏状态喂成结构化数据,每秒查10次"往哪走、开不开枪",成本约7美元一小时。
HN评论区两极分化:一派说"游戏QA要变天了",另一派说"你们这不就是reinvent了外挂吗"。我看完觉得后者说的也没毛病——一个AI直接读内存状态做决策,这不就是高级版透视挂嘛。
6.2 Browser Use官方集成
浏览器agent的动作空间被做成"操作+目标"两组choice问题,一次网络往返出两个决策,全程无截图。Google Flights完整搜一遍苏黎世到伦敦机票只要7.1秒,含加载等待。
这个项目两天2700+星。我去翻了一下代码,思路确实漂亮——以前浏览器agent是"截图→看图→想动作→执行",现在是"读DOM→直接判动作→执行",省掉了最贵的视觉那一环。
6.3 宝可梦对战
X上有个叫@sid19arya0的老哥实测,Jev打赢了Opus 5,成本约1/820,速度快约10倍。作者还发现它的第二、第三选项也是合理战术。
1/820的成本,这个数字我盯着看了半天。就好比你打麻将,旁边有个军师帮你出主意,他的主意比隔壁桌那个清华毕业的准,而且收费是人家的八百二十分之一。这生意谁不做?
6.4 Claude Code上下文压缩插件
一天1500+星。思路相当聪明——不找LLM写有损的压缩小作文,而是把整个对话塞进state,对每个工具调用并行发两个noul问题:“这个调用还有用吗?”"这个结果还需要原文吗?"按置信度阈值决定保留、截断、删除。保留下来的内容100%原文,路径、报错、命令一个字不丢。
作者说TypeSafe联创也下场点赞了。我看完这个的第一反应是:这才是Jev该干的事啊!不是去打游戏,是干那些"量大、重复、但又需要点语义判断"的活。
6.5 模型路由,目前公认最稳的用法
用Jev分类意图、估算难度,把简单请求路由给便宜模型、难的升级给贵模型。HN上有人开源了路由demo。
这个用法我特别能理解。就像你公司前台,新来的实习生一看邮件是"中午吃啥"就直接回了,一看是"老板要并购我们"就转给老板。Jev干的就是前台的活,而且比前台便宜、比前台快、还不摸鱼。
6.6 复现热潮
jevlike——独立训了个同形模型,还能从图像patch打分玩Doom。Mini-Jev——本地LLM模拟Jev接口。open-jev——Gemma 3 4B版本。Sokit——Jev版LangChain。DSPy插件……
一个闭源模型发布三天长出这些东西,说明"这个接口形态有需求"是行业共识。不是大家都闲得慌,是这个接口形态确实戳中了痛点。
关于"贪吃蛇/自动驾驶"的demo我没找到一手出处,DNF。可以确认的是HN上"这玩意能不能开车"的讨论很热,好几个人对标Tesla FSD的技术栈。Doom这类实时控制demo是同一路线。
7 泼冷水时间
光看demo容易上头,说几个实测翻车的。
7.1 扑克:做得非常扎实的打脸
有个老哥用德州扑克求解器当地面真值,测了150个决策点。结果:
- Jev与求解器最优解的吻合率只有63%
- 手持天顺(nuts,怎么打都不会输的牌)时,16次运行16次全下——正确动作是check。置信度约62%
- 最扎心的是置信度倒挂:在它错得最离谱的地方给出最高置信度(0.86),在它最接近正确的地方反而只有0.09
- 而且错误高度可复现——这不是噪声,是系统性偏差
我看到"置信度倒挂"这五个字的时候,倒吸一口凉气。这就好比一个医生,在你得感冒的时候说"我99%确定你没事",在你得癌症的时候说"我50%确定你没事"。他越自信的时候你越要小心。
还有更离谱的:只有把结论直接喂进state(比如"Flush, Ace high"、“hero has 0 outs”),它的判断才明显改善。它没法从原始牌面自己推理出"我输了",得有人把答案嚼碎喂到嘴边。
在一个具体陷阱点上,关掉思考的Haiku 4.5都能选对,Jev不行。作者的暴论:一个"能check就check"的一行规则都能打赢Jev。
一行规则打一个号称新范式的AI模型。这事儿听着像段子,但人家是拿数据测出来的。
7.2 迷宫都解不明白
HN用户发现Jev连单步迷宫都解不稳,推测训练分布里压根没有空间推理。
一个1863分的明星模型,连简单迷宫都走不明白。这再次验证了一个道理:模型在什么数据上训的,就只会干什么事。你没让它走过迷宫,它就是不会走,跟聪不聪明没关系。
7.3 护城河问题
Sean Goedecke的分析流传很广:快结构化输出这事现在就能做——约束解码 + 只生成一个受限token + 预填充。他自己用Qwen2.5-1.5B就拿到2-3倍加速。
如果Jev本质是"encoder + 打分头",各家实验室随时能跟进。另外它没有思维链、没有测试时计算,智能上限被锁死在"非推理LLM"水平,别指望它scaling出新智能。
这个判断挺狠的。意思就是:你这个东西虽然快、虽然便宜,但你天花板就在那儿了,跟GPT这种"越训越聪明"的模型不是一个赛道。你是快马,人家是汽车,汽车再慢也是汽车。
7.4 数据全是自报的
还有一点要记得:官网那些193.6x、444.6x全是自报。评测的参考答案是GPT-6 Astra和Claude Fable 5.1开高推理模式的平均,工作流还是自家团队手搓的。
官方在另一篇博客里把"拒绝刷榜"讲得头头是道,顺便把各家benchmark作弊史捋了一遍,Llama 4私有变体、GLM-5.2设计榜那事儿都有点名。姿态是好姿态,但截至发文,官方那套成本/速度数据依然没有独立复现。
X上倒是流传一份自称"一万次API调用黑盒探测"的结果——MMLU-Pro准确率84.6%、1200道MMLU题上期望校准误差仅0.0313、推测是稀疏MoE约100亿活跃参数。我翻了HN和搜索引擎都没找到原始出处,无法核验。
刷到先当故事听。这大概就是热门模型发布后信息环境的常态——官方吹一通,社区编一通,你永远不知道哪句是真的。
8 到底什么场景值得上
我的判断,结合官方文档加社区实测:
8.1 适合的场景
- LLM前置层:意图分类、模型路由、难度估算、漏斗过滤。HN上的共识是能替掉pipeline里40%~70%的LLM调用
- 一句话个性化与"语义列":用户一句"不看引战、不看币圈"就是个私人邮件分类器。简历初筛、评论属性抽取这类批处理,整张表扫一遍几分钟几美元,之后就能用SQL查
- 验证/护栏:审LLM输出、测越狱、查引用——每次检查成本是LLM调用的零头
- 高频实时决策:游戏AI、agent每步动作选择(browser-use已经给出最佳实践)
- 大语料map-reduce:$0.042/MTok的输入价,扫库才扫得起
这些场景有个共同点:都是"量大、重复、但又需要点语义判断"的活。Jev干这个就是降维打击,就像你拿激光刀切豆腐——大材小用,但切得又快又齐。
8.2 不适合的场景
任何需要生成文本、需要推理链、需要从原始信息推出隐含结论、或者你没有标注数据、没校准过置信度就敢全自动执行的场景。
简单说:它是个判官,不是个写手。你让它判案可以,让它写结案陈词就不行。
8.3 上之前的三条军规
第一条:拿你自己业务的50~100个带答案样本做私有评测。
demo表现不可外推,扑克实测的教训就是逐用例验证。你看别人打麻将赢钱,不代表你上场也能赢,因为你的牌跟人家不一样。
第二条:校准置信度。
Vercel changelog原话也是这个建议。低置信度的请求一律路由去人工。官方文档其实自己承认了:校准是针对预测群体衡量的,不保证单个答案正确——所以阈值必须在你自己的数据上调。
翻译成人话就是:它说它90%确定的时候,你别真信它90%确定,你得拿自己的数据测一遍,看它说90%的时候实际对了多少。
第三条:善用speculative fan-out和composite scoring。
一次发全部问题,多个score加权合成复杂判断,把"判断逻辑"放在代码里而不是模型里。
概率路由的标准姿势,来自AI SDK官方文档:
// 概率路由的标准姿势
const { choice, probabilities } = result.answers.department;
if ((probabilities?.[choice] ?? 0) >= 0.9) {
route(choice); // 高置信 → 自动执行
} else {
queueForHumanReview(result); // 低置信 → 人工
}
这段代码我建议你存下来。不是因为它多复杂,是因为它代表了一种新的工程范式——以前你写if-else是硬编码规则,现在你写if-else是基于模型概率的。规则还是那些规则,但判断从"程序员想的"变成了"模型算的"。
9 写在最后
Jev让我兴奋的点不是"它多聪明"——它不聪明,扑克都打不明白。
而是那个引用了Nelson Elhage的思路:快的软件不是把旧事干得更快,而是催生全新的任务。
当"往任意决策点注入一次100ms、一厘钱的智能判断"变成一个API调用,会有大量以前不值得做的程序变得值得做。这是把它叫做"新的计算原语"而不是"新模型"的原因。
三天时间:HN 1863分、Browser Use官方下场、一堆复现项目——方向被认可的速度前所未有。
但它是v1:闭源、只有文本输入、置信度要自己校准、护城河存疑、所有性能数据自报。
适合现在做的事情是拿边缘场景试水,而不是把核心链路押上去。
就跟你买新家电一样,刚出来的第一代产品,你先拿个不重要的场景试试水——买个洗碗机先洗袜子,别上来就洗貂皮大衣。洗坏了袜子不心疼,洗坏了大衣你哭都来不及。
有实测过的朋友欢迎评论区交流,尤其想看中文文本上的准确率实测——官方只说"非英语会更低",这个"更低"到底多少,值得有人测一测。
毕竟,吹出来的数字再好看,不如自己跑一遍来得实在。
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 传送门http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
更多推荐


所有评论(0)