Study Notes / 2026 ・ No.03

Jev 札记

一个不写文章的模型,该用在哪里、怎么用

发布

这一期要回答的问题

Q1是不是必须由我们先定好 state 和选项,它才动 Q2要做网页测试的话,state 里到底放什么 Q3能不能让它帮忙做股票交易

先说结论:Q1 的答案是「是的,而且这正是这个模型的形状」

2026 年 9 月,TypeSafe AI 发布了名为 Jev 的模型。
与以往不同的地方在于:它不写文章。
先把差别讲清楚,再回答上面这三个问题。

一

不写文章的模型

CORE

Jev 不生成文本。它只会从我们事先定好的选项、分数、是/否里挑一个出来,并附上概率。开发方称它为「System One(直觉)模型」。

做出它的是前 OpenAI 研究者 Diogo Almeida 创办的 TypeSafe AI。他是 InstructGPT 论文的共同作者,也就是第 1 期・三章里 RLHF 的出处。他形容 Jev:「就把它当成一个聪明的 if 语句」。

咨询的正文 LLM 文章。长度与形式 这边无法决定 Jev 账单0.91 技术0.06 其他0.03 只返回事先定好的选项 以及它们的概率 confidence 0.88

同样的输入,返回来的东西形状完全不同

让 LLM 做工单分类,返回的是一段文字。就算要求它输出 JSON,长度和形式仍由模型决定,于是每次都得自己去校验。Jev 则根本没有输出字符串的能力,返回值必定落在我们定义的类型里。

CAUTION

常见的说法是「零幻觉」,但准确地说,那是类型不会跑偏的保证:不会返回选项之外的答案。并不保证被选中的答案是对的,那个 0% 也不是实测值。

二

为什么又快又便宜

LLM 是一个词一个词地往下写(第 1 期・一章):要写 100 个词就得跑 100 趟。Jev 不写文章,也就没有这一层循环。不是输出短,而是输出的机制本身不同。

项目公开的数值
响应时间70〜500ms(端到端)
价格输入每 100 万词元 $0.042。输出免费
上下文长度32,000 词元
输入仅文本(不支持图像、语音、视频)
训练只用合成数据。RLCD(面向校准判断的强化学习)

输出词元免费,是因为它吐不出值得计费的量:返回的只有几个概率和一个置信度。计价单位不是「百万」而是「十亿」,也是同一个道理。

还有「快 193.6 倍、便宜 444.6 倍」这样的数字,但那来自 TypeSafe 自己的评测,比较对象也由他们挑选。量级大致可信,不过还是要用自己的数据重新测一遍再下判断。

三

state 与 questions ── Q1 的答案

ANSWER

是的。不定义 state 和选项,它就不动。但与其说这是限制,不如说这就是这个模型的用法:写清「让它看什么」和「要问什么」,就是在用 Jev。

只要交两样东西

传给 API 的是 state(希望它看的东西)和 questions(想问的问题)。

POST https://api.typesafe.ai/v1/systemone { "model": "jev-latest", "state": { "subject": "账单金额和上个月不一样", "body": "好像被重复扣款了…", "plan": "business" }, "questions": { "department": { "type": "choice", "instructions": "应该由哪个部门处理", "criteria": { "billing": "账单与退款", "technical": "故障与中断", "account": "登录与权限" } }, "requestsRefund": { "type": "noul", "instructions": "对方是否在要求退款" } } }

state 只要是「希望模型去看的东西」就行:字符串、对象、数组都可以,直接传 JSON 也行。上面的例子放了标题、正文和套餐等级。

问题有三种

类型返回什么限制
Noul是/否的概率(0〜1)—
Choice选中的选项+各选项概率+置信度选项最多 255 个
Score各档的加权平均+各档概率+置信度2〜10 档

三种类型都要写 instructions(在问什么)。criteria 是可选的,用来说明每个选项或每一档的含义。经由 SDK 调用时名字可能不同,比如 Vercel 的 AI SDK 把 Noul 叫作 boolean。

返回的东西

{ "department": { "type": "choice", "choice": "billing", "probabilities": { "billing": 0.91, "technical": 0.06, "account": 0.03 }, "confidence": 0.88 }, "requestsRefund": { "type": "noul", "noul": 0.97 } }

这里是与 LLM 最大的不同:没被选中的选项的概率也一并返回,而且置信度是单独给的。也就是说,「倾向于 billing,但没什么把握」这种状态,我们这边的代码是读得到的。

state Jev 置信度高 直接自动处理 置信度低 转交给 LLM 或人

所谓「聪明的 if 语句」,指的就是这个分流

置信度高就直接自动处理,低就转交给 LLM 或人。阈值由自己的代码来定,模型只负责给出材料。这种分工大概就是 Jev 的设计思路本身。

四

用在网页测试上 ── Q2 的答案

先说清一个前提:Jev 不会操作浏览器。动手的是 Playwright 之类的代码,Jev 只负责看着当前画面判断「下一步做什么、是否通过」。

操作浏览器Playwright 之类的代码 把画面摘要成state 交出去 Jev 做判定下一步/通过与否/严重度 由代码执行阈值、记录、中止

操作的是代码,判断的是 Jev,这一圈反复跑

state 里放什么

这应该是问题的核心。不要把 HTML 原样丢进去:上下文长度是 32,000 词元,真实页面的 DOM 很快就会超出。要放的是「摘要过的画面」。

