Jev 这几天火得有点夸张。jev-ultrafast(在新标签页打开) 创建不到三天就超过 6400 Star,Mac 与 Android 自动操作、Coding Agent 路由、代码审查等项目也接连冒了出来。Jev(在新标签页打开) 是 TypeSafe 推出的模型,专门处理程序预先限定好答案范围的问题。它只返回选择、评分或概率,不写开放式答案。

不写答案,Jev 到底返回什么?

生成式大模型拿到页面状态或 Git diff 后,往往先解释一遍。可程序有时只要一个动作:下一步点哪个按钮。等模型写完,程序还得从回答里把动作找出来。

Jev 直接放弃了这部分自由。TypeSafe 把它称为第一个 System One 模型(在新标签页打开):输入仍然可以是一段文字或一组结构化状态,问题和可选答案由程序提前定义,输出则固定为程序可以直接读取的判断。

类型程序问什么Jev 返回什么适合的动作
Choice几个候选里选哪个选中的答案与全部概率选按钮、工具、模型或处理队列
Score当前对象处在哪个程度各等级的概率与加权分数排相关性、严重程度或优先级
Noul一件事是否成立“是”的概率判断是否紧急、是否匹配某条规则

例如,浏览器已经把 Google Flights 当前页面整理成三个可执行动作。最小的 Choice 请求可以这样写:

{
  "model": "jev-latest",
  "state": {
    "goal": "查找 2026-09-20 苏黎世到伦敦的单程航班",
    "page": "Google Flights,出发地和目的地均为空",
    "available_actions": ["填写出发地", "填写目的地", "打开日期选择器"]
  },
  "questions": {
    "next_action": {
      "type": "choice",
      "instructions": "选择现在应该执行的动作",
      "criteria": {
        "填写出发地": "出发地为空时选择",
        "填写目的地": "出发地已填写、目的地为空时选择",
        "打开日期选择器": "出发地和目的地已填写时选择"
      }
    }
  }
}

TypeSafe API(在新标签页打开) 会在 next_action 下返回选中的动作、每个候选的概率和整体置信度。程序拿到结果后可以直接执行;几个候选的概率过于接近时,再把这一步交给更强的模型。

Jev 工作方式:程序把当前状态和有限候选交给 Jev,Jev 返回结构化概率,程序据此执行动作或升级给生成式模型
Jev 只处理有限候选中的判断;生成新文字、执行动作和检查结果仍由其他模型或程序完成。

返回类型固定,不代表判断一定正确。多高的概率才直接执行、什么时候换强模型、执行后检查什么,仍由程序决定。

怎么开始用 Jev?

  1. 打开 TypeSafe 官网(在新标签页打开),点击 Join Waitlist,填写邮箱加入候补名单。
  2. 邀请邮件一般会在第二天到达。收到标题为 You're in! 的邮件后,点击 Create your account 完成注册。
TypeSafe 发来的 Jev 邀请邮件,邮件中显示 Create your account 按钮
收到邀请后,点击 Create your account 完成 TypeSafe 账号注册。
  1. 登录 TypeSafe Console(在新标签页打开),创建 API Key。
  2. 请求 POST https://api.typesafe.ai/v1/systemone,把 API Key 放进 Authorization: Bearer <API_KEY> 请求头,再提交前面的 statemodelquestions。接口会在 answers 中返回对应的选择、评分或概率。

7 秒搜到航班,Jev 省掉了什么

browser-use/jev-ultrafast(在新标签页打开) 收到的任务只有一句:查找 2026 年 9 月 20 日苏黎世到伦敦的单程航班,匹配结果出现后停下。从第一个动作开始算,Google Flights 显示航班结果时,录屏计时只有 7.1 秒。

录屏左侧显示 Google Flights 的填写与搜索过程,右侧同步记录每一步动作和模型决策延迟。

每次页面变化,jev-ultrafast 都会重新列出带编号的按钮、输入框和下拉选项。Jev 在一次请求里同时选择操作类型和目标元素。只有需要 TYPE_TEXT 时,才会调用一个小型语言模型填写具体文字。浏览器 Agent 不必每一步都把整张截图交给大模型重新理解。

同一个航班任务连续跑了 3 次,3 次都进入匹配的结果页。优化前后,中位耗时从 9.450 秒降到 7.092 秒,浏览器协议调用从 1092 次减到 101 次。这 7.1 秒只算搜到结果页,不包括选择航班或下单。

