Skip to content

Translation in progress Some entries still include text in the original language.

Hugging Face Daily Papers· arXiv:2609.33987·Indexed by this site · Originally published

Opera:面向长程编码 Agent 的口头批评者框架

Opera: A Verbal Critic Framework for Long-horizon Coding Agents

Quick read

Other

Based on 论文 PDF (AI 生成); refer to the original

GPT-5.6-Sol批评下,Opera使Qwen3.5-9B的SWE-Pro resolve rate+15.0 pp。

Questions
长程编码智能体常重复失败或未验证就报完成,误判未完成工作的反馈还可能有害。现有批评很少跟踪反馈之后问题是否真的解决。
Methods
Opera把一次纠正做成持久笔记:周期或五类事件触发审查,九个带契约的算子每次只诊断一个问题,准入审计通过才交付,并分开跟踪遵从与解决。
Experiments and results
GPT-5.6-Sol批评下,Qwen3.5-9B在TB2.1与SWE-Pro的resolve rate提高12.4与15.0个百分点。Table 1的DeepSWE增益为8.9个百分点。Qwen3.5-9B在DeepSWE无任务解决。
Limitations and future work
结论写训练来自单模型监督微调和一个域外基准,后续可扩大数据、用训练后模型迭代,或与强化学习结合。实验含三个基准、四种策略模型;Table 1未写重复次数。
Experimental setupQwen3.5-9B (thinking)、Muse-glimmer-30B (high) et al. · Terminal-Bench 2.1、SWE-Bench Pro et al. · resolve rate
Evaluated models
Qwen3.5-9B (thinking)Muse-glimmer-30B (high)Qwen3.8-27B (xhigh)Deepseek-V4-Flash-0731 (max)
Benchmarks
Terminal-Bench 2.1SWE-Bench ProDeepSWE v1.1
Metrics
resolve rate
AI summary研究者提出 Opera,一个面向长程编码 Agent 的口头批评者框架,把每次纠正当作持续跟踪的笔记,直到被诊断的问题真正解决。它通过周期性与事件驱动触发决定何时审查,用带类型的算子诊断问题,在交付前依据可见证据审核反馈,并跟踪 Agent 后续动作以区分表面服从与实际解决。作为测试时批评者,Opera 在 Terminal-Bench 2.1、SWE-Bench Pro 子集和 DeepSWE v1.1 上,跨四个策略模型把非批评者 Agent 的解决率分别提升最多 12.4、15.0 和 8.9 个百分点,并在三个基准上取得竞争性批评者基线中最高的平均解决率,也能在策略模型自我批评时带来提升。代码已开源于 https://github.com/dongyuanjushi/Opera。

研究者提出 Opera,一个面向长程编码 Agent 的口头批评者框架,把每次纠正当作持续跟踪的笔记,直到被诊断的问题真正解决。它通过周期性与事件驱动触发决定何时审查,用带类型的算子诊断问题,在交付前依据可见证据审核反馈,并跟踪 Agent 后续动作以区分表面服从与实际解决。作为测试时批评者,Opera 在 Terminal-Bench 2.1、SWE-Bench Pro 子集和 DeepSWE v1.1 上,跨四个策略模型把非批评者 Agent 的解决率分别提升最多 12.4、15.0 和 8.9 个百分点,并在三个基准上取得竞争性批评者基线中最高的平均解决率,也能在策略模型自我批评时带来提升。代码已开源于 https://github.com/dongyuanjushi/Opera。

Paper analysis