{ "goal": "完成注册并进入仪表盘", "step": 4, "expected": "提示密码过短", "history": ["打开 /signup", "填入邮箱", "密码填入 abc"], "page": { "url": "https://example.com/signup", "title": "注册", "visible": "注册 / 邮箱 / 密码 / 提交", "alerts": ["密码至少需要 8 个字符"] }, "actions": [ "email_input", "password_input", "submit_button", "login_link" ] }
  • goal・expected ── 要验证什么。没有这个就没法判断通过与否
  • step・history ── 现在是第几步、之前做了什么。可以借此发现原地打转
  • page ── URL、标题、可见文本、警告或提示的文案
  • actions ── 可点击元素的清单。它本身就是选项
POINT

诀窍是放无障碍树或可见文本,而不是 DOM。想一想「如果要在电话里把这个画面讲给人听,会说什么」,分寸基本就对了。

questions 怎么搭

问题类型用途
nextActionChoice从 actions 里点哪一个
expectedMetNoul这一步是否符合预期
stuckNoul是不是在原地打转(用于中止)
severityScore偏差的严重程度(自己定 2〜10 档)

nextAction 的选项最多 255 个,所以可点元素超过 255 的页面,得先在代码里筛一遍。

RULE OF THUMB

能用代码写的校验,就留在代码里。「按钮存不存在」「状态码是不是 200」用不着 Jev。Jev 的价值在「这条报错用户看得懂吗」「这个画面看起来像收银台吗」这类写起来很麻烦的判断上。

截图是传不进去的(仅文本)。如果就是要判断外观,得先让能读图的模型把画面描述出来,再把那段文字放进 state,做成两段式。

五

能用来做股票交易吗 ── Q3 的答案

ANSWER

技术上可以,发布之后马上就有实例。但Jev 承担的只是其中很小的一段,决定成败的多半是自己写的代码。

发布后几天里,已经出现了每 300ms 左右判断一次盘口的交易机器人、按品种各自独立持仓的结构,以及只做纸面交易的验证版本。也有更稳一些的用法,比如港股方向预测、银行咨询分类(正确率 92.4%)。

从行情数据做出特征 装进 state(约 400 词元) 返回概率与置信度 按阈值与风控下单 自己的代码 自己的代码 Jev 自己的代码 真正决定成败的,多半是左右两侧「自己的代码」

实例的共同形状。Jev 前后两端,全是自己写的代码

这些实例的共同点是:把 state 压到 400 词元左右交给它,再用自己的策略去处理返回的概率。Jev 不会自己去看行情。用什么做特征、怎么压缩,全是我们这边的活儿。

要留心的地方

  • 校准不等于「猜得准」 ── 概率被校准,指的是在它学过的分布上说 0.7 就约有七成命中。行情是非平稳的,而且有对手方,那是分布之外
  • 70〜500ms 只是对 AI 而言快 ── 对拼速度的策略来说仍然太慢
  • 仅文本、32,000 词元 ── 图表图片传不进去,历史也不能无限塞
  • 它是概率性的 ── 同样的输入未必给同样的答案。止损线、持仓上限这类绝对要守的规则,放在代码里而不是模型里
  • 基准是自家测的 ── 关于快与便宜的说法,自己环境里量过再判断更稳妥
CAUTION

我们不具备提供投资建议的立场。这里写的是机制,不是买卖的判断。实例大多默认从空跑与纸面交易开始,想必也是同一个道理。

六

怎么分工

Jev 不是 LLM 的替代品。第 2 期・一章说过的「让它去猜什么」的差别,直接变成了各自的守备范围。

做法训练数据速度同样的答案自由成文
规则不要快必定一致×
传统机器学习需要快基本一致×
Jev不要快每次会晃×
LLM不要慢每次会晃○
① if 语句写得出来 ── 就用规则,不必塞进 AI
② 训练数据够多 ── 传统机器学习更稳更快
③ 读文字、做有限的判断 ── Jev
④ 要它写出文字本身 ── LLM

另一个很有前景的用法,是充当 LLM 的看守:在智能体调用工具之前,先让 Jev 判断这次调用有没有风险,危险就拦下。这大概是第 1 期・六章所说「可靠性累乘」问题的一个现实解法。

想先试的话

目前只让 LLM 做分类的那些地方,最容易替换。输入和期望输出都是现成的,可以用同一批数据把两边都跑一遍再对照。先在自己的场地上验算一遍那些关于快与便宜的说法,是个不错的起点。

结 — 一页总结

  1. Jev 不写文章,只把事先定好的选项、分数、是/否附上概率返回。
  2. 所以又快又便宜(70〜500ms,输入每百万词元 $0.042,输出免费)。
  3. Q1:是的,写清 state 与选项这件事,本身就是它的用法。
  4. Q2:放摘要过的画面而不是 DOM。目的、步骤、可见文本、可点元素;可点元素本身就是选项。
  5. Q3:技术上可行。但特征与风控都在自己的代码里,校准不等于「猜得准」。
  6. 「零幻觉」指的是类型不跑偏,不是答案一定对。
  7. 规则/传统机器学习/Jev/LLM 并不互斥,给 LLM 当看守也是一条大路。

参考

Jev 札记 — 全六章 / 2026.09

← 返回文章列表