同一思路也被搬到了 Mac 和 Android:

  • typesafe-computer-use(在新标签页打开) 读取 macOS 的 Vision OCR 和辅助功能树,再让 Jev 选择点击、滚动或输入。只有需要填写自由文本时,才会调用另一个小型语言模型。
  • mobile-jev(在新标签页打开) 通过 Mobilerun 操作真实 Android 设备。Uber 演示用约 21 秒执行 9 个动作,从打开 App 走到付款方式页面,没有真正下单。输入文本直接从目标语句里取已有片段,不需要另一个生成模型。

这三个项目快在同一个地方:浏览器、OCR、辅助功能树或设备 API 先把整张界面压成一组可选动作,Jev 不用再从像素开始猜。Jev 选得再快,也选不出候选列表里没有的动作。

到了 Coding Agent,Jev 选什么?

Jev 还是不写代码,只在现有流程里回答两个问题:这轮用哪个模型,Git diff 里哪段改动值得继续看。

jev-router(在新标签页打开) 挂在 Claude Code 和 Codex 前面,每个新的用户回合只做一次判断:简单任务用快速模型,普通任务用平衡模型,复杂任务才升到强模型。CLI 原有的登录、会话、工具和权限提示都不变,Jev 只选档位。

jev-review(在新标签页打开) 把同一种判断放到 Git diff 上。它先选值得继续看的文件和 hunk,再判断准确性、安全性、可靠性、兼容性和测试影响。这些结果用来缩小强模型需要阅读的范围,不会替代编译器、静态分析和项目测试。

Jev 在完整的 Coding 流程里只负责中间这一步:

git diff
编译、测试、lint、类型检查和静态分析
Jev 对文件或 hunk 做快速语义分流
强模型阅读被选中的上下文、定位原因并修改代码
重新运行确定性检查

文章审校也能这样分工。参考库先找同类标题、开场和正文,Jev 再批量判断有没有重复、过度解释或机械对照。

Every 的 Mike Taylor 一次扫了 37 篇文章,每篇问 21 个问题,777 个判断只用了 0.7 秒(在新标签页打开)。他随后故意埋下 7 处问题,Jev 找出 6 处,更大的模型找出了全部 7 处。

Jev 快在筛出值得继续看的位置,不是替人改完全文。官方文档明确说,英文是它的主要训练语言;中文、日文和韩文可以处理,但准确率不如英文。扫中文文章时,先用概率标出可疑段落,再由强模型阅读完整上下文,最后仍要从标题到结尾复读一遍。

Jev 可以直接插进现有的 Agent Skill 工作流:它先筛模型、diff 和段落,Coding Agent 再读上下文并修改,最后由编译器、测试或全文复读检查结果。

几个比较实用的场景

在 Higgsfield 的演示里,Jev 先从现有图片和视频中选出素材,DeepSeek 与 Higgsfield(在新标签页打开) 再把这些素材做成广告创意。

Jev 先筛选素材,DeepSeek 与 Higgsfield 再把选中内容变成广告创意。

Matthew Berman 的演示(在新标签页打开) 一次分析了 37 个品牌正在投放的 724 条广告。Jev 会判断每条广告用了什么钩子、形式、报价和 CTA,处在哪个用户认知阶段,落地页是否匹配。724 条广告约 40 秒跑完,作者记录的 token 费用约为 0.09 美元。程序再把这些结果汇总成可比较的数据。

724 条竞品广告进入同一套判断流程,结果按钩子、形式、CTA 和落地页匹配等维度汇总。

邮件演示把 300 封模拟企业邮件分到 15 个类别,画面左边跑 jev-latest,右边跑 DeepSeek V4.1 Flash。除了类别,界面还会分别判断邮件是否加急、能否直接丢弃。Jev 处理完 300 封时,录屏显示 5400 个判断、9.9 秒和 0.0366 美元;右边的 DeepSeek 当时只处理了 10 封。

300 封模拟企业邮件同时交给 Jev 和 DeepSeek 分类,界面实时显示处理数量、判断数、延迟和费用。

前端组件也能成为候选。Vercel Labs 的 JSON Render Jev 实验(在新标签页打开) 目前还没发布到 npm,只能通过 source build 试用。应用先注册可以使用的组件、属性、状态绑定和动作,Jev 再决定页面放哪些元素、怎样排列。JSON Render 最后生成一份可校验的 Spec,再把它渲染成页面。候选里没有的文字、数据或图表类型,Jev 不会自己补上。

