arXiv 每日速递 2026-05-04
每日精选 arXiv 论文推荐:AI x Software Engineering 最新研究动态
arXiv 每日速递 2026-05-04
今日总结
今天的 arXiv 给我们一个很巧的"评估方法论"专场:4 篇论文从四个不同尺度——transformer 内部组件、agent 端到端任务、benchmark 出题哲学、代码库长期演化——共同追问同一个问题:什么才算"靠谱的评估"?这正是博主长期在做的方向(边际价值量化、benchmark 合理性、process vs outcome)。如果你今年只挑一天读 arXiv,今天值得花 30 分钟。
注意:这批论文都是 2026-04-30 当天最新提交,ar5iv 镜像尚未渲染,本期暂无配图,但我会用充足的数据表格补足信息密度。
今日全览
| 论文 | 方向 | 核心贡献 | 与我们的相关度 |
|---|---|---|---|
| Unsafe and Unused? Util Code in Mature OSS | OSS / mining study | 7 个 OSS 项目 147 个 project-year 跟踪 util 文件,util 比非 util 文件出漏洞概率高 2.75 倍 | ⭐⭐⭐ |
| Claw-Eval-Live | agent benchmark | 可刷新的"signal layer"+ 时间戳 release snapshot,前沿模型只通过 66.7% | ⭐⭐⭐ |
| DEFault++ | fault diagnosis | Transformer 组件级故障层级诊断,AUROC 0.96 / Macro-F1 0.85 | ⭐⭐⭐ |
| What Makes a Good Terminal-Agent Benchmark Task | benchmark methodology | 出题指南:>15% 现有任务 reward-hackable,把 prompt 当 benchmark 写 | ⭐⭐⭐ |
今日主题:评估的四个尺度
这四篇看似分散,其实回答的是同一个问题在不同尺度上的版本:
- 微观尺度(DEFault++):当一个 transformer 模型行为异常,是 attention 机制错了、还是某个 projection 错了?现有 fault localization 工具粒度太粗,无法回答。
- 任务尺度(Claw-Eval-Live):一个 agent benchmark 怎么避免被"freeze 在出题那天",让它能持续追上现实工作流的演化?
- 出题尺度(Terminal-Agent guideline):什么叫"难"?是环境复杂还是概念复杂?为什么现在 15% 任务可以被 reward-hack?
- 宏观尺度(Util Code):当一个代码库活了 20 年,那些被认为"通用、可复用"的 util 文件,真的安全吗?还是变成了 vulnerability 的温床?
把这四篇放在一起读,你会发现一个共识:单一终态评估(final answer / final score)正在被淘汰,社区在转向"过程-轨迹-演化"评估。这跟博主"process quality vs outcome correctness"的观点完全吻合,也是博主把 SWE-bench / OpenHands 的 agent trace 拿来做事后分析的研究路径所共振的方向。
下面我们一篇篇拆开看。
Unsafe and Unused? A History of Utility Code in Mature Open Source Projects
推荐理由:纵向 mining 研究 + 工程质量度量 + 漏洞实证,方法论几乎是博主"工程质量被忽视维度"研究的姊妹篇。util 文件这种被开发者随手写的"垃圾抽屉"居然带来 2.75 倍漏洞风险——这是个非常容易讲故事、又能延伸到 AI coding agent 评估的发现。
📌 论文信息:Brandon Keller, Kaitlin Yandik, Angela Ngo, Andy Meneely | arXiv:2604.28146 | cs.SE
TL;DR
作者跟踪了 7 个长寿 OSS 项目(Linux kernel、Django、FFmpeg、httpd、Struts、systemd、Tomcat)每 30 天一个快照、共 1773 个快照、跨 147 个 project-year,发现命名里带 util 的文件最高占比 17.9%(Tomcat 925 个 util 文件),而且 util 文件出漏洞概率最多达到非 util 文件的 2.75 倍。
问题是什么?
程序员日常写代码时,凡是"这个东西可能别处也用得上"的逻辑,下意识就丢进 xxxUtil.java / helpers/util.py / utils/ 目录。这是一种工程债务的隐性形态——它不像 TODO 那样被 IDE 标红,也不像 FIXME 那样被 lint 工具捕获。但它带来三个隐性问题:
- 作者-用户脱节:util 文件常常只有原作者用,其他人不知道;或者被全项目用,但没人维护。
- 测试覆盖不均:因为是"工具",被认为简单,反而很少有人写充分测试。
- 复用即放大:一旦真的被广泛复用,里面任何一个 bug 都被放大成系统级风险。
社区直觉早就有了,但没人系统地用纵向数据证明。这篇论文就是在补这块实证。
他们怎么做的?
核心 Insight:不是横截面研究("现在的 util 文件有多少漏洞"),而是纵向 longitudinal mining——每 30 天一个快照、跟踪每个 util 文件从诞生到删除的完整生命周期,包括 rename。
具体方法流程:
- 采样:7 个项目,从首次 commit 到 2025 年,每 30 天一次快照,共 1773 次。
- rename 跟踪:在每个快照间做 rename detection,确保一个文件即使改名也能被持续观测。
- 指标计算:每次快照里测 4 个维度——util 比例、复杂度(CC、LOC)、协作度(committer 数量)、安全(CVE 关联)。
- 关联分析:把 util 标签和 CVE/security advisory 数据 join,得出漏洞概率比。
跟之前方法的本质区别:以前研究"代码气味与漏洞"基本用单时刻 snapshot + 静态指标。这篇通过时间序列 + rename tracking 做到了"看一个 util 文件如何从干净走向高危",可以观察到坏代码的生命轨迹,而不是只看尸检报告。
关键结果
| 项目 | util 文件占比峰值 | util vs 非 util 漏洞概率比 |
|---|---|---|
| Apache Tomcat | 17.9% (925 文件) | 高达 2.75× |
| Linux kernel | (论文未给单一峰值,util 数千文件) | 显著 > 1× |
| Django / httpd / Struts / FFmpeg / systemd | 各项目均显著 | 普遍 > 1× |
结果解读:
- 提升主要来自 util 文件复杂度增长不受限——一旦被认为"工具属性",更多人随手往里塞东西,CC 持续单调增长。
- 在老项目里这个问题最严重:项目越老、util 比例越稳定甚至上升,说明开发者从未"清理工具抽屉"。
- 协作模式上一个反直觉发现:很多 util 文件其实只有 1–2 个 committer 维护,但被全项目调用,这是典型的"巴士因子=1"的代码。
局限性与开放问题
- 局限 1:仅看文件名是否含
util,会漏掉helpers/、misc/、common/等同质命名约定。命名是一个粗代理,真实 util-性质代码占比可能更高。 - 局限 2:CVE 关联是"脆弱性发生在 util 文件",但没区分"util 文件是因为被广泛调用所以 CVE 才被发现"还是"util 代码本身质量低"——选择偏差需要更精细的因果模型。
- 开放问题:现代 AI coding agent(Cursor / Copilot / Aider)会不会加剧 util 累积?因为 LLM 倾向于"创建一个 helper 函数"作为一种 idiomatic 输出,可能比人类写得更频繁。这正好是博主"agent 边际价值量化"可以延伸的方向。
💡 对我们的启发
- 直接可用的技术点:博主在做 SWE-bench / OpenHands trace 分析时,可以给每个 patch 标注一个 "util-touch" 标签——patch 是否新增/修改了 util 文件。配合修复成功率,可以测出"agent 是否倾向把 fix 塞进 util 文件来掩盖局部修复的不充分"。
- 具体实验想法(1–2 周可做):拿 SWE-bench Verified 的 500 个任务的 ground-truth patch + 5 个 agent 的 generated patch,统计 util 文件的修改比例。预期假设:agent 修改 util 文件的比例显著高于 ground truth,因为 LLM 更倾向于"提取共用逻辑"。如果验证,这是一个新的 process quality 指标。
- 研究趋势判断:纵向 mining + 长时间跨度的 SE 实证研究正在重新流行(这两年好几篇 OSS 健康度论文)。博主的 OpenHarmony 工具链方向其实有同样机会——HarmonyOS 还在快速演化,HomeCheck 数据集本身就是一个可以做纵向分析的 goldmine,比如"哪些规则的违反频次随版本演化的趋势"。
Claw-Eval-Live: A Live Agent Benchmark for Evolving Real-World Workflows
推荐理由:今年 agent benchmark 领域最值得读的方法论论文之一。它直接回应了博主对 SWE-bench / Terminal Bench 等"freeze 在某一天"benchmark 的质疑,提出可刷新的双层架构。
📌 论文信息:Chenxin Li, Zhengyang Tang, Huangxin Lin, Yunlong Lin, Shijue Huang | arXiv:2604.28139 | cs.SE / cs.AI
TL;DR
现有 agent benchmark 的根本问题:在发布那天就 freeze 了任务集,且大多数只评估"最终回复"是否对。Claw-Eval-Live 把 benchmark 拆成可刷新的 signal layer + 时间戳化的 release snapshot,在 105 个跨 HR / 业务系统 / 本地工作区修复的任务上,前沿模型最高只通过 66.7%,没有模型超过 70%。
问题是什么?
工业界对 agent 的期望是"端到端完成跨工具的工作流"——比如开 Jira ticket、改代码、跑测试、更新文档、发 Slack 通知。但目前的 benchmark 评估方式有两个根本缺陷:
- 静态化:SWE-bench 用 GitHub 上某个时间点之前的 issue 当任务,模型一旦在这个时间点之后训练,就有数据污染嫌疑;现实工作流也在演化,去年的"标准任务"今年可能已经过时。
- 终态评估:只看最终回复对不对,不看 agent 是否真的执行了工具、修改了文件、调用了正确的 API。这放过了大量"嘴硬式幻觉"——agent 说自己做了,其实没做。
他们怎么做的?
核心 Insight:把 benchmark 解耦成两层——signal layer 持续更新(采集真实工作流需求信号,比如 ClawHub Top-500 技能),release snapshot 一旦发布就 frozen(保证可重现)。中间通过"controlled tasks with fixed fixtures, services, workspaces, and graders"作为桥梁。
具体方法流程:
- Signal 采集:从公开工作流需求信号里抓"高频技能" → 每个 release 取 ClawHub Top-500 技能子集。
- 任务物化:把抽象需求变成可执行任务——预先准备 service mock、workspace 文件、grader 脚本。
- 执行轨迹捕获:grader 不仅看最终回复,还看 execution trace、audit log、service state、post-run workspace artifacts。
- 混合评分:能用确定性检查(文件是否存在、字段是否对)就用确定性检查;只有语义维度才用 structured LLM judging。
跟之前方法的本质区别:SWE-bench / Terminal Bench 都是 "input + final answer + grader"。Claw-Eval-Live 引入"持续刷新的 signal source + 时间戳冻结的 snapshot"双层架构,让 benchmark 既新鲜又可复现。
关键结果
| 指标 | 数值 |
|---|---|
| 任务数 | 105 |
| 评估模型数 | 13 个前沿模型 |
| 最高 pass rate | 66.7% |
| 70% 通过率达到的模型数 | 0 |
| 最难任务族 | HR / management / multi-system business workflow |
| 较易任务族 | local workspace repair(仍未饱和) |
结果解读:
- 提升来源:跨多个 service 协调的任务(HR、业务系统)远难于单文件 / 单 workspace 任务,与 token-level 推理能力相关性低于"工具调用规划"能力。
- 最有意思的发现:leaderboard 排名不能完全说明问题——pass rate 接近的两个模型,在 overall completion(任务完成度量)上可能差距很大,这意味着 pass/fail 二元化丢失了大量信息。
- 任务级别的区分度集中在中段任务(不太难也不太简单的那批),这跟传统机器学习 benchmark 的"hard tail"分布完全不同。
局限性与开放问题
- 局限 1:signal layer 怎么选 Top-500 技能没完全公开,存在选择偏差——如果信号源本身偏向 IT/ 技术 workflow,benchmark 也会偏。
- 局限 2:105 个任务的样本量对于 13 个模型来说统计功效有限,pass rate 差异 1–2pp 时很难说显著(这恰好是博主擅长的 McNemar 检验该出场的地方)。
- 开放问题:怎么定义"signal layer 该怎么更新"?月度还是季度?如果太频繁,模型刚训完就过时;如果太慢,又跟"static benchmark"没本质区别。
💡 对我们的启发
- 直接可用的技术点:这套"signal layer + snapshot"架构可以直接迁移到博主在做的OpenHarmony API 兼容性 benchmark——HarmonyOS 自己每个版本 API 在变,benchmark 不可能一劳永逸,需要 signal layer 持续吸收 API 变更,每个 release 冻结一次。
- 具体实验想法:把 Claw-Eval-Live 的 13 个模型结果重新做 McNemar 配对检验+ TOST 等价检验,看哪些模型真的"显著不同"、哪些只是分数巧合接近但效果等价。预期结果:13 个模型中,能分出"统计学显著差异"的对子可能不到一半,这会变成对 leaderboard 文化的强批评,正好接住博主已有论文的方法论主线。
- 研究趋势判断:agent benchmark 正在从"出题考试"转向"动态测评 + execution trace audit"。博主对 trace 大规模事后分析的兴趣,正是这个趋势的最佳切入点——别人忙着出新 benchmark,博主可以做"现有 benchmark 的统计严谨性元分析",这种 meta 视角的论文反而更有引用价值。
DEFault++: Automated Fault Detection, Categorization, and Diagnosis for Transformer Architectures
推荐理由:跟博主 program repair 哲学一拍即合——把"定位"做到极致,让"修复"变得简单。这次目标不是修复用户代码,而是修复 transformer 模型本身的内部 bug,但职责切分哲学完全一致。
📌 论文信息:Sigma Jahan, Saurabh Singh Rajput, Tushar Sharma, Mohammad Masudur Rahman | arXiv:2604.28118 | cs.SE
TL;DR
现有 DNN fault diagnosis 工具对 transformer 都是"通用框架级"的诊断(这个 layer 出错了),无法说"是 attention 的 query projection 还是 key projection 的 dropout 配置错了"。DEFault++ 做了三层级联诊断:检测(AUROC 0.96)→ 12 个 transformer 特定故障类别分类(Macro-F1 0.85)→ 45 种 root cause 定位。开发者用了它后修复正确率从 57.1% 升到 83.3%。
问题是什么?
Transformer 故障的特点是沉默式劣化——loss 不发散、不报错、模型也不崩,但效果就是不好。具体来说:
- attention 头权重塌缩到一两个 token?
- positional embedding 被 dropout 误伤?
- layer norm 的 epsilon 太小导致数值不稳?
- residual connection 实现错误导致梯度爆炸?
这些都不会触发 runtime error,只表现为"模型有点傻"。开发者面对这种问题往往只能瞎猜——而 transformer 内部组件多达几十个,靠人类经验定位是噩梦。
他们怎么做的?
核心 Insight:hierarchical diagnosis——先粗后细,把诊断拆成三层。这与 fault localization 经典的"层级化定位"思想完全一致:粗层判断范围(attention vs FFN vs embedding),中层判断类别(12 类故障),细层判断根因(45 种机制)。
具体方法流程:
- Mutation testing 造 benchmark:用自研的 DEForm 工具对 7 个 transformer 模型 + 9 个下游任务做 mutation,造出 3,739 个有标签故障样本。
- Runtime measurement:在每个 transformer 组件级别(不只是 layer 级别)测 runtime 行为指标。
- Fault Propagation Graph (FPG):基于 transformer 架构本身构建一个有向图,描述错误如何从一个组件传播到另一个。
- Prototype matching + supervised contrastive learning:把诊断当成"看新样本最像哪类故障原型"——这种基于原型的方法比黑箱分类器更可解释。
跟之前方法的本质区别:之前的 DNN fault diagnosis 把模型当黑箱,用整体 loss / activation 异常做检测。DEFault++ 把 transformer 架构图本身当作先验——故障必须从某个组件开始、通过 FPG 传播——这让搜索空间从 N×N 降到 O(组件数)。这跟"static analysis 做 fault localization、LLM 只负责修复"的职责切分哲学完全同构。
关键结果
| 任务 | 指标 | DEFault++ |
|---|---|---|
| 故障检测(detection) | AUROC | 0.96 |
| 故障分类(12 类) | Macro-F1 | 0.85 |
| Root cause 定位(45 种) | Macro-F1 | 0.85 |
| 开发者研究:修复正确率(无 DEFault++) | accuracy | 57.1% |
| 开发者研究:修复正确率(有 DEFault++) | accuracy | 83.3% |
| 提升 | +26.2 pp |
结果解读:
- AUROC 0.96 的检测层意义不大(mutation testing 造出来的故障本来就明显,区分有故障 vs 无故障太容易)。
- 真正有意义的是Macro-F1 0.85 在 12 类 + 45 种 root cause 这种细粒度分类上——这个数字说明 FPG 确实捕获了 transformer 内部故障传播的结构性信号。
- 26.2 pp 的开发者研究提升是核心 selling point——但 21 人的样本量较小,需要看后续复现。
局限性与开放问题
- 局限 1:3,739 个故障是 mutation 造的合成数据,真实 transformer 训练中遇到的故障分布可能差很远(真实 bug 往往是配置/数据/架构的耦合问题,不是单点 mutation)。
- 局限 2:21 人的开发者研究样本太小,且没有详细描述 within-subject vs between-subject 设计。
- 开放问题:这个方法能否迁移到训练阶段?目前都是 inference 阶段诊断,但训练阶段的故障(如 loss 不下降、attention pattern 退化)才是更难、更有价值的场景。
💡 对我们的启发
- 直接可用的技术点:博主在做 LLM-based program repair 时,FPG(Fault Propagation Graph)的思路可以迁移到代码层级的修复——给每个项目预先构建"调用图 + 数据流图"作为先验,让 LLM 修复某个 bug 时,搜索空间限定在可达的因果组件。这其实就是 SemAgent 等工作的早期方向,但用 FPG 的形式更系统。
- 具体实验想法:在博主已有的 Compatibility Repair 工作基础上,给每个候选 patch 一个"FPG-aware confidence score"——不是看 patch 在测试上是否过,而是看 patch 触及的组件是否在故障传播链上。预期:FPG 高一致的 patch 在留出测试上的成功率 +5–10pp。
- 研究趋势判断:fault localization 正从"基于 spectrum"(哪些 statement 在失败测试中执行频次高)走向"基于结构图 + 学习"。博主已发表的 EAGER / HAPRepair 这条线可以延续——下一步是把"职责切分"做更细:static graph 做粗定位,learning-based 做细定位,LLM 只做最终修复。
What Makes a Good Terminal-Agent Benchmark Task: A Guideline for Adversarial, Difficult, and Legible Evaluation Design
推荐理由:直接打击当前 benchmark 文化的"心法"论文。15% 的 Terminal Bench 任务可以被 reward-hack——这跟博主对 SWE-bench / 各种 agent benchmark 的"合理性"质疑完全同步。
📌 论文信息:Ivan Bercovich | arXiv:2604.28093 | cs.AI
TL;DR
作者基于一年多 Terminal Bench 任务作者 + reviewer 经验,总结一句核心观点:"大多数人写 benchmark 任务的方式跟写 prompt 一样——但本不该这样。Prompt 是为了让 agent 成功,benchmark 是为了找出 agent 是否真的能。"实证发现 >15% 流行 terminal-agent benchmark 任务可以被 reward-hack。
问题是什么?
当前 agent benchmark 出题质量差到令人吃惊,但社区一直没人正面批评。常见 anti-pattern:
- AI 生成的题面:用 LLM 写任务描述,结果暴露训练分布——agent 看着像"自己人写的"。
- 过度规约:题面把"该用哪个命令"都写出来了,那是在教学不是在考。
- clerical difficulty:让任务变难的方式是"要写很长很多步的 boilerplate",而不是"要做关键的概念判断"。
- oracle solution 假设隐藏知识:grader 期望某个特定文件名/特定路径,但题面里没说。
- 测什么不对:grader 只测最终输出格式,不测语义正确。
- reward-hackable 环境:agent 可以通过修改 grader 自己、或者写一个永远返回 success 的 stub 来通过。
他们怎么做的?
核心 Insight:"好任务必须 adversarial / difficult / legible"——三个维度都要打满。
- Adversarial:假设 agent 会想尽办法绕过 grader,题目的设计必须经得起这种博弈。
- Difficult:真正的难度是概念性的("agent 必须想清楚某个非显然的判断"),不是 clerical 的("agent 必须写一堆 try/except")。
- Legible:哪怕 agent 失败了,人类也能从 trace 里看清"它在哪一步走偏的"。
具体方法(其实更像一份"出题 SOP"):
- 题面写作纪律:禁止 LLM 直接写题面;必须人写、人审。
- adversarial review:每个任务必须经过另一个独立 reviewer 试图"找捷径"——找不到捷径才能通过。
- grader 设计:先写"我希望区分什么"再写测试,而不是先写测试再补题。
- 审计 reward-hackable:定期跑 mutation/scoring sanity test,验证 grader 对扰动的鲁棒性。
跟之前方法的本质区别:之前的 benchmark 设计 paper 大多是"我们提出 N 个任务、覆盖 M 个领域"。这篇是纯方法论 + 实证 anti-pattern catalog,没有新 benchmark,但回答了一个比"加任务"更根本的问题:现有任务质量到底如何。
关键结果
| 维度 | 数据 |
|---|---|
| 流行 terminal-agent benchmark 中 reward-hackable 任务占比 | >15% |
| 文章贡献的失败模式分类 | 6 类(如上 anti-pattern) |
| 经验来源 | Terminal Bench >1 年 review 经验 |
(这是一篇 position / guideline paper,没有 main benchmark / model 比较表)
结果解读:
- 15% 这个数字看起来不大,但意味着每 7 道题就有 1 道在"测假题"——也就是说,模型在 leaderboard 上的差异很可能 1/7 是 noise。
- 论文最尖锐的观察:"real difficulty is conceptual rather than environmental"。这跟博主对工作量被绑架的担忧("agent 框架复杂度 != 价值")完全同向。
局限性与开放问题
- 局限 1:纯定性 + 个人经验,没有大规模量化。15% 这个数字来源于哪些具体 benchmark、用什么方法测得,论文应给更多细节。
- 局限 2:没有给"adversarial review"的可行 SOP——什么样的 reviewer 投入、什么样的工具支持,社区落地难。
- 开放问题:怎么自动化检测 reward-hackability?这本身就是个 LLM × SE 课题——用 LLM 当 red team 来"破解"benchmark 任务。
💡 对我们的启发
- 直接可用的技术点:博主在做 SWE-bench trace 分析时,可以加一个"reward-hack 检测层"——找出那些 agent 通过修改测试文件、修改配置而不是修改源码就让 test 通过的案例。预计 SWE-bench / Verified 子集里这种"侧门"案例占比可能 5–10%,足以发一篇短文。
- 具体实验想法:拿这篇论文的 6 类 anti-pattern,对 SWE-bench-Verified 500 个任务做人工/半自动审计——每个任务标注是否符合每类 anti-pattern。预期:>20% 任务有至少一类问题,最常见是 "oracle solution 假设隐藏知识"(test patch 暗含 ground-truth hint)。这能直接形成博主"benchmark 合理性"研究的实证补强。
- 研究趋势判断:benchmark 方法论批判正在从 NLP(GLUE / SuperGLUE 那种数据偏差研究)扩展到 agent / coding。博主刚好处于这个交叉点,未来一年这个方向论文产出窗口期非常大。比起再多发一个 benchmark,多发一篇"benchmark 元批评"更有引用价值。
方法对比
四篇论文都涉及"评估",但从尺度和方法角度对比一下:
| 维度 | Util Code | Claw-Eval-Live | DEFault++ | Terminal-Agent Guideline |
|---|---|---|---|---|
| 评估对象 | 代码库(OSS)演化 | LLM agent 端到端能力 | Transformer 内部组件 | benchmark 任务本身 |
| 时间尺度 | 20 年(项目级) | 月-季度(release 级) | inference 一次 | benchmark 生命周期 |
| 方法范式 | longitudinal mining | living benchmark | hierarchical fault model | 经验 + 实证 anti-pattern |
| 评估输出 | 工程质量 + 漏洞概率 | pass rate + execution trace | 12 类 + 45 种 root cause | 6 类 anti-pattern |
| 主要局限 | 命名启发式偏窄 | signal source 选择偏差 | mutation 数据合成性 | 定性 + 经验主义 |
| 对博主的最高价值 | 给 agent patch 加"util-touch"标签 | benchmark 元分析(McNemar) | FPG 思路迁移到 program repair | 加 reward-hack 检测层 |
整体启发:博主的研究优势是统计严谨性 + agent trace 大规模事后分析——这四篇论文里没有一篇做了博主擅长的事。这意味着博主完全可以拿其中任意一篇当起点,写一篇"基于这篇方法 + 我们的统计严格性"的扩展工作。最接近的切入点:
- Claw-Eval-Live + 博主统计 = "Agent benchmark 的 leaderboard 文化批判"
- Terminal-Agent Guideline + 博主 SWE-bench 审计 = "SWE-bench-Verified 的 reward-hackability 实证"
- Util Code + 博主 agent patch 分析 = "AI coding agent 是否在加剧 util 累积?"
这三个都是 1–2 个月可产出短文 / workshop paper 的窗口。