Guides / 视频转图文攻略

Jev Agent Harness 实战:决策闸门该装在 LLM 循环的哪个位置

The Stack 拆解 agent harness 模式:LangChain 在 Jev 发布两天后公开了 harness 设计——Jev 把每次运行路由给小模型或旗舰模型,用 auto mode 守住每一次工具调用,让 LLM 专注写作——并附上闸门真实收益的独立实测数字。

速览结论

agent harness 就是在 LLM 循环周围装一圈决策闸门,而 Jev 就是那道闸门:发布仅两天,LangChain 就公开了 harness 设计——job 1 在 agent 启动前把任务路由给小模型或旗舰模型;job 2(auto mode)审查每次工具调用,在执行前拦下危险操作。分工才是重点:LLM 继续负责写作与设计,Jev 单次前向回答锁定选项的问题(allow、ask a human、block)。实测数字:把 DSPy 工作流里的 yes/no 与单选两小步卸载给 Jev 后,整条管道 1.958 秒对 2.329 秒(快 15.9%),单工单成本从 $0.000377 降到 $0.000263(省 30.1%);官网宣称的 193x/444x 在独立 2,000 封邮件实测中只有 3x 与 12x。信任是挣出来的:一道宽泛的钓鱼判断题 Jev 只有 62.6%(Haiku 4.5 为 81.3%),拆成五个带权重的窄信号后升到约 95%——所以闸门要按置信度升级,硬编码检查也要留在代码里。

视频来源

The Stack

15:57mJnOdnOrh9A

分步图文攻略

  1. 1

    看懂 harness 模式:LLM 负责写,Jev 在旁边答题

    Jev 发布仅两天,LangChain 工程师 Sydney Runkle 与 Hunter Lovell 就发布了《Building a Harness with Jev》——正是本攻略拆解的设计。模式从普通的 agent 循环出发(请求进来、LLM 推理、调用工具、拿回结果),并承认它的软肋:一次运行需要成百上千个小判断,每次都问 LLM 又贵又慢。harness 把工作拆开:生成式模型继续干它擅长的事——写作与设计;Jev 是返回类型化答案、而不是一大段文字的 System One 决策模型,它就坐在旁边回答代码问出的小问题。用 LangChain 的原话说,Jev 不是 LLM 的替代品,而是它身边那条便宜、快速的决策层。

    The Stack 视频画面:LangChain《Building a Harness with Jev》文章卡片,作者 S. Runkle 与 H. Lovell,日期 2026 年 9 月 17 日,旁边画着 Claude 负责写作与设计,Jev 方框接收 text 与 question 并在旁边给出 answer。
    harness 模式:生成留给 LLM,判断交给 Jev。跳转至 5:10
  2. 2

    拿一条你的代码本来就怕的命令,看清这套分工

    体会这个模式最直接的方式,是一条破坏性 shell 命令。调度 agent 想执行 rm -rf ./project,而代码里任何规则都分不清这是例行清理还是一场灾难。老办法——找聊天模型要一个结论——意味着为一整个段落付钱、等上几秒听模型解释感受(顺便给自己的作业打分)。在 harness 里,coding agent 先把命令递给 Jev 闸门:Jev 评估 state,从你预先锁定的选项里返回一个——allow、ask a human 或 block——附带概率,随后的普通 if 语句直接执行策略。Claude 继续写代码做设计;Jev 只回答管道自己定不了的那一个问题。整次交互只要几厘钱,几百毫秒内完成。

    动画 harness 图:Coding Agent 的 rm -rf ./project 命令先到达 Jev 菱形闸门并拿到绿色 allow 判定,然后才放行给 Shell 执行;上方 Claude 图标标注 writing + design。
    Claude 负责写与设计;代码判不了的那条命令,归 Jev 裁。跳转至 6:05
  3. 3

    接上两个 harness 任务:模型路由与 Auto Mode

    LangChain 的 harness 给 Jev 恰好两个任务。Job 1,模型路由:agent 启动前,Jev 先对用户 prompt 分类——「修个拼写错误」走小模型,「规划数据库迁移」走旗舰——让你不再为改错别字付旗舰价。Job 2,Auto Mode:一个审查 agent 每次工具调用的中间件,在执行前拦下危险操作——webinar 演示里,更新 CRM 备注顺利通过,而「删掉这个客户」在工具触发前一刻被拦停。值得记住的是前后对比:Sydney Runkle 曾在自己的编程 agent 里关掉 auto mode,因为基于 LLM 的风险检查太慢;Jev 让分类几乎免费之后,她又把它打开了。一次要等好几秒的护栏,你迟早会关掉;一次只花几厘钱的护栏,才会一直开着。

    一页看全 LangChain harness 的两个任务:job 1 model routing 把 user prompt 经 Jev 分流到 small model 或 flagship;job 2 Auto Mode 在 agent → tools 的路径上用带红叉的 rm -rf ./project 演示 Jev 闸门拦截。
    两个任务:启动前路由这次运行,运行中守住每次工具调用。跳转至 5:35
  4. 4

    闸门要问类型化问题,而不是聊天:Choice 出裁决,Noul 测风险

    闸门到底对 Jev 说什么?一次调用里两个原子问题。一个 Choice 问题——「Should this command run?」,选项为 allow、ask a human、block——返回每个选项的概率,你不仅看到赢家,还看到这次判断有多接近。一个 Noul 问题——「Is this destructive?」——返回 0 到 1 之间的 yes/no 概率。两者在单次调用中并行评估,答案被结构性地锁在你的选项表里:Jev 编不出第四个裁决,这也正是「零幻觉」承诺的全部含义。它仍可能选错——类型合法的答案可以在语义上是错的——所以这些概率是你策略代码的输入,而不是圣旨。每个问题保持原子:一问一事,标准用白话写,刻度逐级写清楚,让一群陌生人也能得出一致判断。

    The Stack 教程中的 Jev 闸门问题:Choice 面板提问 Should this command run,block 选项带着最长的红色概率条;Noul 仪表回答 Is this destructive 指向 1 yes;右上角 docs.typesafe.ai 的 primitives 表列出 choice、score、noul 的返回字段。
    闸门的词汇表:每个选项的概率,加一个破坏性 yes/no——一次调用。跳转至 3:05
  5. 5

    诚实做预算:实测时闸门到底省多少

    TypeSafe 官网挂着 193.6x 更快、444.6x 更便宜;公司自己都标注这是上限,而且测速来自自家笔记本、评测出自自家研究员。独立数字更小也更有用。在发布于 GitHub 的 2,000 封邮件基准里,Jev 单次决策 239 毫秒,Claude Haiku 4.5 要 687 毫秒——约 3 倍,不是 200 倍;成本约每千封 4 美分对 46 美分——约 12 倍。管道实验则展示了省钱落在哪:只把 DSPy 工作流里的 yes/no 与单选两小步卸载给 Jev、WRITE 仍留在 LLM,挂上 Jev 装饰器的那条路径平均 1.958 秒对 2.329 秒(快 15.9%),推算成本从每工单 $0.000377 降到 $0.000263(省 30.1%)。生成那一步依然收全价——这是预期内的。harness 的赢法是把小决策变得几乎免费,而不是取代写作者。

    DSPy 实验的一次管道运行时间轴:极短的 yes/no 与 pick one 两步挨着长长的 WRITE 色块,下方实测卡片写明 1.958 秒对 2.329 秒、快 15.9%,成本从 $0.000377 降至 $0.000263、降幅 30.1%。
    卸载两小步,WRITE 留在 LLM:快 15.9%,省 30.1%。跳转至 9:10
  6. 6

    挣到闸门的信任:窄问题、置信度门槛、硬检查三层齐上

    被过度信任的闸门比没有闸门更糟。只问一道宽泛的「钓鱼还是正常?」,Jev 在 2,000 封测试邮件里对了 62.6%;同一道题 Claude Haiku 4.5 对了 81.3%。拆成五个窄信号(紧急语气、链接域名不符、陌生发件人、要钱、奇怪域名),再用 1,000 条标注样本调权重,Jev 的综合准确率升到约 95%,反超 Haiku 的 93%——窄而清晰的检查才是它的主场。闸门照这个思路上生产:把置信度当作类别旁边的第二根轴(高置信且低风险才自动化;模糊就走更安全的路;高风险即使类别清晰也升级人工),并明白 confidence 度量的是概率图上的离散度、合法竞争的选项本来就读数偏低;同时把 state、答案、闸门决定一并落日志,事后可审计。先用影子模式在你已知答案的决策上试跑;不可逆的操作永远保留硬编码检查——root 全盘抹除这类命令应该死在 if 语句里,而不是死在模型调用里。

    The Stack 视频里的独立钓鱼基准条形图:标注 one broad question,Jev 在 2,000 封邮件中准确率 62.6%,Claude Haiku 4.5 为 81.3%;上方说明类型合法的答案仍可能在语义上是错的。
    一道宽泛问题输给 Haiku;五个带权重的窄信号反超。跳转至 11:10

