JevOut:短而自然的上下文,可以把决策模型翻到指定错误选项
决策模型(decision model)把非结构化语言映射成有限选项上的概率分布,下游可以直接拿 argmax 做路由、选工具、触发动作。接口很干净:不用先解析一段自由文本,概率表本身就是控制面。
但真实输入很少是「孤立请求」。对话历史、检索片段、背景说明、周围状态描述,都会进决策时的上下文。周围上下文因此不是例外条件,而是决策模型的常态运行环境。USC 的 Zixiang Xu 在 arXiv:2609.30243 提出的 JevOut 问的正是这件事:短而自然、且答案保持(answer-preserving)的上下文添加,能不能在不改问题、选项和金标的前提下,把原本正确的决策翻到事先固定的错误目标选项?论文结论很硬:可以,而且经常翻到高置信度。[1]
站内已经写过 Jev 接到 Claude Code、ContractNLI 上均分相近判决可不同、Jev-Mem 的记忆控制面,以及 Jev-Mobile 的 GUI 执行环。那些文谈的是「有界输出怎么接到 harness」。本篇换到 鲁棒性:同一套「语言 → 有限选项概率」接口,在自然上下文扰动下有多脆;哪些数字可核;对把决策概率当可靠控制面的 agent 路由意味着什么。
先钉命名:JevOut 是攻击/评测研究,不是说 Jev「已死」。 它测的是专用决策模型(含 hosted Jev、OpenSourceJev、非自回归的 Von,以及同 backbone 的 plain Qwen scorer)在答案保持上下文下的定向翻转。代码与主页公开:GitHub、项目页。读完后更合理的反应不是「别用 System One」,而是「别把概率输出当成已经过硬化的控制令牌」。[1]
设定:TFR、固定错误目标、答案保持、概率引导优化
决策模型对有限选项集 (C) 给出 (p_\theta(c\mid x,q,C))。论文先筛「模型初始就答对」的样本 (U_\theta),再为每条样本固定一个错误目标:
[ t_u = \arg\max_{c\in C\setminus{y}} p_\theta(c\mid x,q,C) ]
目标在优化全程不变。成功只计翻到这个事先固定的错误选项;翻到别的错选项不算。这就是 Targeted Flip Rate(TFR,定向翻转率)相对「任意出错率」更严的地方——攻击者要的不只是「弄错」,而是「弄到指定错选项」。[1]
答案保持的上下文添加(answer-preserving context addition)指:插入背景或程序性细节,渲染后保留原文每个字符的顺序,问题与选项不变,完整金标集合仍正确。允许引入新事实或改变强调,只要答案不变;禁止显式点名选某选项、改写问题、改选项表。可行性由机械检查(合法边界、非空、去重、禁显式选择话术)+ 看不到目标选项及其概率的独立语义检查器共同约束。检查器只回答「增强后金标集合是否仍正确、是否局部连贯」,不预测目标模型会不会翻。[1]
论文 Figure 1 给了一个直观例子(MMLU-Pro item 11233):问题、选项、正确答案都不变,只加一句与代际议题相关的背景句,Jev 从正确选项概率 0.97 移到固定错误目标概率 0.54。加的不是「请选 B」,而是嵌得进原文的相关考虑——读起来像正常背景,却足以搬动分布。[1]
优化用的不是标签 alone,而是概率引导的上下文优化(probability-guided context optimization)。用目标与最强竞争者之间的 log-probability margin 给候选打分:
[ m_u(z)=\log\frac{p_\theta(t_u\mid x_z,q,C)+\epsilon}{\max_{c\neq t_u}p_\theta(c\mid x_z,q,C)+\epsilon} ]
margin 越大,目标相对其他选项越占优;margin 为正时目标成为唯一最可能选项。语言模型 proposer(实验里是 Gemma4-12B)一次加一句并选插入边界;归档里按 margin 做带熵的 Gibbs 重采样,把评估预算压到靠近决策边界的上下文上。每轮还会留一部分槽从原文重启,避免搜到局部框架里出不来。预算:最多 4 轮、每轮 16 槽、最多 64 次 accepted target eval;某轮若已出现目标概率 ≥0.7 的定向翻转可提前停。对照还有中性 one-shot(不知目标)与「知道目标但无迭代」的 target-aware one-shot。[1]
读结果时记住分母与成功定义:
- TFR 分母是各自初始正确的决策集合,不是全体题。Jev 508、OpenSourceJev 328、Von 328、plain Qwen 285——四个分母不可直接横向「谁更脆」而不看各自 clean 人口。
- 拒绝的提案不缩小分母;预算内任何一次命中固定目标都算该题成功。
- (p_t\geq 0.7) / (0.9) 是阈值概率阈值,不是跨模型校准假设。[1]
七个数据集覆盖知识(MMLU-Pro、SuperGPQA)、叙事与社会推理(MuSR、ToMBench)、法律推理(LAR-ECHR)、多选全选(SATA-Bench)、工具路由(BFCL V4)。每个数据集 50 条开发 + 100 条 held-out;主结果用 held-out。SATA 先拆成选项隶属二元决策,再按规则每源题最多留一条初始正确单元。[1]
主结果:61.4% 不是「随便翻错」
Table 1 的核心数字(64 次 accepted target eval 内):[1]
| 目标系统 | 初始正确 (n) | Neutral one-shot | Target-aware one-shot | 优化 TFR | (p_t\geq 0.7) |
|---|---|---|---|---|---|
| Jev | 508 | 2.2%(11) | 16.9%(86) | 61.4%(312) | 45.1%(229) |
| OpenSourceJev | 328 | 6.4%(21) | 16.2%(53) | 72.6%(238) | 64.3%(211) |
| Von | 328 | 7.6%(25) | 21.6%(71) | 73.2%(240) | 54.0%(177) |
| Plain Qwen | 285 | 8.4%(24) | 18.6%(53) | 64.9%(185) | 60.4%(172) |
对 Jev:508 条初始正确决策里,优化找出 312 次定向翻转,TFR 61.4%(Wilson 95% CI:57.1%–65.5%)。其中 229/508(45.1%) 让错误目标概率 ≥0.7;91/508(17.9%) ≥0.9。这不是「差一点打成跨边」,而是经常以高置信度站到错误选项上。若你的 harness 规则是「概率 ≥0.7 就自动执行」,论文等于在告诉你:攻击成功集合里有很大一块会直接穿过这道门槛。[1]
对照很说明问题:同一批决策上,中性 one-shot 只有 2.2%;知道目标但仍只提一句、无迭代的 target-aware one-shot 是 16.9%。目标感知本身就有用,迭代 + 概率反馈又能再挖出大量可翻转样本。四个系统合计 975 个成功的模型–样本对;现象不绑在某一个 hosted API 上。[1]
成功上下文往往很短。312 条入选成功 Jev 上下文里,中位仅 31 词(IQR 21–54);51.9% 只有 1 条添加,81.1% ≤2 条。入选规则优先 (p_t\geq 0.7)、再偏好更少添加——并不是靠删字硬压长度。含义很直接:不需要长篇对抗叙事;一两句嵌得进原文的背景句,常常就够。[1]
任务跨度上,Jev 的 TFR 从法律推理 LAR-ECHR 的 40.0%(32/80),拉到工具路由 BFCL V4 的 85.7%(60/70)。中间还有 ToMBench 76.4%、SuperGPQA 67.4%、MuSR 62.3%、SATA 60.4%、MMLU-Pro 45.8%。每个模型–数据集组合都有成功翻转;聚合 61.4% 是跨任务分布,不是单一基准撑起来的。OpenSourceJev / Von 在 BFCL 或小样本学科上也常出现更高峰——读图时注意各格分母不同,小 (n) 的 100% 不要当成「全集完美」。[1]
为什么工具路由最脆,以及这跟 agent harness 有什么关系
BFCL V4 上 Jev TFR 85.7%(60/70),且 (p_t\geq 0.7) 达 72.9%;target-aware one-shot 已经到 40.0%。OpenSourceJev 在 BFCL 上到 88.2%(67/76)。对比 LAR-ECHR 约 40%,落差很大。[1]
机制上可以这么读,而不必发明论文没写死的因果:
- 工具路由的「正确下一动作」往往依赖细状态。 多轮对话里,最后一条用户消息、刚完成的工具调用、可用函数 schema,共同决定下一步。实验把插入边界限制在最终用户消息内——正是 agent 最常把「背景/补充说明」拼进去的位置。答案保持约束要求不改变正确 next action,但模型仍可能被相关细节拉向错误函数。[1]
- 选项是函数名/schema,不是知识题的选项字母。 若干函数在语义上接近时,背景句只要抬高某一个的「局部合理性」,argmax 就可能偏过去。这和站内把 Jev 当路由/工具选择接口时的用法直接同构。[2]
- 下游是真动作。 知识题翻错是错答案;工具路由翻错是错 API、错副作用、错权限面。TFR 高的地方,恰好是 harness 最不能「看一眼概率就执行」的地方。
站内 Jev × Claude Code 强调:高频有界判断别默认塞进自回归生成。Jev-Mobile 进一步把 typed decision 接到 GUI 连选——用程序候选与再观测收窄可执行空间。JevOut 补上另一面:有界输出降低格式失败,不自动等于对上下文噪声稳健。 若 harness 把「Jev 选了工具 X、概率 0.85」当成可靠控制信号直接执行,你面对的是一条已被论文定量的攻击面——而且攻击文本可以看起来像正常背景,不必含「忽略系统指令」式注入。[1][3]
这也呼应 ContractNLI 文:结构化分数好看,不等于单条决策可信。那边是均分相近仍可能翻个别判决;这里是初始正确仍可能被短上下文定向翻到高置信度错误。两条线一起看:聚合指标与单次控制信号之间,总要留一层 harness 校验。
对 agent 设计再钉一句:Growing Harness 批评的是控制话术挤占任务证据;[4] JevOut 补的是——即便你已经把控制收成有限选项,挤进决策输入的「看起来无害的背景」仍可能改写选哪一项。收窄输出空间与硬化输入通道,是两件都要做的事。
概率反馈、跨模型转移、学到的 proposer
同 140 条 Jev 决策(每数据集 20 条)上,三个反馈条件共享 64 次评估预算与验收管线:full feedback(概率分配 + 数值历史进 proposer)、probability-only(概率分配但不给数值历史)、label-only(只用「是否已选中目标」做分配)。结果:probability-only 63.6%(89/140),label-only 56.4%(79/140),差 +7.1pp(配对 95% CI:2.1–12.9)。full 与 probability-only 接近——支持的是「用 graded margin 分配父上下文」,不是「必须把数字写进 proposer 提示」。翻转发生前,标签反馈几乎均匀瞎找;概率反馈能看见谁在靠近边界。[1]
冻结上下文跨模型转移:把为某一系统构造的代表性上下文原样拿去评另一系统,不重优化;匹配精确到源选定的决策单元与固定错误选项,源失败也留在分母。定向转移率在 21.1%–47.8%。共享 Qwen3-1.7B backbone 的 OpenSourceJev ↔ plain Qwen 最强(44.2% / 47.8%);其余有向对仍多在约 21%–31%(例如 Jev→Von 25.4%)。脆弱性不完全是「某一 API 的私货」,部分可随上下文文本搬家——换决策头不等于自动免疫。[1]
开发轨迹还能训练 proposer。V1 学「在已有上下文上加下一句」;V2 学「从原文一次生成整段成功上下文」。在同一 508 条 held-out Jev 决策上,V2 把 one-generation TFR 从 Base 的 16.1%(82) 提到 21.9%(111);best-of-four(四次独立生成里按最高 margin 选)从 29.1% 到 34.3%。迭代优化(61.4%)仍远强于单次生成,但「有用上下文构造」本身可被 amortization——攻击面不只是离线优化器,也包括学过的生成器。目标模型与检查器在训练中保持冻结。[1]
预算曲线也值得记:Jev 在 16/32/48/64 次 accepted calls 上 TFR 依次为 40.4% / 51.4% / 57.3% / 61.4%。前 16 次已挖出不少,后面继续拓宽。评测预算本身是现象的一部分:只报「one-shot 抗不抗」会低估真实可翻转集合。[1]
规模感:主优化跨 1,449 个模型–样本对,生成约 6.9 万候选上下文、完成约 6.1 万次 accepted target eval。这不是几条手工找的反例合集。[1]
再补一层工程读法:TFR 高,不自动等于「生产里每天有 61% 请求会被翻」。它度量的是——在允许迭代构造、且知道固定错误目标的评测设定下,初始正确决策里有多大比例存在可被发现的定向翻转上下文。对防御者,正确用法是把它当成上界压力测试:关键路径上是否存在短而自然的翻转见证;而不是当成线上事故率的点估计。对攻击者威胁模型,则要反过来:若对手能做离线优化或调用学过的 proposer,你面对的就接近这条上界,而不是 one-shot 那条 2.2% / 16.9% 的对照线。[1]
边界:论文支持什么、不支持什么
交审与二次传播时建议钉死:
- 支持:在答案保持、固定错误目标、64 次 accepted eval 预算下,短自然上下文可对多个决策系统实现高 TFR;高置信度翻转常见;工具路由端尤其脆弱;概率反馈相对标签分配有可测增益;冻结上下文可跨模型转移;proposer 可从开发轨迹学到更好的直接生成。[1]
- 不支持:「Jev 产品线不可用」或「System One 路线破产」。评测的是敏感性,不是产品死刑判决。
- 不支持:把四个系统的 TFR 直接比出「谁绝对更脆」——分母是各自初始正确人口,clean 准确率与题集构成不同。
- 不支持:把 (p_t\geq 0.7) 读成「已校准的 70% 真概率」。阈值是各接口回报的概率阈值。
- 与校准叙事分开。 站内 shortlisted 里有「Jev can’t be calibrated」一类边界讨论——那是另一条线,尚未作为正式博客发出。JevOut 证明上下文敏感性与定向翻转,不自动等价于「概率不可校准」;也不要用校准故事淡化 TFR。
- 并发相关工作。 同期有交换选项名–准则绑定、或置换选项顺序的诊断;JevOut 刻意保持绑定与顺序不变,只改周围上下文。读相关工作时不要把三类敏感性混成一个口号。[1]
可复用清单:把决策概率当控制面之前
下面条目对齐论文机制与站内 harness 习惯,不发明额外实验数字。若你要把 Jev 类接口接到路由/工具/动作触发,建议先过一遍:
- 隔离「任务真值上下文」与「不可信周边上下文」。 检索片段、用户粘贴、多轮闲聊、第三方工具返回,不要与准则/选项 schema 无差别拼接。能分通道就分通道;不能分,至少标来源并限制可插入位置——BFCL 实验里插入只发生在最终用户消息,恰恰是生产里最常被污染的槽。[1]
- 单模型路由不得直接执行副作用。 argmax 只产生候选意图;真正发工具、写状态、花钱,要过二次校验(规则、第二裁判、或人审门槛)。尤其当目标概率高但与策略冲突时,高置信度更危险,不是更安全——论文里 45.1% 的成功翻转达到 (p_t\geq 0.7),17.9% 达到 ≥0.9。[1]
- 监控 margin,不只监控所选标签。 金标(或策略允许集)与次优之间的 margin 变窄、或次优错误选项概率爬升,应进告警。概率反馈能帮攻击者找边界,也能帮防御者看见边界在靠近。[1]
- 对抗评测进回归。 对关键路由/工具选择路径,周期性跑 answer-preserving 定向翻转评测(可用公开 JevOut 管线或自建同等约束)。只报 clean accuracy 不够——初始正确集合上的 TFR 才对应「本来对、被上下文弄翻」。预算曲线提醒:one-shot 对照会低估可翻转集合。[1]
- 选项设计降低近邻歧义。 工具 schema 命名与描述若高度重叠,背景句更容易抬高错误近邻。合并冗余工具、拉开 rubric、避免「几乎同义的两个函数」并列,是工程侧减攻击面。
- 冻结上下文可迁移 → 不要假设「换模型就免疫」。 21%–48% 的跨模型转移意味着:一份危险上下文可能打多个决策头。共享 backbone 时更要注意;换接口不等于换表征。[1]
- Harness 侧默认 fail-closed。 上下文异常、来源混杂、margin 过窄时,回退到安全默认(拒执行、升人审、或只读探查),而不是「按当前 argmax 先跑」。这和 扩张 Harness 的精神一致:控制该沉进可审计代码,而不是沉进「模型很自信」。[4]
- 区分「答案保持的背景」与「改变任务的指令」。 JevOut 的添加可以不含「忽略指令」式注入,仍造成定向翻转。安全基线若只防 jailbreak 话术,会漏掉这类看起来无辜的背景句。[1]
- 工具路由单独加压测与更高门槛。 全库平均 TFR 61.4% 会掩盖 BFCL 85.7%。生产里按「是否触发外部动作」分层设门槛:知识类选择题可以相对宽松;会发副作用的工具选择要二次确认或双模型一致。[1]
- 记录上下文来源与插入点。 出事后要能回答:是哪一段检索/哪一轮用户补充把 margin 推过边界。没有来源账本,定向翻转会看起来像「模型偶发抽风」。
- proposer 威胁模型写进设计文档。 若攻击者能离线优化或使用学过的生成器(V2 已把 one-gen TFR 提到 21.9%),防御不能假设「对手只会手写一句」。回归集应包含优化得到的上下文,而不只是人工短语。[1]
- 与产品命名边界保持清楚。 研究里评的是 Jev 1.13.0 等接口行为;对外沟通区分「评测发现的敏感性」与「某一 vendor 产品不可用」。避免读者把 JevOut 读成停服公告。
和站内 Jev 线怎么对照
- 相对 Jev × Claude Code:那边论证「决策层该离开生成热路径」;这里论证「离开之后仍要对上下文硬化」。接上 Jev 不等于可以裸奔概率。
- 相对 ContractNLI:那边是聚合分相近、单条可不同;这里是单条初始正确、短上下文可定向翻到高置信度错误。都在拆「分数好看 → 决策可信」的捷径。
- 相对 Jev-Mem:Mem 管写/读/停取的控制面;JevOut 提醒——喂进决策头的「读出来的记忆/检索」本身可能是翻转载体。记忆控制不只预算与停取,还有内容可信度与通道隔离。
- 相对 Jev-Mobile:Mobile 用程序候选 + 再观测收窄可执行空间;JevOut 说明即使选项集合固定,选项外的自然语言上下文仍能搬动分布。GUI 环里,树候选解决 coverage;状态文本与任务描述仍可能是 selection 攻击面——该做的硬化不只在候选 ID,也在喂给决策头的叙述。
- 相对 扩张 Harness:上下文越长、拼得越杂,JevOut 式脆弱性的操作空间越大。把反复出现的控制沉进代码,同时收紧「谁有权往决策输入里加句子」,是同一条工程线。[4]
结语
专用决策模型把语言变成有限选项上的概率分布,方便下游直接路由与触发动作。JevOut 表明:便利不等于可靠。短、自然、答案保持的上下文,可以在不改问题与金标的前提下,把正确决策翻到事先固定的错误选项——Jev 上 61.4% TFR(312/508),其中 45.1% 达到错误选项概率 ≥0.7、17.9% ≥0.9;工具路由 BFCL 上更到 85.7%。OpenSourceJev、Von、plain Qwen 同预算下也在 64.9%–73.2%。成功上下文中位仅 31 词,多半一两句就够。[1]
有限选项 + 概率分布,方便软件消费模型判断;不保证选择跟任务走,而不是跟说服性细节走。 若你已经或准备把 Jev 类接口接到 agent harness,更值得先抄的不是「再换一个更强决策头」,而是:隔离上下文、二次校验、监控 margin、把定向翻转评测写进回归——让概率成为可审计控制面的输入,而不是唯一执行令牌。
参考文献
- Zixiang Xu. JevOut: Natural Context Can Flip Decision Models. arXiv:2609.30243, 2026. https://arxiv.org/abs/2609.30243 · 代码 https://github.com/xzx34/JevOut · 主页 https://xzx34.github.io/jevout/
- 站内:Jev × Claude Code. https://redreamality.com/cn/blog/jev-claude-code-10x-and-25-lines/
- 站内:Jev-Mobile GUI 执行器. https://redreamality.com/cn/blog/jev-mobile-system-one-gui-executor/
- 站内:扩张 Harness,而不是堆上下文. https://redreamality.com/cn/blog/grow-the-harness-not-the-context/
- 站内:均分相近不代表判决一样(ContractNLI). https://redreamality.com/cn/blog/jev-vs-llm-contractnli-same-scores-different-decisions/
- 站内:记忆控制别默认塞给自回归 LLM(Jev-Mem). https://redreamality.com/cn/blog/jev-mem-system-one-agentic-memory/