
把它当成一个「聪明的 if 判断」,而不是一个小号大模型。流程、算术和最后拍板都还在你的代码里;Jev 只补上代码写不出来的那一点——可编程的常识,形式是一个可以拿去比阈值的数。
一次请求可以带几十道题,一次并行前向全部答完,所以多问几题几乎不增加时延,只多付题目本身的 token。它的训练方法叫 RLCD(面向校准决策的强化学习):返回的数就该当概率读,0.5 是「分不清」,不是「中等」。
三种原语
每道题都要声明类型。下面三个例子用的是同一个 state——首页那个小玩具里的:
{
"task": "今晚 7 点订一张两人桌。",
"observation": "预订已确认——2 人,19:00,12 号桌。"
}noul是非题。返回 0 到 1 之间的一个数,也就是「是」的概率。它是绝对判断,也是唯一没有 confidence 字段的类型。
observation是否确认task里的目标已经达成?0.98——是。把 observation 换成「快好了……」,它掉到 0.03 左右。
choice在至多 255 个选项里选一个。返回选中项、每个选项的概率,以及一个 confidence。它是相对判断,所以永远要留一个 `other` 逃生口,不然模型只能矮子里拔将军。
这一步发生了什么?
goal_met·subgoal_met·blocked·otherblocked 0.88(goal_met 0.00、subgoal_met 0.12、other 0.00),confidence 0.84。
score分级打分。你自己写两级以上,每一级描述一个具体情形而不是一个形容词;Jev 返回概率加权平均,所以分数可以落在两级之间。
这次预订走到哪一步了?0 什么都没做 · 1 开始了 · 2 确认了一个子目标 · 3 只差最后一步 · 4 完全确认
1.97——落在「开始了」和「确认了一个子目标」之间。
题目的 key 不会发给模型,完整语义必须写在 instructions 里;用反引号路径(比如 observation)指向 state 里的字段。
什么留在代码里,什么交给 Jev
这条分界线是从最会用 Jev 的那批项目里学到的最值钱的一课:凡是能算出来的,都留在你这边。
| 留在代码里 | 交给 Jev |
|---|---|
| 枚举候选——DOM 节点、下拉选项、diff 块、文件 id。模型只回答「第几个」,永远不吐选择器或字符串。 | 「这几个候选里哪个最合适?」 |
| 阈值、预算、重试次数、停止条件、去重、死循环检测。 | 「目标达成了吗」「是不是卡住了」——以概率的形式。 |
| 数数、度量、比较日期。需要先算一个数的规则,本来就不该做成题。 | 语义上的存在性:「这段文字里有没有 X?」 |
| 概率怎么组合:取 min / max、加权求和、分档。 | 每题一个原子概率。 |
最终的正确性校验——读 URL、读表单值、读退出码。done 只是信号,不是证明。 | done 与 blocked 背后的选项概率。 |
Jev 做不到什么
TypeSafe 官方有一份 jaggedness(能力参差)清单。下面这些是要绕着设计的边界,不是等着被修的 bug。
- 它照字面读题。措辞含糊,数字就含糊。
- 它不会数数,也不会算术。
- 日期比较不可靠。
- 多跳推理弱——链条自己拆开,一跳一题。
- 无关的 state 会腐蚀上下文:只放这次判断要用的东西。
- 对藏在 state 里的提示注入毫无防御。
- Noul 与 Choice 的答案之间不满足算术恒等。
- 它不能生成:不写文字、不写代码、不写摘要,也不会解释自己的答案。
最坏的失败是安静的:喂给它一张图或一段 base64,你会拿到 HTTP 200 加一堆 ≈0.5 的答案——一次干净的成功,带着一组毫无意义的数字。它读不懂的输入,在发出去之前就该拒掉。
价格与速度
- 输入价格
- $0.042每百万输入 token
- 输出价格
- 免费它根本不产出文本
- 时延
- 约 300 毫秒本机实测 p50 375 毫秒
2026-09-21 实测,走 api.typesafe.ai,jev-latest 解析到 jev-1.13.0。
| Jev | |
|---|---|
| 输入价格 | 每百万 token $0.042 |
| 输出价格 | 免费——它根本不产出文本 |
| 时延 | 约 300 毫秒;本机走官方 API 实测 p50 为 375 毫秒 |
| 多问几题 | 同一次前向答完——只多付题目的 token,不多一次调用 |
| 单次请求 | 64k token;state 加最长的单题 ≤ 32k |
| 速率上限 | 250k token/秒,1,200 次请求/分钟 |
| 输入类型 | 只收文本 |
换算成实际花销:我们规模最大的那次实验,530 次调用一共 $0.027。
jevbooks 怎么用 Jev
这个图鉴里的每个项目,都是 Jev 判的,不是大模型判的。仓库提交进来先过一道 noul 门——「这东西真的是讲 Jev 的吗」——然后是八道关于 README 的窄问题:Jev 是不是主角、有没有报告实测数字、有没有讲怎么处理不确定性、能不能跑起来、有没有体现 System One 模式、它解决的问题有多普遍、是不是在复刻模型本身、会不会推荐给正在学 Jev 的人。
卡片上的说明文字是大模型写的;结论和每一个概率都是 Jev 给的,卡片上会标明哪句话是谁说的。编辑方针就这么多。
截至 2026年9月21日,图鉴里收录了 410 个项目。
常见问题
Jev 是大模型吗?
不是。它和大模型共用 transformer 那套底子,但没有生成 token 的解码器:返回的只有一个带类型的答案和一份概率分布。你没法跟它聊天,也没法让它解释自己。
Jev 能写代码吗?
不能,它什么都不能生成。正确的分工是:让大模型一次性把代码和题目写出来,再让 Jev 把同样的题目答上一百万遍。
它和我自己微调一个分类器有什么区别?
类别是在调用时用自然语言定义的,不是躺在训练数据里;拿回来的是校准过的概率,不是 softmax 分数。改一条规则就是改一句话:没有数据集,没有训练,也不用上线。代价是分类器能从你自己标注的样本里学到的那部分,它学不到。
支持中文输入吗?
支持,中文 state 是实测过的——本站中文版首页的小玩具每次敲键都在发一份。也可以混着用:state 写中文,题目的 instructions 写英文。只收文本,不收图片和音频。
key 在哪里拿?
在 TypeSafe 控制台 console.typesafe.ai/keys 拿,文档在 docs.typesafe.ai。请求发到 POST https://api.typesafe.ai/v1/systemone,同样的 wire format 也可以走 OpenRouter 和 Vercel AI SDK。直接 fetch 就够了,不用装 SDK。