
声明:本文所有数据截至 2026-09-18,模型 9 月 15 日才发布,处于早期访问阶段。性能数据基本来自官方自报,我尽量标注了来源和水分。
上周五(9.15),一家叫 TypeSafe AI 的公司在 HN 上发了篇博客,一天冲到 1863 分、491 条评论。主角是个叫 Jev 的模型,卖点听起来很离谱:
- 不生成文本。只输出"选择 + 置信度"
- 输出 token 免费,输入 $0.042/百万 token
- 延迟 70~500ms,官方宣称比 LLM 快最多 193.6 倍、便宜 444.6 倍
- "零幻觉" ------类型错误在数学上不可能发生
我第一反应是骗子,第二反应是去看 HN 评论,然后发现创始人 Diogo Almeida 本人在评论区挨个答疑(他的 ID 是 CompleteSkeptic,顺带一提,这个名字和 Dario Amodei 的对仗程度被 HN 网友吐槽了很久),Browser Use 团队三天内就把官方集成做了出来,还冒出来好几个独立复现项目。
这篇文章是我这两天把官方文档、HN 讨论、源码、第三方实测翻完之后的调研笔记。结论先放这里:方向大概率是真的,数据有水分,"零幻觉"是文字游戏,当"带概率的智能 if 语句"用是赚的,当小号 GPT 用是要翻车的。
一、Jev 到底是个啥
名字来自《思考,快与慢》:LLM 是 System 2------慢、深、逐 token 推理;Jev 想做 System 1------快、直觉、直接给判断。"Jev" 则取自经济学家 Jevons(智能越便宜 → 用例越爆发的 Jevons 悖论)。
关键认知:这不是"加了输出限制的 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)
两者的调用链完全不同:
text
LLM 的用法:
prompt ──自回归逐token生成──▶ JSON字符串 ──解析/校验/失败重试──▶ 决策
Jev 的用法:
state ──一次前向传播,所有问题并行──▶ 带类型的答案 + 概率分布
| LLM | Jev | |
|---|---|---|
| 训练方法 | RLHF / RLVR | RLCD(校准决策强化学习) |
| 输出 | 自由文本,需解析验证 | Choice / Score / Boolean,结构先于生成存在 |
| 采样方式 | 逐 token 自回归 | 所有答案一次并行算出,单次查询 |
| 端到端延迟 | 3~329s | 70~500ms |
| 幻觉 | 会编造 | 不会产生类型外的值(但会错,后文细说) |
| 置信度 | 过度自信、不稳定 | 每个答案带校准过的置信度 |
二、API 长什么样:三种原语
整个模型只有三种问题类型(官方文档叫 primitives):
| 类型 | 回答的问题 | 返回 |
|---|---|---|
| boolean(Noul) | 是还是否? | P(true),0~1 |
| choice | 选哪个选项? | 选项 + 全分布 + 置信度 |
| score | 打几分? | 分数(可落在两级之间)+ 分布 + 置信度 |
一个真实的请求长这样(客服工单分诊场景):
json
{
"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"]
}
}
}
三种类型混着发,一次请求全部并行返回。官方文档里有几个特别值得划线的细节:
- 问题 ID 不会发给模型 。ID 只是给你的代码用的 key,模型只看
instructions,所以 instructions 必须自包含。可以用ticket.messages[0].text这种点路径直接引用 state 里的字段。 - 13 个问题合并成一次请求,比拆 13 次调用便宜 11.5 倍、快 9.6 倍。因为所有问题共享 state 且独立并行评估,加问题几乎不增加延迟------只多付问题本身的 token。官方管这个叫 speculative fan-out:把代码可能需要的所有问题都发出去,代码自己挑着用。
- state + questions 共享约 32K token 预算。
- boolean 没有 confidence 字段,P(true) = 0.5 只表示"五五开",不是"中等程度"。想量化程度(比如愤怒等级)请用 score。
- 只吃文本,不支持图像/音频 ;训练以英语为主,中日韩文本可接受但准确率更低------这对中文场景是个实打实的限制。
- choice 的选项基数上限 255,再高要用两段式(先独立打分再显式选择)。
三、为什么快?为什么"零幻觉"要打引号?
快的原因很朴素:没有自回归。 LLM 生成 100 个 token 要跑 100 次前向;Jev 对所有问题只跑一次前向,答案(可以理解为读概率头/logits,而不是采样成文字)并行出。输出因此"too cheap to meter"------输出 token 干脆免费。
"零幻觉"是语义游戏,但也不是纯吹。 它的准确表述是:模型不可能输出选项集合之外的值 (分布永远定义在你给的 criteria 上,这是数学保证),所以不存在"编造字段、编造选项、编造 JSON"这种 LLM 特有的幻觉。但是------它可以在选项之内高置信度地选错。错误形式从"编造文本"变成了"自信地做错决定",后者其实更隐蔽,后面第四节有实测打脸案例。
架构官方没公布,只给了 RLCD 这个名词。目前可信度比较高的拼图来自两个地方:
- HN 上引擎圈大佬们的推测:本质是 Transformer encoder + 分类/回归头,"每个问题相当于一次单 token 补全,直接读 logits",再针对校准做了后训练;
- 独立复现项目 jevlike(717 星)实现的同形架构,画出来是这样:
text
┌──────────── 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 归一化。这正是"基数 255 上限"的来源------选项是在 softmax 维度上展开的。如果 Jev 真是这个形态,那它确实"不是语言模型"(不预测下一个 token),但也不是什么魔法,护城河问题就变得尖锐(见第五节)。
另外 HN 有人发现官网首页藏了段 base64 的雷神之锤快速平方根倒数代码------一个叫 typesafe 的网站放了个 type punning 的算法,团队是懂梗的。
四、AI SDK 底层是怎么调的(源码扒皮)
这是我这两天觉得最有意思的部分。AI SDK 7.0.105+ 加了个实验性 API experimental_evaluate,Jev 是第一个原生接入的模型。我直接去 vercel/ai 仓库把链路翻出来了:
ts
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 出去(源码):
ts
// 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 定义得很清楚------每种问题一个判别联合:
ts
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。
五、X 和社区这三天都在拿它玩什么
- Doom(官方 demo) :把游戏状态喂成结构化数据,每秒查 10 次"往哪走、开不开枪",成本约 $7/小时。HN 评论两极:"游戏 QA 要变天了" vs "你们 reinvent 了外挂"。
- Browser Use 官方集成 jev-ultrafast(2 天 2700+ 星) :浏览器 agent 的动作空间被做成"操作 + 目标"两组 choice 问题,一次网络往返出两个决策,全程无截图。Google Flights 完整搜一遍苏黎世→伦敦机票只要 7.1 秒(含加载等待)。
- 宝可梦对战 :X 上 @sid19arya0 的实测,Jev 打赢了 Opus 5,成本约 1/820,速度快约 10 倍。作者还发现它的第二、第三选项也是合理战术。
- Claude Code 上下文压缩插件 fast-jev-compaction(一天 1500+ 星) :思路相当聪明------不找 LLM 写有损的压缩小作文,而是把整个对话塞进 state,对每个工具调用并行发两个 noul 问题("这个调用还有用吗?这个结果还需要原文吗?"),按置信度阈值决定保留/截断/删除,保留下来的内容 100% 原文,路径、报错、命令一个字不丢。作者称 TypeSafe 联创也下场点赞了。
- 模型路由:用 Jev 分类意图、估算难度,把简单请求路由给便宜模型、难的升级给贵模型(HN 上有人开源了路由 demo)。这是目前公认最稳的用法。
- 复现热潮:jevlike(独立训了个同形模型,还能从图像 patch 打分玩 Doom)、Mini-Jev(本地 LLM 模拟 Jev 接口)、open-jev(Gemma 3 4B)、Sokit(Jev 版 LangChain)、DSPy 插件......一个闭源模型发布三天长出这些,说明"这个接口形态有需求"是行业共识。
关于"贪吃蛇/自动驾驶"的 demo 我没找到一手出处,DNF。可以确认的是 HN 上"这玩意能不能开车"的讨论很热(好几个人对标 Tesla FSD 的技术栈),Doom 这类实时控制 demo 是同一路线。
六、泼冷水时间:扑克桌上的鱼
光看 demo 容易上头,说两个实测翻车的。
第一个是扑克,做得非常扎实。作者用德州扑克求解器当地面真值,测了 150 个决策点:
- Jev 与求解器最优解的吻合率只有 63% ;
- 手持天顺(nuts,怎么打都不会输的牌)时,16 次运行 16 次全下(正确动作是 check),置信度 ~62%;
- 最扎心的是置信度倒挂:在它错得最离谱的地方给出最高置信度(0.86),在它最接近正确的地方反而只有 0.09。而且错误高度可复现------这不是噪声,是系统性偏差;
- 只有把结论直接喂进 state(比如
"Flush, Ace high"、"hero has 0 outs"),它的判断才明显改善。它没法从原始牌面自己推理出"我输了",得有人把答案嚼碎喂到嘴边; - 在一个具体陷阱点上,关掉思考的 Haiku 4.5 都能选对,Jev 不行。作者的暴论:一个"能 check 就 check"的一行规则都能打赢 Jev。
第二个是迷宫。HN 用户发现 Jev 连单步迷宫都解不稳,推测训练分布里压根没有空间推理。
第三是护城河问题 。Sean Goedecke 的分析流传很广:快结构化输出这事现在就能做 ------约束解码 + 只生成一个受限 token + 预填充,他自己用 Qwen2.5-1.5B 就拿到 2-3 倍加速。如果 Jev 本质是"encoder + 打分头",各家实验室随时能跟进。另外它没有思维链、没有测试时计算,智能上限被锁死在"非推理 LLM"水平,别指望它scaling出新智能。
还有一点要记得:官网那些 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 和搜索引擎都没找到原始出处,无法核验,刷到先当故事听------这大概就是热门模型发布后信息环境的常态。
七、所以,什么场景值得上?
我的判断(结合官方文档 + 社区实测):
适合:
- LLM 前置层:意图分类、模型路由、难度估算、漏斗过滤------HN 上的共识是能替掉 pipeline 里 40~70% 的 LLM 调用;
- 一句话个性化与"语义列":用户一句"不看引战、不看币圈"就是个私人邮件/评论分类器;简历初筛、评论属性抽取这类批处理,整张表扫一遍几分钟几美元,之后就能用 SQL 查;
- 验证/护栏:审 LLM 输出、测越狱、查引用------每次检查成本是 LLM 调用的零头;
- 高频实时决策:游戏 AI、agent 每步动作选择(browser-use 已经给出最佳实践);
- 大语料 map-reduce:$0.042/MTok 的输入价,扫库才扫得起。
不适合 :任何需要生成文本、需要推理链、需要从原始信息推出隐含结论、或者你没有标注数据、没校准过置信度就敢全自动执行的场景。
上之前的三条军规:
- 拿你自己业务的 50~100 个带答案样本做私有评测。demo 表现不可外推,扑克实测的教训就是逐用例验证;
- 校准置信度 (Vercel changelog 原话也是这个建议),低置信度的请求一律路由去人工。官方文档其实自己承认了:校准是针对预测群体衡量的,不保证单个答案正确------所以阈值必须在你自己的数据上调;
- 善用 speculative fan-out(一次发全部问题)和 composite scoring(多个 score 加权合成复杂判断),把"判断逻辑"放在代码里而不是模型里。
ts
// 概率路由的标准姿势(来自 AI SDK 官方文档)
const { choice, probabilities } = result.answers.department;
if ((probabilities?.[choice] ?? 0) >= 0.9) {
route(choice); // 高置信 → 自动执行
} else {
queueForHumanReview(result); // 低置信 → 人工
}
八、写在最后
Jev 让我兴奋的点不是"它多聪明"------它不聪明,扑克都打不明白。而是那个引用了 Nelson Elhage 的思路:快的软件不是把旧事干得更快,而是催生全新的任务。当"往任意决策点注入一次 100ms、一厘钱的智能判断"变成一个 API 调用,会有大量以前不值得做的程序变得值得做。这是把它叫做"新的计算原语"而不是"新模型"的原因。
三天时间:HN 1863 分、Browser Use 官方下场、一堆复现项目------方向被认可的速度前所未有。但它是 v1:闭源、只有文本输入、置信度要自己校准、护城河存疑、所有性能数据自报。适合现在做的事情是拿边缘场景试水,而不是把核心链路押上去。
以上。有实测过的兄弟欢迎评论区交流,尤其想看中文文本上的准确率实测(官方只说"非英语会更低",这个"更低"到底多少,值得有人测一测)。
参考链接
- 官方发布公告:typesafe.ai/blog/introd...
- 反刷榜宣言:typesafe.ai/blog/antibe...
- 用例地图 / 原语文档 / System One 概念:docs.typesafe.ai/concepts/us...
- Claude Code 压缩插件:github.com/tamaratran/...
- 官方评测页:evals.typesafe.ai
- Vercel Changelog:vercel.com/changelog/t...
- AI SDK evaluate 文档:ai-sdk.dev/docs/ai-sdk...
- HN 讨论帖(含创始人答疑):news.ycombinator.com/item?id=497...
- browser-use 官方集成:github.com/browser-use...
- 独立逆向复现:github.com/vinnylaroug...
- 扑克实测(泼冷水向):backnotprop.com/blog/jev-po...
- Sean Goedecke 分析:www.seangoedecke.com/jev-means-s...