面向Google编程CHARLES ZHANG

AI DAILY / 2026-09-24

JevRev:融合 Jev 与 LLM 的工作流工具

Alex314618-create/JevRev

上下文与记忆GitHub · 2026-09-21

全文中文翻译 · AI 生成,仅供学习交流

Alex314618-create/JevRev

JevRev

The decision layer beside your LLM.

筛选候选方案。在循环中打分。实时观察运行。

你的大语言模型(LLM)能够构思、编写、测试与修订,却不应被迫独自完成每一个成本低廉的路由决策。

JevRev 把 Jev 摆在 LLM 旁边:一个语义层(semantic layer),用于筛选方案、检查进度,并将关注点保持在值得继续推进的工作上。LLM 提供广度与实现能力,JevRev 则在消耗更多时间与算力之前,给出第二道审视。

这就是 JevRev:它不是另一个编程智能体(coding agent),而是围绕一个智能体运转的决策系统。

了解这个思路

内置案例要求实现一个更快的 CSV 解析器。LLM 给出了一个诱人的正则捷径与一个更严谨的状态机。捷径在纸面排名中胜出,却在正确性检查中失败。状态机虽然更慢,但通过了同样的检查,最终成为证据赢家。

运行完整案例:

git clone https://github.com/Alex314618-create/JevRev.git
cd JevRev
npm install
npm run build
npm run demo:workflow

Jev 的回答会被回放,以呈现确定性的演示过程。而实现代码、正确性检查、基准样本、输出摘要与最终决策都是真实产生的:

Paper favorite: regex-shortcut
  correctness command: failed
  result: rejected
Evidence winner: indexed-state-machine
  correctness command: passed
Decision: winner -> integrate_winner

请检视已执行的探测(probe)脚本、演示驱动与决策测试。吞吐量随机器不同而变化;真正扭转排名的,是那次必然出现的正确性失败。

针对真实 JSONL 数据摄入问题的更长、零上下文运行,请参见已记录的案例。其中包含实际出错的捷径、驳回它的证据、三轮 Loop 回合,以及 Long 观察器的输出。

三个组成部分

JevSift:选择要执行的工作

宿主 LLM 提出若干在实质上互不相同的方案。JevSift 在消耗实现预算之前,剔除那些薄弱、重复、高风险或低价值的路径,并为幸存者发出有界的工作指令(bounded work orders)。

JevLoop:改进单一产物

宿主智能体(host agent)执行一条有界工作指令,记录真实发生的情况,并将本轮回合提交给 JevLoop。Loop 检查证据,只就事实无法解决的狭义问题询问 Jev,返回下一步动作:继续(continue)、修复(fix)、验证(verify)、重新规划(replan)、等待人类(wait for a human),或当所有标准均被证实后结束(finish)。

这就是在产品叙事中 Probe、Evidence 与 Decide 的归属:它们是 Loop 的工作机制,而非另一层产品界面。

JevLong:监视会话

JevLong 观察长时间运行的智能体会话,向其报告停滞、重复失败、漂移、工具调用问题、预算风险与进度,但不会暗中引导、重试、编辑或终止智能体。

long watch 是实时终端驾驶舱。对于脚本与机器可读的输出,请使用 long status --format jsonwatch 不接受 --format

由此形成一种简洁的分工:LLM 承担昂贵的创造性任务,而 JevRev 防止工作流一次又一次地为错误的方向付出代价。

在 Codex 中使用

构建 CLI 并把内置技能(skill)安装到 Codex:

npm install
npm run build
node scripts/install-skill.mjs --target codex

然后向宿主智能体下达这条指令:

> 在本任务中使用 JevRev。提出若干在实质上不同的方案,请 JevRev 进行筛选(sift),仅执行有界的探测,记录证据,并在继续之前让 JevRev 审计下一回合。

交互层

JevRev 是一个命令行协议(command-line protocol),由宿主 LLM 在决策点调用。

你仍可留在 Codex、Claude Code 或其他智能体里;JevRev 不会取代那个智能体,也不需要在它旁边另开一场对话。

这种交互被刻意设计得简单朴素:

宿主智能体写入 proposals.json                 -> jevrev sift                -> 有界工作指令
宿主智能体实现并测试幸存者                     -> evidence run/metric/artifact -> evidence.json
                                              -> jevrev decide 或 loop audit -> 下一步动作
宿主适配器发送会话 JSONL                       -> jevrev long ingest/watch   -> 供人查阅的状态与告警

输入与输出均为 JSON,因此智能体可以把 JevRev 当作普通工具来调用,保存每一次决策,并在中断后恢复运行。人类控制在有意义的边界上:定义或修改合约(contract)、选择提供者(provider)、批准一次恢复、中止一个循环,以及决定是否集成某个被报告的胜出方案。JevRev 可以驳回一条不完整或失败的路径,并返回 continuefix_regressionverifyreplanwaiting_humancompleted;但它不能修改仓库、启动或终止宿主智能体、合并分支,也不可在后台静默继续。

这就是交互层的实际作用:它把 LLM 自由形式的推理,转化为可检视的工作指令、可记录的事实以及类型化的下一步动作,而不夺走 LLM 的工作,也不剥夺用户的最终决策权。

命令面

| 命令 | 在 LLM + Jev 工作流中的角色 |
| --- | --- |
| jevrev sift | 决定哪些提出的方案值得探测 |
| jevrev loop | 在每一轮智能体回合后审计单一产物 |
| jevrev long | 观察长时间运行会话的健康状况 |jevrev evidencejevrev decide 是更低层的基础设施命令。它们记录并裁定 JevSift 与 JevLoop 所消费的事实;它们并非第四、第五个独立的产品组件。

从源码运行时,用 node dist/cli.js 代替 jevrev

node dist/cli.js sift --input proposals.json --replay examples/parser-jev-response.json

提供者

JevRev 让决策边界无论在 Jev 是托管的、本地的,还是回放模式下都保持一致:

在 POSIX shell 中使用托管 Jev:

export JEVREV_JEV_API_KEY="…"
node dist/cli.js sift --input proposals.json --provider jev

在 Windows 上通过 llama.cpp 使用本地 SemIf(译注:Semantic Interface 的缩写,指本地语义接口模型):

powershell ExecutionPolicy Bypass File scripts/start-semif.ps1
Background node dist/cli.js sift input proposals.json provider semif

回放用例无需网络或 API 密钥。参见 docs/SEMIF_LOCAL.md 以了解本地模型的设置方式。

一份简报,两种产出

JevRev 的价值不止于代码路径。仓库包含两份由同一简报生成的页面:一份是常规首稿,另一份是经 JevRev 路由产出的证据档案。

- 首稿
- JevRev 路由关键并不在于某个神奇的视觉评分,而在于由 Jev 选定的路径,会同时改变产物的结构、证据与最终走向。

请在比对截图之前,先查看源页面及其验证记录。

接下来阅读

- 工作流指南
- 协议与 JSON 合约
- 权限模型
- JevLoop 设计
- JevLong 设计
- 验收记录

开发

npm install
npm run check
npm test
npm run build
npm run demo:all
npm run demo:workflow
npm run demo:loop
npm run demo:engineering

需要 Node.js 20 或更高版本。JevRev 以 MIT 协议授权。