JSON Render 的默认模式与 Jev 实验模式并排生成旅行卡片、登录表单和数据看板。

Jev 没开源,本地还能跑吗?

能,但跑的不是官方 Jev。TypeSafe 没有公开模型权重,目前能在本地尝试的是 SemIf 和 jevlike。前者直接用开放模型做判断,后者可以用自己的数据训练。

SemIf(在新标签页打开) 原来叫 OpenJev。它沿用 Jev 的输入输出方式,底层换成 Qwen3.5 4B、MiniCPM5 2B 等开放模型,直接读取候选的 logits 并换算成概率。仓库提供 NVIDIA GPU、Apple Silicon 和 WebGPU 三条运行路径。

jevlike(在新标签页打开) 走的是训练路线。每条训练数据包含一段上下文、一组数量可变的文字选项和正确答案,小模型一次为所有候选打分。仓库带有合成菜单、Wikispeedia 点击数据、Doom 和国际象棋示例,可以用自己的数据试着训练一个最小的动态候选模型。

最近比较火的 Jev 开源项目

目前最容易直接试的是 jev-ultrafast 和 SemIf;其余项目多数还是演示、实验或项目目录。

项目GitHub StarJev 负责什么现在适合做什么
jev-ultrafast(在新标签页打开)约 6.4K选择浏览器下一步动作直接运行浏览器 Agent
SemIf(在新标签页打开)约 1.7K用本地模型判断动态候选在本地体验 Jev 的输入输出方式
jevlike(在新标签页打开)约 930训练动态候选选择模型学习或训练自己的小模型
jev-trader(在新标签页打开)约 990判断买入、卖出或继续等待查看 Jev 怎样接进交易机器人
awesome-jev-by-typesafe(在新标签页打开)约 560汇总用法、提示和示例继续寻找项目和案例
jev-review(在新标签页打开)约 300筛选 Git diff 中的文件和 hunk体验代码审查分流
typesafe-computer-use(在新标签页打开)约 380选择 macOS 下一步动作运行 Mac 自动操作实验
mobile-jev(在新标签页打开)约 180选择 Android 下一步动作操作 Android 真机
jev-router(在新标签页打开)约 170为 Claude Code 与 Codex 选择模型体验 Coding Agent 模型路由

jev-trader(在新标签页打开) 很能说明这种能力为什么让人上头。Monad 每产生一个新区块,Jev 都会根据当前市场状态选择买入、卖出或继续等待。项目默认使用模拟模型;没有私钥时只做空运行。

想继续找案例,可以看 awesome-jev-by-typesafe(在新标签页打开)awesome-jev(在新标签页打开)。这两个仓库收集了相关项目、提示和用法,本身不能直接运行。vlad-terin/jev-browser 的仓库目前返回 404,已经无法安装。

官方 Jev 按输入 token 计费,输出不收费。2026 年 9 月 19 日,模型页(在新标签页打开)显示每百万输入 token 0.042 美元,上下文长度为 64K;jev-latest 当时指向 jev-1.13.0。接入时可以直接使用 jev-latest,具体价格和版本以模型页为准。

Jev 适合处理的任务

判断 Jev 是否适合一个任务,可以先问一句:程序能不能在调用模型之前列出足够完整的候选答案?

能列出来,而且这一步会反复执行,就适合交给 Jev。网页上选哪个元素、请求交给哪个模型、某段 diff 是否需要继续审查,都属于这类问题。程序可以保存每个候选的概率,再决定直接执行还是交给更强的模型。

列不出来,就继续使用生成式大模型。写解释、提修复方案、生成代码,或者寻找候选之外的新原因,都不适合交给 Jev。能由普通代码精确计算的结果则直接写程序,格式校验、类型检查、哈希比较和权限规则没有必要再让 AI 猜。

Jev 快,是因为它少做了一件事:不生成答案,只判断 Agent 下一步该选什么。答案范围缩小以后,延迟和费用一起降了下来,程序也能直接读取结果。

想继续看别人把 Jev 用在哪,可以逛逛 Jevable(在新标签页打开)。上面收集了游戏、表单、代码审查、语义搜索和浏览器 Agent 等项目,点开就能看到原始演示。