![]()
文|Sleepy
最近几天,Jev 不断出现在 AI 行业开发者的信息流里。
Browser Use 把它接进浏览器,公开了搜索航班的操作结果。另一个项目 Heist/One 则让它玩潜行游戏,判断守卫听到动静后该怎么反应。
在 Heist/One 里,玩家可以选中一名守卫,查看它收到的线索和作出的判断。门打开了,附近传来脚步声,这些线索够不够让它起疑?模型给出判断,游戏代码决定允许什么动作。角色仍然受地图和碰撞规则约束。
![]()
Heist/One 公开演示画面,来自 AbdelStark
9 月 18 日,Vercel 写道,Jev 上线 AI Gateway 后的 24 小时内,采用它的付费团队数量超过了该平台此前任何一次模型发布的两倍。
我们对 Jev 很感兴趣兴趣。
一个演示里跑得很快的 Agent,打开实现以后,可能只有其中的一步交给了 Jev。那一步原来怎么做,替换以后省去了什么,留下了什么,都值得继续探索。
点击发生之前
Jev 是 TypeSafe 推出的决策模型。应用把当前材料交给它,同时规定要回答的问题和答案范围,取得结构化结果后继续执行。TypeSafe 将这类模型称为 System One,强调适合软件直接使用的快速判断。
假设一封邮件写着「东西没问题,但我买错了,能寄回去吗」,程序需要把它交给合适的团队。仅靠匹配「退款」两个字,会漏掉这封邮件。用 Jev 的 Choice,可以让模型在给定的部门中选择,并返回各选项的概率。
同一封邮件还可以按事先写好的标准评估紧急程度,这对应 Score。若问题是客户有没有提出退货意图,则可以用 Noul,得到这个说法成立的概率。部门名称、评分等级都由应用提前定义,模型不会顺便写出一封回复邮件。
在 Jev Ultrafast 的实现里,页面控件先被整理成候选,Jev 决定动作及目标。需要输入自由文本时,另一个模型负责生成文字。浏览器接到动作以后,才真正点击或填写。
![]()
browser-use 公开的演示素材
浏览器换了页面,选项也要跟着换。按钮没有被提取出来,模型就无法选择它;页面状态已经过期,返回的动作可能找不到对应控件。把模型接进来以后,开发者仍然需要维护这份候选清单,并处理执行失败。
生成模型本来就能完成分类,也能返回符合指定格式的结果。Jev 把这部分工作单独做成了产品。我们更关心的变化,是开发者会不会因此重新安排模型调用的位置。
一个需要等待几秒的判断,往往放在用户按下「提交」之后。如果等待足够短,它才可能跟上游戏里不断变化的局面。调用成本下降,也可能让逐条筛选资料变得值得做。但网页加载和工具执行各有耗时,模型那一步变快了,整段流程究竟快多少,仍要在具体应用里量。
候选之外,还剩下什么
假设一个流程只有「同意」和「拒绝」两个选项,返回值再规整,也无法表达材料不足。开发者得决定是否增加「待核对」,以及什么情况下走到这里。选择之后触发多大权限,也要在应用里规定。
json-render 的 Jev 实验把这种限制展示得很直观。应用准备好带有属性和数据的组件候选,模型选择组件及布局,渲染器负责画出来。候选里缺了合适的组件,或者数据没有准备齐,模型不会自动补齐一个完整界面。
对软件团队来说,工作会向模型调用的两端移动。前面要把材料与候选整理好,后面要接住判断可能出错的情况。测试也随之变得具体,可以保留一份输入,检查错误究竟来自分类,还是来自执行。
TypeSafe 自己的 Jev 1.13 文档列出了日期比较不可靠的问题,建议把计算留在代码里;无关上下文和对抗性内容也可能影响判断。
这些记录会影响我们怎么理解演示。游戏里的守卫判断错了,可能增加一段意外的剧情。同样一次误判,放进取消订单的流程,代价就不一样。选择什么任务交给模型,往往比接通一次调用花的时间更长。
我们为 Jev 策展了一个专题
追踪这些项目时,我们经常从一段演示点进仓库,再从仓库跳到文档。隔天想找回某个实现,只记得大概做了什么,忘了作者,也忘了在哪条帖子里见过。
动察 Beating 因此做了这个 Jev 专题。我们把阅读资料和公开项目整理到一起,保留作者与原始入口,也把 Jev 在项目里的具体用途写出来。
![]()
动察 Beating Jev 专题首页
首页的蓝色 Reading Room 放阅读资料,Selected Works 展示部分项目;完整目录另有页面。我们也给自己的实验 JEVia 留了一个位置,可以直接查看介绍或打开 GitHub。网站支持中英文切换,手机也能查看。
Reading Room
Reading Room 目前收录 22 篇文章,包括中英文文章与指南,也包括动察的 Jev 长文和 JEVia 开发手记。
![]()
Reading Room 首页模块
官方发布文章适合了解产品的出发点,但要理解它的能力,还需要接着看评测口径与接口文档。开发者的接入记录会补上另一部分细节,比如候选应该怎么写,同一个问题换种问法会发生什么。
我们把讨论边界的资料单独标出来,和入门、实现类文章放在同一份列表里。读到一个漂亮的结果,也能继续找到限制条件。资料保留原文语言,中文界面下仍然可以筛选英文文章。
![]()
阅读目录
每篇资料先进入站内导读,原文入口随文附上。导读说明文章讨论的对象,保留作者自己报告的实验与结果;第三方原文没有整篇搬进来。以后回看时,仍然能找到当时那篇文章,而不只剩下一句被转述很多遍的结论。
项目仓库
项目仓库目前整理了 337 条项目记录,归入 18 类用途。已有产品里的集成和个人做的小实验都在里面,状态分别标注。
![]()
项目目录,截至 2026 年 9 月 20 日。
同样写着 Agent,一个项目可能用 Jev 选择工具,另一个可能只在准备结束任务时,问一句工作是否已经完成。两者需要的输入不同,失败后应该怎么处理也不同。
因此我们给每条记录都留了一行「Jev 负责」,直接显示在列表里。看到一个搜索项目,可以先知道 Jev 是否参与结果排序,再去看它用哪项服务检索网页。项目名称和一句泛泛的产品简介,很难容纳这些区别。
![]()
「浏览器与桌面」分类,图中保留完整的四条项目记录。
查找可以从用途开始,也可以直接搜作者或关键词。只想先试一试,就筛选有在线体验的条目;准备读代码,可以查看 GitHub 入口。默认按 Stars 排序,另有收录时间、更新时间和名称排序。
项目标题直接链接到 GitHub;没有仓库的,保留作者介绍项目的原帖作为主入口,更多说明收在展开面板里。
让一条判断停下来
动察 Beating 的文章《Jev,让判断进入程序》也放在 Reading Room 里。文章从一封客户邮件进入,沿着浏览器操作与游戏案例,讨论模型怎样嵌进程序,以及判断出错后由谁接手。
![]()
我们在文中放了几组可以点击的示意。对着同一封消息切换问题类型,结果会从一个候选变成一个等级,或者一个概率。输入没变,应用要问什么变了。
![]()
Score 预设示意。面板完整保留问题、结果与说明。
另一处交互使用八条假设记录。拖动自动处理门槛,一些记录会被留下复核;门槛调高后,自动通过的数量减少,但留下的人工工作增加。里面特意保留了判断错误的样本。
我们也自己Vibe Coding了个产品
整理别人的项目时,Beating 主编 Sleepy 也 Vibe Coding 出了 JEVia,一个在本机运行的 Agent harness。代码已经放到 GitHub,采用 MIT 许可。
![]()
一个任务进来,JEVia 会把是否联网和是否拆成多步等问题合并交给 Jev。返回的概率与程序设定的阈值比较,决定接下来走哪条路径。需要生成内容时,再调用语言模型;计划编译和工具循环也仍有语言模型参与。
多步骤任务里,Jev 会评估每一步需要的能力,本地策略再从用户配置的模型清单里挑选。任务执行到写文件时,Jev 的判断通过以后,程序还会检查文件路径,不能越过工作区边界。
我们把开发过程写进了《我 Vibe Coding 出了 JEVia,试着把判断交给 Jev》。
Sleepy 在文中提供了两次运行记录,也介绍了怎样打开判断面板,沿着某一个问题检查程序为什么这么做。模型判断错了,或者权限拦下了一次操作,都有具体位置可以回头看。
![]()
JEVia 没有接成本站的在线体验。想试的话,可以从 GitHub 下载到本机,按说明配置密钥。调用模型时,密钥和相应材料会发送给配置的服务商,本地运行不代表完全离线。
欢迎体验,也欢迎到 GitHub Issues 捉虫、提建议。
尾声
如果你写了 Jev 相关的文章,欢迎向我们投稿。已经做出一个项目,也欢迎附上仓库或演示,说明 Jev 在其中参与了哪一步。项目还在实验阶段,可以照实写上进度。
欢迎收藏这个专题,或者转给正在尝试 Jev 的朋友。我们会接着补资料,也期待目录里出现你的作品。
也可以直接访问:beating.news/playground/jev/
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.