找回密码
立即注册
搜索
发回帖 发新帖

6313

积分

0

好友

764

主题
发表于 3 小时前 | 查看: 3| 回复: 0

Jev 发布半个月,社区已经把它接进浏览器操作、语义搜索、Skill Router 和上下文压缩。乍看是几类毫不相干的 Demo,顺着系统的数据流看,它们改的却是同一件事:把原本交给通用模型的一次开放生成,收窄成一次受限判断。

只按行业列案例,很容易看花。Browser、游戏和机器人横跨三个领域,在系统里做的却是同一件事:从当前允许的动作中选下一步。工单分派和 Skill Router 都叫“路由”,前者改变业务对象的去向,后者改变 Agent 接下来加载的能力。

我更关心 Jev 接过的是哪一次判断。接入点一变,谁来执行、出错会影响什么、系统怎样补救,都会跟着变。沿着一次请求的处理过程看,我把现有案例分成四种用法:语义筛选、动作选择、控制面路由、证据门控。

Jev 的四种应用方式,以及各自改变的系统责任

图 1:同样是受限判断,接入位置不同,改变的系统责任也不同。

先看 Jev 到底返回什么

TypeSafe 把接口做得很窄。调用方提交一份 state,再提出一个或多个命名问题。Jev 不生成解释,只返回受限答案和概率。

官方提供三种问题类型:

  • Choice:从调用方给出的候选中选择一项,并返回候选分布;
  • Noul:判断一个命题成立的概率;
  • Score:在有顺序的等级上评分。

同一份状态可以并行回答多个相互独立的问题。比如一张工单可以同时判断所属队列、是否需要人工复核、影响程度有多高。但第二个问题若依赖第一个问题的答案,仍要拆成前后两次调用,由代码管理顺序。

Choice、Noul 和 Score 只规定答案怎样返回。至于这份概率是过滤数据、触发动作、选择执行者,还是删减下一轮上下文,要由应用决定。

Jev 只回答问题,代码决定答案接下来能做什么。

方式一:语义筛选,把自然语言变成可调用条件

最容易单独落地的用法,是让 Jev 判断某段内容是否满足一个语义条件。

Jev Semantic Grep 把文本按行送入模型,询问“这一行是否表达了某个意思”,再按 Noul 概率过滤。普通 grep 查找字面模式;这里查找的是命题。原文即使没有出现“伪装”这个词,只要描述了狼戴上外婆的帽子,仍可能被筛出来。

最直接的去向是搜索和监测:Semantic Grep、日志语义检索、品牌新闻监测,都是先问“这段内容是否表达了某个意思”。再往业务流程里走,同一类判断可以分派商业邮件和工单,也能识别重复扣费、紧急客服请求。

放在执行前,它又成了一道语义检查。Vercel 的命令安全审查、PR 合并资格预审、内容审核,以及 jev-mcp 的事实核验和提示注入检测,都属于这一类。动作结束后,Agent 完成度、执行轨迹、失败样本和训练样本也能用类似方式筛选。

这更像一个“概率版 if”。代码先处理时间、状态码、服务名、数值阈值等确定条件;那些很难用正则或关键词写完整的语义条件,再交给 Jev。最后仍由代码组合 AND、OR、NOT 和阈值策略。

落到生产,还要补两笔账:调用规模和数据边界。

真有 10 GB 日志时,逐行发给远程模型既慢,也会放大成本和限流压力。更实用的链路是先按时间窗口、字段和关键词粗筛,再把完整事件或日志块交给 Jev。专用模型适合高频判断,前提仍是把数据切好、筛好。

Semantic Grep 的作者还明确提醒,参与搜索的文本会发送到 TypeSafe API。生产日志里的账号、Token、请求参数和客户数据,需要先经过字段白名单、脱敏和租户隔离。本地 grep 与远程语义判断采用的是两套安全假设。

还有一个容易混淆的项目是 Newsjack。它把新闻搜索、相关性筛选、事实核查和机会分流拆成了大量窄判断,看起来很像 Jev 擅长的任务。不过,项目 README 没有说它使用了 Jev,也没有提供可归因于 Jev 的评测。它能说明这类任务怎样拆,不能说明 Jev 跑得怎么样。

方式二:动作选择,在合法候选中决定下一步

Browser 和 Computer Use 代表了第二种用法。环境先给出可执行动作,Jev 从中选择一个,执行结果再进入下一轮。

Jev Browser 每一步会从 DOM 收集可以点击、输入和选择的元素,再加入滚动、返回、完成等动作。一次主调用围绕同一份页面状态回答三个问题:用 Choice 选动作,用两个 Noul 分别判断目标是否达成、运行是否已经卡住。代码在动作执行前检查停止条件,遇到重复且无效的动作时,可以改用概率分布里的次优候选。

