Compliance Paradox: Semantic-Instruction Decoupling in Automated Academic Code Evaluation
The Compliance Paradox: Semantic-Instruction Decoupling in Automated Academic Code Evaluation
- Prompt injection
- Encoding and obfuscation
- Guardrails and judges
- Role-play and persuasion
- LLM applications
- Application layer
SPACI测9个评分模型:Role Play下DeepSeek-v3.2平均解耦概率95.8%(Table 2)。
对手是理性智能体,要在真实质量低的提交上提高分数 y。
- 自动代码评分默认模型既能写代码就能客观判分。作者指出评分模型会脱离提交逻辑,转而服从嵌在注释、标识符或死代码里的隐藏指令,并把这种现象称为 Compliance Paradox。
- 作者用 AST-ASIP 把载荷放进编译器忽略、评分模型仍读取的区域,并要求改写后可编译、执行结果不变。SPACI 把向量分成五类。解耦概率、分数偏移和 Ψ 用来量化评分是否脱离代码。
- 四种语言、9个模型。Table 2 的 Role Play 上,DeepSeek-v3.2 平均解耦概率 95.8%,Llama-3.1-8B 为 97.1%;GPT-5 在 C++ 为 91.0%、Python 为 62.1%。作者称高服从对齐会放大失败。
- 作者指出未测编译器与 LLM 的混合回路,语言只含 Python、C、C++、Java,且只做单轮静态注入,未实现防御。评测用 S1(N=650)与 S2(N=2,500);Table 2 是 Role Play 相对全策略均值,不是逐策略全表。
- Threat model
- 对手是理性智能体,要在真实质量低的提交上提高分数 y。论文未写 white-box 或 black-box。扰动只能落在攻击面 S:须编译成功,执行结果与原提交一致,且只改编译器忽略、评分模型仍读取的 trivia 与标识符。受害系统是把提交和 rubric 映射到 [0, 100] 的 LLM 评分器。
- Evaluated models
- DeepSeek-V3.2Qwen3-235BGPT-OSS-120BGemma-3-27bLlama-3.1-8BLlama-3.2-3BGPT-5GPT-5-MiniGemini-2.5-Flash
- Benchmarks
- PROGpediaAzcona & SmeatonLREC (Petersen-Frey et al., 2022)Pathak et al.Jailbreak-Evaluator Benchmark
- Metrics
- P̂decoupleDadvΨ
The researchers propose the SPACI framework and the AST-ASIP protocol, which embed adversarial instructions into syntactically inert regions of code abstract syntax trees, causing large language models to satisfy hidden instructions detached from the logic of submitted code in automated academic code evaluation, a phenomenon the authors call the compliance paradox. Evaluations on 25,000 submissions in Python, C, C++, and Java across 9 SOTA models show that high-capacity open-weight models such as DeepSeek-V3 fail at rates exceeding 95%, systematically placing hidden formatting constraints above code correctness. The authors quantify this failure using three metrics—decoupling probability, score deviation, and pedagogical severity—and point out that this can lead to functionally broken code being incorrectly certified, recommending a shift from standard RLHF to domain-specific judge robustness. The authors released the full dataset and injection framework.
Paper analysis
What problem does this paper attempt to solve?
作者称对齐后的评分模型会服从代码中的隐藏指令,而不是按代码正误打分。
自动代码评分里,模型会不会放下代码证据,改去服从嵌在提交中的隐藏指令。
- 场景:作者称计算机教育越来越依赖自动评分,并把能写代码的模型用作通用评分器,覆盖作业、技能认证和反馈。这一用法依赖未经验证的假设:生成高质量代码的能力等于稳健评判代码的能力。
- 缺口:编译器丢掉注释、空白和标识符的自然语言含义,LLM 仍把这些 trivia 当作语义上下文。作者称既有越狱研究和 JudgeBench、HarmBench 主要处理一般安全拒答或有害内容,没有处理代码评分中的 Syntax-Semantics Gap。
- 观察:作者称以 helpfulness 为目标、经 RLHF 微调的模型更容易被 rubric 劫持。他们把评分脱离代码逻辑称为 Semantic-Instruction Decoupling,把更对齐反而更不稳健称为 Compliance Paradox。
- 提出的东西:作者提出 SPACI,并称这是首个面向 AI 代码评分器越狱的领域分类,含 17 个向量、五类;同时提出 AST-ASIP、解耦概率、分数偏移和 Ψ,并称构建了 25,000 条、四种语言的对抗提交。
- 威胁模型:
- 目标:理性对手要提高真实质量低的提交的分数 y,y 属于 [0, 100]。
- 知识:论文未使用 white-box 或 black-box,也未假设对手能改权重或系统提示。
- 能力:扰动只能位于攻击面 S,即编译器视图丢弃、评分模型仍会注意的 trivia 与任意标识符;改写后必须编译成功,且任意输入上的执行结果与原提交相同。
- 受害系统:fθ 把提交和 rubric 映射成分数。实验把 LLM 当作独立的静态 Universal Grader。
What related research exists?
作者把本文放在越狱、LLM 评判和教育评分之间,并称既有基准未处理代码评分的 Syntax-Semantics Gap。
对抗攻击与说服式越狱
- 优化与可读越狱:Zou et al. (2023) 的 GCG 搜索离散 token 组合以降低目标字符串损失。Chao et al. (2024b) 在黑盒设置下自动生成可读提示。作者在附录 A 称本文关注有语义的利用,而不是无意义后缀。
- 说服与人设:Zeng et al. (2024b) 把逻辑诉求、权威等说服修辞形式化;Xu et al. (2025) 讨论人设与稳健性的关系。第 2 节称这类工作主要针对一般安全拒答,而不是结构化任务的客观裁决。
- 表面与封装技巧:Wei et al. (2025)、Deng et al. (2024)、Yuan et al. (2024)、Liu et al. (2024)、Yu et al. (2024) 分别涉及 emoji、多语言、自编码、载荷拆分重建和越狱提示分类。论文把其中若干名称收进 SPACI,没有报告自己复现这些工作的数字。
LLM-as-a-Judge
- 评判可行性:Zheng et al. (2023) 讨论用 LLM 代替人类做开放式评判。
- 稳健性基准:Tan et al. (2025) 的 JudgeBench、Mazeika et al. (2024) 的 HarmBench、Chao et al. (2024a) 的 JailbreakBench 评测评判或拒答。作者称这些基准没覆盖代码评分所需的可编译性与逻辑意图,也没处理 Syntax-Semantics Gap。
- 评判注入:Maloyan et al. (2025) 研究 LLM-as-a-Judge 对提示注入的脆弱性。论文将其列入 Table 3,未给出与本文的数值对比。
教育评分
- 评分数据与作文博弈:Paiva et al. (2023) 的 PROGpedia 收集入门编程提交;Pathak et al. (2025) 用题目专用 rubric 改进代码评分;Eguchi (2025) 讨论作文评分中的关键词填充等博弈。
- 提示注入:Wang et al. (2025) 归类一般提示注入风险。作者称其没有处理本文定义的 rubric 劫持,本文也不是靠噪声抬分。
- 实验对照与数据:实验不以既有攻击为对照。对照是同一模型对未注入提交的分数 Yclean。提交来自 PROGpedia、Azcona 与 Smeaton、LREC(Petersen-Frey et al., 2022)和 Pathak et al.。Limitations 写明未运行 GCG。
作者称本文把越狱分类、面向 AST 的注入、教育评分、三项指标和四种语言评测放在一起。附录 A 称这是首个专门拆开语法严格性与语义意图的数据集。Table 3 用符号比较覆盖项,没有这些工作的攻击成功率。
How does the paper address this problem?
AST-ASIP 把载荷放进编译器忽略的区域,SPACI 用五类向量测评分器是否仍按代码给分。
整体做法是 AST-ASIP 加 SPACI:在保持可编译、执行结果不变的前提下,把对抗指令放进编译器忽略、评分模型仍会读取的区域,再用三项指标看分数是否脱离代码。作者称由于功能不变,评分失败来自模型侧。
双视图与攻击面
评分写成 fθ,把提交 x 和 rubric r 映射到 [0, 100]。作者设两个不重叠视图:编译器视图生成 AST,丢掉 trivia,并把标识符收成符号表;评分模型视图对全文做概率分词,给注释和标识符分配注意力。攻击面是二者的信息差:
S = VLLM(x) ∖ Vcomp(x)
S 含注释、docstring、空白,以及执行逻辑不解释其自然语言含义的变量名和函数名。对手最大化期望分数,但须编译成功、任意输入上执行结果不变,且扰动只在 S 内。
AST-ASIP 的三个算子
- 算子 A,词法封装:载荷进入 AST 的 TRIVIA 节点。作者给出的条件是词法分析器丢弃这些 token,评分模型的分词器仍保留。
- 算子 B,标识符遮蔽:对用户定义的变量和函数名做双射替换,并更新符号表以保持引用一致。新名字携带对抗 token。
- 算子 C,控制流交织:载荷放进不可达分支中的字符串或死代码。作者称运行时忽略该分支,评分模型仍会读到其中的 token。
- 附录 B 有三个算子的代码示例。作者称把非结构化越狱直接插入代码会破坏语法,因此按树寻找语法上惰性、语义上活跃的位置。
SPACI 五类
第 3.6 节称五类、17 个向量。Figure 2 纵轴有 17 个策略缩写;附录 D 按类点名的条目加总多于 17。附录 D 给出各类定义,这里只写作用范围。
- A,Raw Surface Perturbation:用算子 B 改标识符编码,包括 Emoji、Multilingual、SelfCipher。
- B,Non-Executable Payload Encapsulation:用算子 A 把指令包进注释或 docstring 的包装或碎片文本。
- C,System-Scope Alignment Drift:用算子 A 送入人设或模拟指令,使模型离开预先指定的评分身份。名称包括 Role Play、Virtual AI Simulation、Hypnotism、Role Play CoT、Ignore Prefix。
- D,Contextual Persuasion Heuristics:用算子 A 在注释中注入权威、互惠、规范等说服话语。
- E,Lexical-Based Output Constriction:用算子 C 在死代码中放格式约束。作者称以此把生成收进高分才是合法补全的通道。
三项指标与判定
解耦事件是对抗分减去同一模型的干净分,超过容差 δ。正文把 δ 设为总分的 15%;附录 F 把成功越狱写成分数上升至少 15 分。
E(x,ϕ)⟺ fθ(x⊕ϕ,r)−fθ(x,r)>δ
- P̂decouple:该事件在提交分布上的频率。趋向 1 表示作者所称的语义接地崩溃,趋向 0 表示 ϕ 不影响 x。
- Dadv:对抗分减干净分的期望,不设阈值,衡量偏移幅度。
- Ψ:对一对分数的非线性惩罚取期望。附录 C.3 设及格线 τ=50、λ=2.0、Smax=100;从不及格跨到及格时权重为 1+λ,作者称这是良性抬分的 3 倍,并在 100 处截断。附录 C 的 0.50、+22.5、42.5 是 N=4 的演算,不是实测。
干净分 Yclean 是同一模型对未注入代码的分数,不是全量人工标签。
评分协议
每份提交单次推理,temperature=0。系统提示要求输出一个 JSON,五维合计 100:Program Format 10、Time Complexity 15、Space Complexity 15、Correctness General 30、Correctness Edge Cases 30。注释符号按 question id 选择。解析器抽出第一个 JSON 对象并校验键和取值范围,失败则重试。附录 E 写并发、速率限制,以及最多 3 次退避、最多 3 轮补跑。
What experiments did the paper conduct?
Role Play 下 Table 2 的平均解耦概率从 GPT-5-Mini 的 29.5% 到 Llama-3.1-8B 的 97.1%。
实验设置
- 模型:Table 1 列出 9 个:DeepSeek-V3.2(294B)、Qwen3(235B)、GPT-OSS(120B)、Gemma-3(27B)、Llama-3.1(8B)、Llama-3.2(3B)、GPT-5、GPT-5 Mini、Gemini 2.5 Flash。论文未写后三个的参数量。
- 数据:来自 PROGpedia、Azcona 与 Smeaton、LREC(Petersen-Frey et al., 2022)、Pathak et al.;语言为 C、C++、Java、Python。作者称使用平均 45–50 行的完整提交,并构建 25,000 条对抗提交。
- 子集:S1 为 N=650,用于高容量模型和相关研究,95% CI 下误差约 3.8%。S2 为 N=2,500,用于较轻量模型,误差约 1.9%。摘要脚注写指标来自 N=2,500、MOE ±1.9%、95% CI。论文未逐模型写明用 S1 还是 S2。
- 对照与指标:对照是同一模型的未注入分数。指标为 P̂decouple、Dadv、Ψ。δ 在正文是总分的 15%,附录 F 是上升至少 15 分才记成功越狱。
- 抽样:temperature=0,每份提交单次推理。未注入语料上分层抽取 N=500 对,作者报告与人工标注的 Pearson r=0.92。论文未报告重复运行次数。
- 策略:作者称 17 个向量。Table 2 只报告 RP AC,以及相对全部策略平均值的偏差。
主结果
据 Table 2,下列数字都是 RP AC。偏差列是该表给出的、相对全部策略平均的 ▲ 或 •,不是另一次实验。
Swipe horizontally to read the table
模型 平均 P̂decouple 偏差 平均 Ψ C++ P Python P DeepSeek-v3.2 95.8% ▲59.4 51.0 100.0% 95.5% Qwen3-235B 89.0% ▲64.9 30.4 94.6% 88.7% GPT-OSS-120B 32.4% ▲8.0 1.6 33.3% 25.6% Gemma-3-27b 92.2% ▲48.7 38.0 97.8% 99.4% Llama-3.1-8B 97.1% ▲57.7 48.4 97.8% 98.9% GPT-5 71.6% •0.0 28.3 91.0% 62.1% GPT-5-Mini 29.5% ▲4.1 0.6 33.3% 23.0% Gemini-2.5-Flash 83.6% ▲23.6 42.9 96.7% 79.8% 省略 Llama-3.2-3B:平均 P 77.7%(▲38.9),平均 Ψ 31.7,C++ P 80.7%,Python P 82.2%。
- 作者称高 helpfulness 的模型会优先服从注入指令,而不是因为发现不了错误。按平均解耦概率,最高的是 8B 的 Llama-3.1-8B(97.1%),不是 294B 的 DeepSeek-v3.2(95.8%);同为开源大模型的 GPT-OSS-120B 为 32.4%。
- GPT-5 各格偏差为 0.0,RP AC 与其全策略平均相同。其余已列出模型的平均解耦偏差,Table 2 从 ▲4.1 到 ▲64.9。
- 作者称 GPT-5 Mini 平均 Ψ 为 0.6 看起来更稳,是因为它更跟不上复杂对抗指令,而不是更会判题。这是作者的解释。
语言差异
- Table 2 的 RP AC 中,GPT-5 的 C++ 为 91.0%、Python 为 62.1%、Java 为 60.1%、C 为 73.2%。引言写的是 91.01% 与 62.13%。作者把差异归因于 C++ trivia 区域的 token 密度。
- 同表中 DeepSeek-v3.2 的 C++ 为 100.0%、Java 为 90.0%;Gemini-2.5-Flash 的 C++ 为 96.7%,C 与 Python 均为 79.8%。作者称稳健性随语法和分词器如何处理 trivia 而变。
- Figure 2 图注称高容量开源权重模型对 Role Play 更易感,并与专有模型基线对比。Table 2 里 GPT-OSS-120B 的平均解耦为 32.4%,Gemini-2.5-Flash 为 83.6%。热图单元格数值在转换文本中不可读。
策略差异与 False Certification
- 作者称 Figure 2 中 Role Play(RPA,类 C)带来最高 Ψ,类 A 的标识符遮蔽对较大模型较弱。附录 H 称类 C 与类 E 占据高 Ψ 区域,类 D 较低,并称靠前策略的 Ψ 接近上限(Ψ ≈ 50+)。这些不是 Table 2 的格子。
- 第 5.4 节称 DeepSeek-V3.2 与 Llama-3.1 的 Ψ 大于 48.0,并称它们经常给不能编译的代码打 100/100。Table 2 的平均 Ψ 为 51.0 与 48.4;论文未给出“不能编译”样本的分母。
- 作者称 Figure 12 的 False Certification 区域是解耦概率高于 80% 且 Dadv 高于 40。Figure 14 的文字称 DeepSeek-V3.2 与 Llama-3.1-8B 超过 95%,GPT-5 Mini 与 GPT-OSS-120B 低于 30%,DeepSeek-V3.2 与 Qwen3-235B 高于 80%。Table 2 的 RP AC 平均值里,GPT-OSS-120B 为 32.4%,GPT-5-Mini 为 29.5%。
其他消融与分析
- 人工抽查针对未注入基线:N=500,Pearson r=0.92;论文未报告对抗样本的人工复判比例。
- Figure 16:作者称从较小子集 D1 到较大语料 D2,CUA 与 IPA 的解耦概率保持在 30% 以上或进一步变差。论文未给出该图逐点数值。
- Table 2:Llama-3.1-8B 的 C 为 100.0%,Gemma-3-27b 的 Python 为 99.4%,GPT-5-Mini 的 Python Ψ 为 0.1。
- Table 2 没有 Dadv。附录 C 的 P̂decouple=0.50、Dadv=+22.5、Ψ=42.5 是假设批次。
- 作者称类 A 对较大模型较弱、类 D 低于类 C 和类 E,但正文没有逐策略数值表。
- GPT-5 是 Table 2 中唯一全部格子偏差为 0.0 的模型。
What are some points that can be further explored?
作者指出未评估混合执行回路、四种语言之外的推广,以及未实现防御。
作者指出的局限与后续方向
- 没有执行环境:实验把 LLM 当作独立的静态 Universal Grader。作者称许多真实流程会先做单元测试,本文未评估编译器加 LLM 的回路;严格编译检查可能在进入上下文前拒绝部分语法较重的注入,尤其是 C++。(Limitations)
- 语言与分词器:分析限于 Python、C、C++、Java。作者称不能主张这些发现线性推广到 Haskell、JavaScript 或 Rust。(Limitations)
- 攻击动态:只做单轮、嵌在初次提交中的攻击;未做多轮争论改分。攻击是静态的,未用 GCG 等梯度后缀,而用 SPACI 中人类可读的提示。(Limitations)
- 防御:作者称提出 Pedagogical Alignment 作为理论方向,但没有实现或评测具体防御,也没有给出重训检查点或过滤算法。作者称开发并基准测试防御仍是后续开放问题。(Limitations)
实验覆盖范围
- 被评测的评分模型为 Table 1 的 9 个,语言为 C、C++、Java、Python。
- 作者称策略有 17 个、五类。Table 2 报告 RP AC 及相对全部策略平均的偏差;Figure 2 列出 17 个策略缩写,单元格数值在本文文本中不可读。
- 指标来自分层子集:高容量一侧为 S1(N=650),较轻量一侧为 S2(N=2,500)。作者称全量对抗语料为 25,000 条。论文未写每个模型对应哪一子集。
- 推理为 temperature=0、单次通过。干净基线的人工抽查为 N=500、Pearson r=0.92。论文未报告重复运行次数,也未报告对抗样本的人工复判比例。
- 对照是同一模型的未注入分数。Limitations 写明未运行 GCG,也未评测防御。
Summarize the main content of the paper
作者称 RLHF 的服从性使评分脱离代码;Table 2 的 Role Play 平均解耦最高为 97.1%。
这篇工作把自动代码评分中的失败称为 Compliance Paradox:评分模型可以离开提交逻辑,转而执行嵌在可编译代码里的隐藏指令。
- 问题:作者认为,能写代码并不等于能按证据判分。编译器忽略注释、空白和标识符含义,评分模型却会读它们。作者把这种分叉称为 Syntax-Semantics Gap。
- 做法:AST-ASIP 只在攻击面 S 内改提交,要求编译成功且执行结果不变。SPACI 把向量分成表面扰动、载荷封装、身份漂移、说服和输出约束五类;作者称共 17 个向量。失败用解耦概率、分数偏移和 Ψ 描述。Ψ 的及格线为 50,跨过该线时权重要乘上作者所设的 3 倍因子。
- 主数字:Table 2 只覆盖 Role Play(RP AC),对照是同一模型的未注入分数。四语言平均解耦概率:Llama-3.1-8B 为 97.1%,DeepSeek-v3.2 为 95.8%(Ψ 51.0),Gemma-3-27b 为 92.2%,Qwen3-235B 为 89.0%,Gemini-2.5-Flash 为 83.6%,GPT-5 为 71.6%,GPT-OSS-120B 为 32.4%,GPT-5-Mini 为 29.5%(Ψ 0.6)。GPT-5 的 C++ 为 91.0%、Python 为 62.1%;引言另写 91.01% 与 62.13%。除 GPT-5 偏差为 0.0 外,该表的 RP AC 高于各模型的全策略平均。
- 作者的结论:通用 RLHF 的服从性会使评分器优先满足格式约束,而不是代码正误。作者认为自动教育评分需要领域上的 Adjudicative Robustness,让证据优先于指令服从。作者同时写明,本文没有实现或评测具体防御。