← 返回 Tony's Lab
发布于 2026-09-21 · TONY'S LAB
TYPESAFE AI · 2026-09-15 · EARLY ACCESS ● SYSTEM ONE MODELS

一个「不说话」的 AI:
Jev 与 System One 模型

前 OpenAI 研究员 Diogo Almeida 创办的 TypeSafe AI,把 AI 变成函数调用:非结构化状态进,类型安全决策出。不生成任何文字,只返回带校准概率的结构化答案——70 毫秒级延迟,输出免费。卡尼曼的「系统一」第一次成了代码里的 if 语句。

70–500ms
端到端响应(LLM 的 40–200×)
$0.042/MTok
输入价,输出免费
0%
类型错误——模式匹配数学上不可能错
POST /v1/systemone · PARALLEL QUERY Δ — ms
noul · is_urgent是/否 → P(是)
答案 —
choice · department三选一 + 全分布
billing 0.88 · technical 0.12 · sales 0.00
score · frustration三级打分 → 概率加权
score 1.90 · 平静 0.00 / 不满 0.10 / 非常生气 0.90
三个问题一次查询、并行输出,而非逐 token 生成——这就是「System One」的速度来源(上为示意输出,非真实 API 结果)。
01 · What

它不吐一个字,只做判断

传统 LLM 的产出是字符串——聊天、代码、还有幻觉。要用在代码里,得解析、校验、处理跑偏风险。Jev 把「生成」整个砍掉了:你预先定义好所有可能答案(选项、打分档位、是否),它读一段状态,直接返回类型安全的结构化值 + 校准概率。

造它的路线是「把 AI 当函数调用」:unstructured state in, typed probabilistic decisions out。— TypeSafe AI 发布博客

背后的训练方法叫 RLCD(Reinforcement Learning for Calibrated Decisions,详见第 03 节):优化目标不是「人觉得好听」,而是「概率与真实结果一致」——它说 0.95,就真的 95% 会中,不会张嘴就自信。

官方数字:与顶尖 LLM 对比评测中,快 193.6×、便宜 444.6×(workflow 级评测口径)。

02 · Name

名字从哪来:卡尼曼 + 一个经济学家

System One 取自丹尼尔·卡尼曼《思考,快与慢》:系统一是快速、直觉、自动化的判断(看到 2+2 秒答 4);系统二是缓慢、深思熟虑的推理(心算 37×24)。传统 LLM 是系统二,Jev 是系统一。

Jev 致敬经济学家 威廉·斯坦利·杰文斯(William Stanley Jevons)。杰文斯悖论:蒸汽机效率提升,煤炭消耗不降反升——因为更便宜的能量解锁了更多用途。TypeSafe 赌的正是这个:智能成本每降一个数量级,就解锁一个数量级的用例。

03 · RLCD

RLCD:训出一个「老实的仪器」

RLHF(人类反馈)和 RLVR(可验证奖励)都是在教模型「说得对」;RLCD(Reinforcement Learning for Calibrated Decisions,校准决策强化学习)换了目标:判断得准,而且知道自己有多没把握。这是 TypeSafe 自创的第三种后训练路线。

RLHF
人类反馈强化学习
让输出「人喜欢」。副作用:谄媚、自信幻觉、模式坍缩(mode dropping)。主创 Diogo Almeida 在 OpenAI 参与发明了它,算是自己挖坑自己填。
RLVR
可验证奖励
以有标准答案的任务(如数学题)为奖励,催生了一批推理模型——但更慢、更贵。
RLCD
校准决策强化学习
不生成文本,只输出决策 + 概率;概率与真实结果一致。TypeSafe 的第三条路。

RLCD 的三个硬约束:

类比:普通模型是口才很好的专家,问什么都敢拍胸脯(还经常拍错);RLCD 训出来的是老实仪器——读数就是它真实的把握程度。0.95 直接自动化,0.55 拉人来审核。注意校准是群体层面的:100 次说 0.95 的答案里约 95 次对,不保证单次正确
04 · Primitives

只有三种问题(够了)

noul
是 / 否
返回「是」的概率,0–1 连续值。{"noul": 0.95}
choice
多选一(最多 255 项)
返回选中项 + 全部选项的概率分布 + 置信度。
score
按档位打分(2–10 级)
返回概率加权的分值 + 各档位概率,分数可以落在档位之间。

请求 = state(要判断的内容,字符串或 JSON)+ 一组 questions。一次调用可以同时问多个互不依赖的问题,并行计算,互不干扰。

