AI 程式代理與強化學習
DiDPO、コードdiffを信用割当単位に分解し、Qwen2.5-Coder-7Bの主要評価平均を48.4%に向上
DiDPOは、エージェント実行全体の成否をすべてのtokenに均等配分せず、複数の軌跡に含まれる類似したsub-diffを比較する。公開されたverl-codeには訓練用エントリーポイントとデータレシピが含まれるが、著者によるモデルcheckpointはまだなく、実験も完全なソフトウェアリポジトリ修復を対象としたものではない。

現在のRLVRでは、コンパイル結果やテスト結果を用いてコードエージェントに客観的な報酬を与えられる。しかし、1回の編集で複数の関数やファイルが同時に変更されることも多い。最終的な成功スコアを軌跡全体にbroadcastすると、誤りを修正した部分と無関係な変更を持ち込んだ部分が同じシグナルを受け取る可能性がある。そこで[DiDPO](https://arxiv.org/abs/2608.07147)は、ターンや環境stateだけでグループ化するのではなく、コード変更そのものを信用割当に組み込む。
この手法では、まず各編集で生成されたdiffをsub-diffに分割し、同じ問題に対する複数のrolloutを横断して、類似する断片をanchorとして探す。著者が設計したgroupability scoreは、断片の意味的範囲と集約可能なサンプル数のバランスを取り、整列したsub-diffから局所的な比較groupを構成してdiff-level advantageを計算し、最後にその変更を生成したtokenへ投影する。この局所シグナルを軌跡全体のoutcome advantageと組み合わせるため、追加のcriticや環境rolloutは必要ない。
Qwen2.5-Coder-7Bでは、DiDPOの論文における主要なコード生成評価表の平均スコアは48.4%で、GRPOの42.8%およびstateグループ化手法GiGPOの44.2%を上回った。Qwen3.5-4Bでの対応する平均は58.6%で、GiGPOは53.7%だった。訓練では32本のrolloutを使用し、各rolloutは最大8 interaction stepに設定された。cold-startデータは、まずGPT-5.5で約7,000問に拡張し、続いてQwen3.6-27Bで軌跡を生成した後、約3,000件のSFTサンプルに絞り込まれた。
著者は同時に、Apache-2.0ライセンスの[verl-code](https://github.com/xuc865/verl-code)も公開している。これにはDiDPO、GRPO、GiGPO、GSPO、DAPOのエントリーポイント、SFTデータへのリンク、分析ツールが含まれる。ただし、リポジトリには訓練済みcheckpointがまだ提供されておらず、クイックインストール用コマンドにも`<YOUR_REPO_URL>`というplaceholderが残っている。さらに重要なのは、実験が主にAPPS、HumanEval、MBPP、LiveCodeBenchおよび競技プログラミング問題を使用している点だ。エージェントのactionはadd、delete、noneに制限されており、SWE-benchのような実際のリポジトリ修復を直接代表するものではない。今後は、sub-diffのalignmentコスト、複数ファイルにまたがるrefactoringの安定性、さらに同一の計算資源で性能向上を独立に再現できるかを検証する必要がある。