常见问题(FAQ)

什么是 Jev agent harness?

包在 agent 循环外的一层薄壳,把 Jev 带概率的类型化答案变成路由、门禁与升级决策,交给你的代码执行。在 LangChain 的设计里它只有两个任务:模型路由(启动前选好便宜或强力的车道)与 auto mode(审查每次工具调用并在执行前拦下危险操作)。LLM 继续生成;小决策归 harness 所有。

每次工具调用都过一遍 Jev,会不会拖慢我的 agent?

拖慢 agent 的恰恰是 Jev 出现之前的方案:基于 LLM 的风险分类慢到 LangChain 自己的产品经理都在编程 agent 里关掉了 auto mode。Jev 端到端约 70–500 毫秒出结果(独立邮件基准里单次决策 239 毫秒;TypeSafe 的 Doom state 演示 0.114 秒,而 GPT-5.6 Terra 要 8.566 秒),单次成本只有几厘钱——便宜到护栏可以一直开着。

Jev「不会幻觉」——那能放心让它守破坏性命令吗?

把这句话理解准确:Jev 编不出选项表之外的答案(这是 schema 保证,不是准确率结论),但它完全可能选错选项——工具结果里的对抗性文本甚至能撬动判断。安全的闸门要三层:写清楚标准的窄问题;按置信度设门槛,模糊时升级而不是硬拦;以及永远保留的硬编码规则,root 全盘抹除这类不可逆命令直接由代码拦死。Jev 是聪明的第一道过滤器,不是唯一防线。

接线之前要知道哪些限制?

四条:上下文约为 state 加最大问题的 32k token(全部问题合计约 64k,超出要拆分调用);Jev 只读你发去的字面文本,计数、算术、日期比较都不可靠,所以 state 要精简相关;官网 40–200x 提速与 40–400x 降本在独立测试中缩水到约 3x 与 12x,做预算请用实测数;最后,把问题与标准集中放在一个可审计的地方——vibe coding 散落各文件的标准,是 TypeSafe 团队看到的最常见翻车点。