请求 · POST https://api.typesafe.ai/v1/systemone{ "state": "Help! My payouts have been failing for 3 days.", "model": "jev-latest", "questions": { "is_urgent": { "type": "noul", "instructions": "Does this convey urgency?" } } }
响应{ "model": "jev-1.13.0", "answers": { "is_urgent": { "type": "noul", "noul": 0.95 } } }
05 · Usage

一次调用,三个问题:客服工单分拣

请求 · 一条 state + 三个并行问题{ "state": { "message": "救命!我的提现已经失败三天了,钱一直没到账,我很生气!", "account": { "tier": "pro", "age_days": 400 } }, "model": "jev-latest", "questions": { "is_urgent": { "type": "noul", "instructions": "用户是否急需处理?" }, "department": { "type": "choice", "instructions": "该转给哪个团队?", "criteria": { "billing": "支付、发票、退款", "technical": "系统故障、Bug", "sales": "销售咨询" } }, "frustration": { "type": "score", "instructions": "用户愤怒程度?", "criteria": ["平静", "不满", "非常生气"] } } }

返回后,在代码里写「智能 if」——这就是 System One 的典型用法:代码掌控流程,模型只做窄判断。

python · 组合三个答案# ans 为上面请求的返回,类型安全,无需解析字符串 if ans["is_urgent"]["noul"] > 0.9 and ans["frustration"]["score"] > 1.5: escalate_to_human("high") # 又急又怒 → 直接转人工 elif ans["department"]["choice"] == "billing": route_to("billing_team") # 否则按部门路由 elif ans["department"]["confidence"] < 0.6: ask_human() # 拿不准 → 升级给人,而不是瞎猜

官方推荐的做法,精髓是三句话:

06 · Compare

和 LLM 不是替代关系,是分工

传统 LLM(系统二)System One + Jev(系统一)
训练目标RLHF / RLVR:人喜欢、程序可验证RLCD:校准的决策概率,概率与结果一致
输出字符串——灵活但需解析,会幻觉类型安全结构化值,模式匹配数学上不会错
采样串行逐 token 生成一次查询并行输出所有答案
速度端到端 3–329 秒70–500 毫秒(约 40–200× 快)
成本输出约 5× 输入价输入 $0.042/MTok,输出免费
置信度普遍过度自信、不稳定每个答案都带校准概率,高置信=高准确
适合对话、写作、代码生成、开放任务分类、路由、打分、抽取、if 判断、护栏

典型组合:Jev 做高频窄判断(实时请求路径),LLM 处理开放长任务;Jev 甚至可以当 LLM 输出的校验护栏——打分、判分、检测越狱提示。

07 · Caveats

别指望它什么

08 · Transparency

它没告诉你的

官方公开的只有「架构原则」,没有「架构规格」:

社区猜测(Latent.space AINews):按官方速度口径(比 LLM 快近 200×),参数量应该不大;但非自回归架构的 KV cache 可能反而很贵——像是一条拿显存换速度的路线。

一句话总结:产品接口全透明,模型内部完全闭源。想验证「没有幻觉」「概率真校准」这类说法,目前只能当黑盒 API 用自己的数据测。

09 · Remake

有人已经手搓了一个「Jev」

官方没开源、没给技术细节,挡不住民间动手派:公众号「我世界的源代码」(dongxudongxu)发文《记录一下手搓 Jev 的过程》,用一张 3090 在家搓出了效果接近的版本(作者声明与官方 Jev 无关联)。

核心洞察与官方口径不谋而合:判定不是生成——答案空间是有限的(枚举/布尔),没必要逐 token 生成 JSON,只需要给候选答案打分;JSON 由服务端拼装,天然类型安全。

全程 2 次前向传播,百毫秒级判定——和他文章里「Qwen-14B 生成一个小 JSON 都可能超 1 秒」形成鲜明对比。

微调也讲究:LoRA 只训练「最后一个决策 token」,prompt 全部 mask 掉;训练数据靠模板自问自答批量生成(规则:模板怎么填、答案不许变),情绪分类用 Claude Code 造了 72 条留言 × 4 语言 × 3 情绪 = 4152 道题。

「模型会不会写漂亮的 JSON?不重要,JSON 最后是程序拼出来的。在非常窄的决策接口上,把模型训练成一个更好的分类器。」— dongxudongxu《记录一下手搓 Jev 的过程》

顺带一提:这正好侧面印证了上一节的猜测——KV cache 的显存开销(N × 前缀 KV)是实打实的代价。