在项目公开的一条 Wikipedia 轨迹里,Agent 从首页找到 Ristretto 词条,一共调用 Jev 3 次,估算成本约 0.0022 美元。轨迹会记录建议动作、实际动作、概率、页面错误和停止原因。done 与 goal_achieved 还是两个独立判断,二者一致时,结束信号才更可信。

这个实现也把能力边界写得很清楚。Jev 只会选择,不会生成搜索词或表单内容;需要填写字符串时,项目会另外调用一个可配置的小模型。密码由代码提供,不交给模型。每步最多提供 240 个页面元素,超出后会截断;Shadow DOM、iframe、悬停菜单等交互也不在 v0.1 的支持范围内。

Browser 的效果由整条链路共同决定:页面如何转成候选,必需元素有没有进入列表,动作执行后能否验证,失败时怎样恢复,预算耗尽后如何停止。

Jev 负责选择;Harness 负责感知、执行、预算、验证和恢复。

Jev Browser 的一轮动作循环,以及 Jev 与 Harness 的职责边界

图 2:Jev 只占据循环中的选择节点,候选生成和执行控制仍留在 Harness。

在游戏演示里,已经能看到 Doom、Wikiracing、同时运行 50 局《地铁跑酷》、超级马里奥、杀戮尖塔和逐像素选色。环境一直在变,“状态、候选、选择、执行”四步没有变。

再往现实任务走,Browser Use、航班查询、3D 自动驾驶仿真、MuJoCo 火箭回收、机器人控制、ReAct 循环和链上订单操作也在复用这条链路。其中一些目前只有演示视频或二手描述,我不会拿它们的速度和成本数字下结论。这些项目至少给出了一条接入思路:只要程序能列出状态和合法动作,Jev 就可能放在动作选择节点。

场景越接近真实设备、资金和生产系统,执行错一次的代价越高。页面点错通常还能返回,机器人或链上操作却可能无法撤销。候选集合要先经过权限过滤,高影响动作还需要审批、限额、沙箱或人工确认。模型只能在“允许考虑的动作”里选择,不能因为概率很高就获得新的权限。

方式三:控制面路由,选择 Skill、工具或模型

当 Agent 装载的 Skill、工具和模型越来越多,把全部说明都塞给主模型,会持续占用上下文,也让每一轮都重复做同一类选择。路由层可以先读请求,再决定加载哪个能力。

一个公开的 Jev Agent Skill Router 用 24 个合成 Skill 和 72 条合成请求做过实验。这次记录里,Jev 路由正确 68 条,即 94.4%;词法基线正确 51 条,即 70.8%。Jev 的优势主要出现在没有命中名称或关键词、但语义指向明确的请求上。

这组数字只能描述这次实验。作者说明,测试数据是合成的。看过早期完整运行后,路由问题做过修改,同一批数据也反复用于开发。结果里还有 3 次不必要的人工复核和 1 次客户端校验失败。所以,94.4% 说明这条路值得继续测,还不能当作生产准确率。

比单个准确率更值得参考的是它的流程:Skill 目录先按确定规则分批,Jev 从每批保留候选,再进入下一轮归并。最终结果可以是 route、no_skill 或 review。遇到没有合适 Skill 或置信度不足的请求,流程可以停下来复核,不必强迫模型猜一个。

另一个 TypeSafe 社区 Router 项目把责任边界概括得很清楚:Jev selects. Your application authorizes and executes. 换成工程语言,就是 Jev 负责选择,应用负责授权和执行。该项目也注明,它是社区项目,不是官方 SDK 或生产授权系统。

沿着这条线,还能看到工具路由、模型路由、专业 Agent 分派、Jev Codex Router 的任务难度分流,以及给大模型做前置分流。LangChain 展示的 Agent 外挂决策框架和路由中间件,则把这类判断放进了调用链。它们都在决定由谁接手任务。租户能否使用某个模型、预算是否充足、工具能否访问生产环境,仍由确定性策略检查。

类型安全只保证返回值落在预先定义的集合里,不保证模型选对。 Akshay Pachaar 在 Jev 的长文中也提醒,模型依然可能在合法选项中选错。概率接近、命中 review 或输入分布变化时,系统要有升级到通用模型或人工处理的路径。阈值还得从自己的标注数据中测量,不能把某个 Demo 的数值直接搬进生产。

方式四:证据门控,决定什么进入上下文

Agent 运行时间一长,日志、工具结果、检索片段和历史对话会不断挤进上下文。Jev 可以先做一轮语义筛选,只把可能影响当前问题的证据交给通用模型。

它和第一种方式的底层调用可能完全相同,区别在结果去了哪里。语义筛选通常决定哪些业务对象进入后续流程;证据门控直接改写模型下一轮能看到的上下文。一旦漏掉关键证据,后面的推理再强也很难补救。