6 questions; open one to read the full answer

  1. What problem does this paper attempt to solve?

    长程编码智能体需要可跟踪的纠正,Opera把每次批评做成持久笔记并跟到解决。

    长程编码智能体需要执行中的纠正,但反馈可能误判未完成工作,而且很少被跟踪到原问题是否真的解决。

    • 场景:作者称仓库级任务要经过代码探索、编辑和测试;长程中智能体常重复不成功的动作或冗余探索,也可能在任务尚未验证时就报告完成。
    • 现有不足:作者称 Self-Refine、Reflexion、CRITIC,以及面向编码的 SWE-PRM、SWE-Search、Agentic Rubrics,侧重评估轨迹和生成反馈,很少跟踪反馈交付之后发生了什么。
    • 三个难点:何时介入——周期反馈可能太晚,也不是每个执行事件都该纠正;反馈是否有据——对部分证据的误读可能打断本会成功的轨迹,作者引 Vasudev et al., 2026,并称 LLM 评判即使核对写明的标准也有噪声(Peng et al., 2026);干预是否生效——智能体可能照做建议,底层失败仍在。
    • 本文做法:提出 Opera,把每次纠正做成持久笔记:发现问题才打开,有据才交付,执行中跟踪,证据支持解决才关闭。它只通过执行轨迹和自然语言反馈接入现有 harness,不更新智能体权重。
  2. What related research exists?

    相关工作分批评验证与测试时扩展;Opera强调反馈之后的跟踪和交付前审计。

    论文第 2 节把相关工作分成批评/验证器与测试时扩展,引言另把反馈本身看成事后才显出价值的干预。

    • 早期自我反馈:Self-Refine(Madaan et al., 2023)做迭代自我反馈;Reflexion(Shinn et al., 2023)做跨尝试的口头反思;CRITIC(Gou et al., 2023)做工具落地的批评。论文此处是描述,没有逐篇对照实验。

    • 仓库级批评与验证:SWE-PRM(Gandhi et al., 2025)按固定间隔审查轨迹,并给分类学指导的纠正反馈。Agentic Rubrics(Raghavendra et al., 2026)为候选补丁构造仓库特定标准。SWE-Shepherd(Dihan and Khan, 2026)用训练过的过程奖励模型引导中间动作选择。作者明确拿 SWE-PRM 的固定间隔和 Opera 的混合调度对比。

    • 验证噪声:RuVerBench(Peng et al., 2026)指出基于 LLM 的 rubric 验证有相当噪声。作者据此要给批评反馈做显式质量控制,而不是把该判断写成 Peng 等人自己的方法主张。

    • 搜索式测试时扩展:Tree of Thoughts(Yao et al., 2023)探索备选推理状态;Language Agent Tree Search(Zhou et al., 2023)把树搜索与反思、环境反馈合在一起。

    • 编码上的采样与搜索:SWE-Search(Antoniades et al., 2024)对仓库级任务做蒙特卡洛树搜索;S∗(Li et al., 2025)结合并行采样、顺序精炼和执行落地的选择。

    • 选择与编排:Kim et al.(2026)用 rollout 摘要做轨迹选择与复用;He et al.(2026)用差分测试选候选;Qin et al.(2026)用 LLM 编排器分配求解器并综合答案。论文只描述这些工作。

    • 基线方法:非批评智能体,以及 SWE-PRM、SWE-Search、LLM-as-verifier(Kwok et al., 2026)、Agentic Rubrics。过程批评被改成与 Opera 相同的混合审查时刻,作者称这是为了公平比较(附录 A.1)。

    • 基准:Terminal-Bench 2.1(89 任务,Terminus-2)、SWE-Bench Pro 的 100 任务子集(OpenHands)、DeepSWE v1.1(113 任务,mini-swe-agent)。

    作者把 Opera 放在“把额外测试时计算用在诊断并纠正一条正在进行的轨迹”上:混合调度决定反馈何时有必要,审计后的干预决定它如何引导后续执行。

  3. How does the paper address this problem?

    Opera用混合触发、类型化算子和审计笔记,把口头批评跟到原问题被解决。

    Opera 把监督收成一条持久笔记:一个已诊断问题、当前指导、固定的解决标准。标准固定,是为了以后对着原问题而不是最新指导来判断是否解决。Figure 2 把流程分成何时审查、如何干预、如何跟踪更新。测试时它不更新权重,只通过轨迹和自然语言反馈接入 harness。

    混合审查调度

    • 正文规则:每 k 个回合做周期审查,并在五类事件上立即审查:Idle(无可见进展)、Repeat(重复动作)、Error(动作或工具失败)、Claim(报告完成)、Submission(最终补丁)。同时出现的信号合成一次审查;事件审查重置周期计时。审查可以保持沉默。
    • 作者给出的理由:只靠周期会慢,智能体可能在下次审查前多次重复失败命令;只靠事件会漏掉静默失败,例如自信地改错文件。这与 SWE-PRM 的固定间隔不同。
    • 附录 A 的阈值:尝试结束时审查;三次重复或连续三次失败命令后审查;六次工作动作仍无成功编辑时审查;否则每 5 个智能体回合审查,更长的 DeepSWE 为 10,从第 3 回合起,至少间隔 2 回合。最新 30 条消息保留原文,长消息只留首尾,更早的省略。批评者还看到当前开放笔记、解决标准和笔记历史。

    算子化审查

    • 九个算子、五阶段:Search 为 repo_localization_search、implementation_target_shift;View 为 implementation_readiness_review、failure_signature_triage;Edit 为 requirement_contract_review、diff_scope_review、state_transition_review;Test 为 minimal_repro_or_focused_verifier;Submit 为 submission_readiness_review。全程都可选,因为智能体常回到较早阶段。
    • 契约:作者按 Design by Contract 规定每个算子何时适用、要什么证据、可要求什么纠正、何时算解决、排除哪些问题。排除条款用来减少重叠;解决条款后来成为笔记的核对标准。
    • 一次一个问题:输入是任务、执行历史、触发原因和当前笔记。输出 continue,或一个有证据的问题及最小纠正。作者称不必要的干预可能打断本会成功的轨迹,所以允许沉默;每次只留一个问题,以免指令竞争,并让后续结果能归到某次纠正。提案写明算子、证据、位置、当前行为、所需改动和验证方式,并另报开放笔记是否仍未解决。

    审计式笔记管理

    • 生命周期:笔记为开放或关闭,同时最多一个开放笔记。可在没有开放笔记时新建,或在新证据改变诊断时更新;更新可改算子和指导,但不改身份和标准。两个审计只接受或拒绝,不改写提案。
    • 准入:有效性与重复检查之后,审计核对证据是否支持诊断、纠正是否必要、所提检查能否确立解决。作者举例:与任务无关的可选清理,以及没有新证据却重复旧指导,都会被拒。拒绝则当前笔记不变。
    • 遵从与解决:遵从由规则检查智能体是否尝试了纠正;解决对照固定标准,问原问题是否消失。Figure 3b 的例子是:加上建议的 guard 后,要求的测试仍失败。关闭须发布审计:行为要求看执行结果,静态要求看可见编辑。接受后归档,并把指导移出上下文。关闭先于准入,同一次审查可以关掉一个问题再打开下一个。
    • 接入约束(附录 A):Opera 作为智能体与模型端点之间的代理,最多插入一条消息。批评者不执行命令、不访问文件、不跑测试;超时或回复无法解析时原样转发。指向隐藏测试或评测材料的笔记、6 回合内重复同一建议的笔记会被丢弃。近期观察一半以上仍是新内容时,readiness 笔记暂不交付。准入审计是另一次批评模型调用,不设置信度阈值。

    引导轨迹如何变成训练样本

    • 两种来源:Opera 引导的学生轨迹以 Qwen3.5-9B 为策略、Qwen3.8-27B 为批评者;教师轨迹以 Qwen3.8-27B 为策略、不加批评。附录 B 让两者监督同一批任务。
    • 去掉批评者依赖:推理时不再加批评,所以上下文中的批评笔记被删除。附录 B 写,4.9% 的回合交付了经审计的笔记,其诊断被改写成该回合自己的推理并加在思考之前;提到批评者的句子被删除。损失只算在目标回合上。
  4. What experiments did the paper conduct?

    Table 1里Opera均值高于四基线;Figure 4中Qwen3.5-9B在SWE-Pro提高15.0个百分点。

    实验设置

    • 策略模型:Qwen3.5-9B (thinking)、Muse-glimmer-30B (high)、Qwen3.8-27B (xhigh)、Deepseek-V4-Flash-0731 (max)。默认批评者为 GPT-5.6-Sol (high)。第 5.3 节另用策略模型自身和 Claude;论文未写 Claude 的版本。
    • 基准与环境:Terminal-Bench 2.1,89 任务,Terminus-2;SWE-Bench Pro,从经 OpenAI 基准审计启发而修正的集合中抽 100 任务,覆盖原始 swebench-pro 的全部仓库,OpenHands;DeepSWE v1.1,113 任务,mini-swe-agent。Harbor 管理任务,Pier 做反作弊网络隔离。超时用 Harbor 官方数据集卡的任务特定值,正文未给秒数。
    • 基线:非批评智能体;过程批评 SWE-PRM、SWE-Search;结果侧 LLM-as-verifier、Agentic Rubrics。附录 A.1 把过程批评改到与 Opera 相同的混合审查时刻。LLM-as-verifier 用 1–20 分,至少 14 才接受;Table 1 的 GPT-5.6 批评用采样分数。Agentic Rubrics 每任务最多八条仓库 rubric。
    • 指标与重复:主指标是 resolve rate(%)。Figure 1 纵轴写 Task success rate,Figure 4 写 Task resolve rate。表中为 mean ± std;Figure 4 写误差条为 sample standard deviation。Table 3、4、5 写三轮;Table 1 未写轮数。
    • 判定:第 4 节未把三个基准的成功判定都写成隐藏测试、规则或人工。附录 D 的案例把成功写成 hidden tests pass。主结果不是另设的 LLM 裁判分。
    • 训练评测:第 4.3 节在推理时去掉批评者,再测微调后的 Qwen3.5-9B。

    主结果

    Table 1 的策略是 Qwen3.8-27B。第 4.1 节写,未另行说明时批评者为 GPT-5.6-Sol。单位为 %。

    Swipe horizontally to read the table

    方法TB-2.1SWE-ProDeepSWE
    Non-critic65.9 ± 1.775.3 ± 1.232.4 ± 1.0
    SWE-PRM68.9 ± 3.277.7 ± 2.536.6 ± 3.1
    SWE-Search70.0 ± 4.777.3 ± 3.838.6 ± 4.4
    LLM-as-verifier71.2 ± 2.678.7 ± 2.338.9 ± 2.3
    Agentic Rubrics71.9 ± 4.578.3 ± 3.239.5 ± 2.8
    Opera73.8 ± 2.379.3 ± 3.541.3 ± 3.1
    • 作者称 Opera 在三个基准上的平均 resolve rate 都最高;相对最强基线的差距,正文写为 Terminal-Bench 2.1 上 1.9 pp、DeepSWE 上 1.8 pp、SWE-Bench Pro 上 0.6 pp。表中 Gain 行为 +7.9、+4.0、+8.9 pp。
    • 作者称 SWE-Bench Pro 上非批评智能体已经较强,各批评的增益相近且不大。作者认为这与两点设计有关:执行中介入,以及关闭前每条笔记有显式解决标准。
    • 过程批评基线已被改到同一审查时刻,因此 Table 1 不是这些方法原文调用方式下的数字。

    不同策略模型

    • 正文点名的增益:批评者为 GPT-5.6-Sol 时,Qwen3.5-9B 在 Terminal-Bench 2.1、SWE-Bench Pro 上提高 12.4、15.0 pp。Figure 4 左栏标注 23.6、36.0 与 35.3、50.3,与这两个增益相符。该模型在 DeepSWE 上,有批评或无批评都没有解决任务。
    • Figure 1 的面板标注:SWE-Bench Pro、Muse-glimmer-30B 下为 +11.0 pp;Terminal-Bench 2.1、DeepSeek-V4-Flash 下为 +4.1 pp;DeepSWE、Qwen3.8-27B 下为 +8.9 pp。Figure 4 的 DeepSeek 面板另有 +4.0 pp、+4.1 pp、+8.8 pp,正文未逐项对应到基准。
    • 作者的解读:除上述 DeepSWE 例外,每个策略模型在每个基准上都有提高。作者称较弱智能体通常受益更多,但余量比模型强弱本身更重要;DeepSeek-V4-Flash 在已经较强的基准上增益不大,在更难的 DeepSWE 上增益更大。作者称 Muse Glimmer-30B 在 DeepSWE 上从低起点将近三倍,绝对增益仍然有限;Figure 4 该栏标注 3.5、10.0 与 +6.5 pp。作者认为批评不能代替缺失的能力。

    训练配方

    • 数据:SWE-Bench Pro 按仓库分成 270 个训练任务和 108 个 held-out 任务(Table 2)。选出 67 个任务:基座 Qwen3.5-9B 在三次无批评运行中最多成功一次,至少一次批评引导运行成功,且 Qwen3.8-27B 无批评也能成功。另在 Terminal-Bench 2.1 上评测,任务形式和 harness 都与训练数据不同。
    • Table 3(三轮,推理时无批评,%):基座在 held-out SWE-Pro、TB2.1 上为 28.7 ± 1.9、23.6 ± 1.9;Qwen3.8-27B 教师轨迹为 39.5 ± 1.4、7.9 ± 1.9;Opera 引导轨迹为 38.9 ± 2.4、25.8 ± 2.2。
    • 作者的解读:正文称两种来源都把 held-out SWE-Bench Pro 提高约 10 pp,彼此没有有意义的差别;摘要与贡献写 Opera 引导轨迹为 +10.2 pp,并称与更强模型的轨迹微调相称。TB2.1 上教师轨迹从 23.6% 降到 7.9%,Opera 引导轨迹为 25.8%。作者主要将其归因于动作来自谁:教师轨迹对学生对齐是 off-policy;Opera 引导轨迹近似 on-policy,批评只通过上下文中的笔记进入。

    批评行为与审计

    • 算子分布:Figure 5 中 Edit 阶段占已交付笔记的大部分,Search 与 Submit 少。Qwen3.5-9B 的 requirement contract 为 41.7%;Qwen3.8-27B、DeepSeek-V4-Flash 的 state transition 为 39.3%、34.4%。作者称被标出的轨迹里,较弱模型更多被诊断为误读要求,较强模型更多是执行逻辑错误。
    • 收到笔记的试次:Figure 6a 的观察成功率相对无批评期望为:Qwen3.5-9B 40.4% 对 25.1%(+15.3 pp),Muse-glimmer-30B 46.0% 对 37.3%(+8.6 pp),Qwen3.8-27B 51.3% 对 45.6%(+5.7 pp),DeepSeek-V4-Flash 65.0% 对 57.7%(+7.3 pp)。作者称更强模型救援更多,也更常在原本会成功的任务上回退;Figure 6b 的两组比例分母不同,文本抽取无法可靠对应图例,这里不引用配对数字。
    • 去掉审计:Table 5 在同一策略和 GPT-5.6-Sol 下,去掉准入与发布审计后,增益从 +7.9、+4.0、+8.9 pp 降到 +2.6、+3.0、+4.5 pp。作者认为审计在过滤有害干预,在中间证据容易误读、错误纠正代价高的基准上更要紧。

    其他消融与分析

    • Table 4(Qwen3.8-27B,三轮;TB2.1 / SWE-Pro / DeepSWE):Edit-only 为 71.9 ± 1.6(+6.0)、79.0 ± 3.5(+3.7)、40.1 ± 1.8(+7.7);Non-edit 为 70.2 ± 0.8(+4.3)、78.3 ± 0.6(+3.0)、39.5 ± 2.7(+7.1)。完整集均值最高,但相对 Edit-only 的差距小,作者举 SWE-Bench Pro 上 0.3 pp,并称落在轮次波动内。
    • 作者称 Non-edit 只约占已交付笔记的五分之一,却在三个基准上分别收回完整增益的一半以上、四分之三和约五分之四;两个受限集合的增益不能相加。
    • 第 5.3 节:去掉 Qwen3.5-9B 的 DeepSWE 后,余下 33 个策略–基准–批评组合里,除一个外都高于无批评;论文未点名那个例外。DeepSWE 上自批评使 Qwen3.8-27B 与 DeepSeek-V4-Flash 各提高 6.2 pp。
    • 同一节:GPT 作为批评者时,Qwen3.5-9B 至少提高 12.4 pp,自批评至多 2.7 pp。作者称自批评在策略有能力时有效,在策略缺少解题能力时较弱,因为批评者与策略共享盲点;该比较没有匹配自批评多出的推理计算。
    • Figure 10:三个 Edit 算子对四个模型的增益均为正;failure triage 只对 Qwen3.5-9B 为 +5.6 pp,其余三栏为 -1.0、-1.0、-1.2 pp。作者称重新解释错误本身很少告诉智能体该改什么。
    • Figure 12:作者称 GPT-5.6 的候选大多被交付,自批评只交付约三分之一,近一半在审计前被滤掉;主过滤器是已有开放笔记。图中 Self 标注 33.1%、21.2%、45.6%,图例顺序为 Delivered、Audit rejected、Pre-audit filtered。
  5. What are some points that can be further explored?

    结论将训练范围写成单模型监督微调和一个域外基准,并列出扩大数据与结合强化学习。

    作者指出的局限与后续方向

    • 训练范围:结论写,训练结果使用的是单模型上的监督微调,以及一个域外基准(Conclusion)。
    • 后续方向:同一句写,把该配方扩大到更大的数据集、用训练后的模型作为新策略迭代,或把批评反馈与强化学习结合起来以内化自我纠正,可以是未来工作(Conclusion)。
    • 论文没有单独的 Limitations 节;Experiments 与分析里的现象解释未计入这里。

    实验覆盖范围

    • 策略模型为 Qwen3.5-9B (thinking)、Muse-glimmer-30B (high)、Qwen3.8-27B (xhigh)、Deepseek-V4-Flash-0731 (max);默认批评者为 GPT-5.6-Sol (high),第 5.3 节另测策略模型自批评和 Claude,未写 Claude 版本(第 4.1、5.3 节)。
    • 测试时基准为 Terminal-Bench 2.1(89 任务,Terminus-2)、修正后抽样的 SWE-Bench Pro 100 任务(OpenHands)、DeepSWE v1.1(113 任务,mini-swe-agent);Harbor 管理任务,Pier 做网络隔离(第 4.1 节)。
    • 批评基线为 SWE-PRM、SWE-Search、LLM-as-verifier、Agentic Rubrics;过程批评被改到与 Opera 相同的混合审查时刻(Table 1、附录 A.1)。
    • Table 3、4、5 写三轮的 mean ± std;Table 1 与 Figure 4 给出标准差,Table 1 未写重复次数。论文未报告批评者的查询次数或耗时;第 5.3 节写自批评增加推理计算,但该比较未匹配计算量。
    • 训练为 Qwen3.5-9B 的全参数监督微调,67 个 SWE-Bench Pro 训练任务;推理时无批评,评测 held-out 的 108 个任务和 Terminal-Bench 2.1(第 4.3 节、Table 2、附录 B)。
  6. Summarize the main content of the paper

    Opera用可审计的持久纠正笔记提升长程编码智能体,并可用引导轨迹做近似on-policy微调。

    Opera 是给长程编码智能体用的口头批评框架:每次纠正是一条要跟到解决的持久笔记,而不是一次性评语。

    • 要解决的问题:仓库级执行中,智能体可能重复失败或未验证就报完成。作者认为,对未完成工作的误判会让反馈无效甚至有害,而只生成反馈、不看事后结果,也分不清照做和真正解决。
    • 方法:周期审查加上 Idle、Repeat、Error、Claim、Submission;九个带契约的算子每次只诊断一个问题;准入审计决定是否交付;遵从与解决分开记账,发布审计通过才关闭。批评者不执行命令,也不更新权重。
    • 测试时:默认批评者是 GPT-5.6-Sol。Qwen3.5-9B 在 Terminal-Bench 2.1、SWE-Bench Pro 子集上的 resolve rate 提高 12.4、15.0 个百分点,在 DeepSWE v1.1 上则没有任务被解决。Table 1 以 Qwen3.8-27B 为策略时,Opera 为 73.8 ± 2.3、79.3 ± 3.5、41.3 ± 3.1(%),增益 +7.9、+4.0、+8.9 pp,平均高于四个批评基线。作者称更强批评者通常增益更大,但没有一个批评者在所有设置上都最好;策略模型批评自己,在它本身有能力时也能提高。
    • 训练:Opera 引导的 Qwen3.5-9B 轨迹用于监督微调,推理时不再加批评。摘要写 held-out SWE-Bench Pro 提高 10.2 个百分点;Table 3 为 38.9 ± 2.4,基座 28.7 ± 1.9,教师轨迹 39.5 ± 1.4。Terminal-Bench 2.1 上教师轨迹降到 7.9 ± 1.9,Opera 引导轨迹为 25.8 ± 2.2。作者主要将其归因于动作来自学生本人。
    • 作者的结论:测试时的持久笔记批评可以提高 resolve rate;同一过程也能把更强模型的专长变成近似 on-policy 的自我反思数据。结论把当前训练结果限定为单模型监督微调和一个域外基准。
Read originalhuggingface.co