现有实现主要集中在 RAG 结果过滤与重排、fast-jev-compaction 一类长上下文压缩、旧对话筛选和工具结果裁剪。它们都会逐项估计哪些内容还会影响后续任务,再由代码保留或丢弃。

jevskill 公布过一组小规模 A/B 测试。六类任务各运行 3 次,直接发送给回答模型的输入合计 113,632 Token,经 Jev 筛选后为 831 Token,减少 99.3%。这轮结果里,直接输入答对 15/18,Jev 筛选和结构化过滤都答对 18/18。其中一个 Deployment JSON 任务从 20,542 Token 筛到 111 Token,3 次都找到了异常项。

这些数字说明语义门控可能同时减少成本和噪声,但每组只有 3 次运行,项目作者也只把结果称为方向性的。相比 99.3% 的压缩率,我反而更在意其中一次失败。

旧版测试按单行筛选 YAML,任务却要求比较同一个配置块里的默认值和生产值。Jev 找到了 prod: true,但字段名在上一行,模型拿不到两者之间的关系,结果是 0/3。项目后来把决策单元改为“标题加所属内容的完整块”,同一项才变为 3/3。

问题出在输入切错了。切分阶段丢掉的关系,后面的模型无法补回。 做上下文压缩时,多保留几段通常只是多花一些 Token;漏掉决定结论的证据,却会直接改变答案。

做 RAG 过滤、日志压缩和任务完成验证,只看压缩率不够。我还会分别测关键证据召回率、不同输入类型的漏召回,以及回退后增加了多少成本。结构化规则能精确定位的内容,先由规则保留;跨行、跨字段或跨调用的关系,要放进同一个最小完整单元。高风险任务还可以保留未压缩上下文,在低置信度时重新运行。

把四种方式放进同一个 Agent

假设一个故障处置 Agent 收到“支付成功率下降”的告警,四种方式会沿着同一条链路出现。

故障处置 Agent 中四种 Jev 应用方式的串联流程

图 3:四次受限判断串在同一条故障处置链路里,但执行权始终没有交给 Jev。

Jev 只插手这条链路里的几次受限判断。代码守住权限和状态机,Harness 管理循环、预算、恢复与停止条件,工具执行有副作用的动作,通用模型处理开放式诊断,高风险灰区再交给人工。

四种方式不必全部接入。日志筛选已经能用 SQL 和规则解决,就保留原实现;Skill 只有三个,把说明直接交给主模型可能更简单。只有当某个受限语义判断足够频繁,而且确实能减少后续调用或上下文时,接入 Jev 才可能改善端到端结果。

有限选项,也未必需要 Jev

2048 很适合说明这个边界。LogJev 的演示先用规则排除非法方向,再让模型从上下左右中选择。接口完全可以写成 Choice,但合法移动可以由规则精确计算,棋盘搜索也有成熟方法。这个问题需要的是局面计算,不是自然语言语义理解。

而且,这个 2048 Demo 使用的是 LogJev。它读取普通 OpenAI 兼容模型的 top_logprobs,再包装成 Choice、Score、Noul 风格的接口,并不是 TypeSafe 官方 Jev。这个项目可以展示 Decision Model 的编程方式,不能替官方 Jev 证明速度、成本或准确率。

Sean Goedecke 从另一个角度追问:Jev 的部分收益可能来自受限候选、短输出和并行推理,普通模型通过单 Token 选择也可能复现一部分。现在还缺一组足够完整的对照实验,不过这个问题对架构设计很有价值:决策节点可以面向接口和评测设计,不必绑定某一个模型品牌。

社区资料里还把 PrimeLine 的预注册对比测试算作一种玩法。严格说,它更接近评测方法:先冻结任务、指标和通过条件,再比较不同方案。它能帮助我们判断 Jev 是否值得接入,但不算第五种应用方式。

碰到一个新场景,我通常先问四件事:答案能否提前列出,语义理解是否不可替代,调用是否足够频繁,出错后能否回退。只有这四个问题都有明确答案,我才会把 Jev 拉进来做 A/B 测试。

在我看来,Jev 更适合待在 Agent 控制面,负责快速、受限的语义判断;代码和基础设施继续掌握授权、执行与回滚。Demo 跑通只是第一步。上线前更值得测的是三件事:候选是否完整,决策单元是否保留了证据关系,误判后系统能否恢复。

参考资料

版权申明:内容来源网络,仅供学习研究,版权归原创者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!




上一篇:C++异步Lambda生命周期陷阱:从编译器Lowering到libstdc++ CAS
下一篇:PixPin 3 截图工具实测:Snipaste 老用户动摇了,就差最后一点细节
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-4 06:59 , Processed in 0.074626 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表