SWE-Pruner Pro: コーディングエージェント自身に削る判断を任せる
コーディングエージェントが長いツール出力を扱うほど、どの情報を残し、どの情報を捨てるかという文脈管理の重要性が増します。SWE-Pruner Pro は、この問題に対して「モデルはすでに内部で重要度を表しているのではないか」という発想から出発しています。
仕組みの要点
- 外部分類器に頼らない: 従来の文脈剪定では、別のコード分類器を追加して保持対象を決めることが多かった。
- モデル内部の表現を再利用: SWE-Pruner Pro は、エージェント自身の hidden representation を使って判断する。
- 行単位で判定: 小さな head が各行に対して keep-or-prune のラベルを出す。
- 長さを意識した埋め込み: ツール出力の行数に応じた length-aware embedding を加えることで、異なる長さの出力に対応しやすくしている。
何が新しいのか
この研究の面白さは、単に圧縮率を上げることではありません。ツール結果を読んでいる時点で、モデルはすでに「どこが重要か」をある程度内部で表現しているはずだ、という仮説を実証的に扱っている点にあります。つまり、剪定を後段のフィルタ処理としてではなく、理解の一部として組み込もうとしているのです。
実験結果
論文の要約によれば、SWE-Pruner Pro は 2 つの open-weight backbone と 4 つの multi-turn ベンチマークで評価されました。その結果、prompt と completion の token を最大 39% 削減しつつ、タスク品質を維持しました。推論コストの増加も限定的です。さらに MiMo-V2-Flash では、SWE-Bench Verified の resolve rate が 3.8% 向上し、Oolong の長文脈精度が 2.2 ポイント向上しました。
影響
この方向性が広く使えるなら、将来の coding agent はツール出力を丸ごと詰め込むのではなく、読みながら自然に圧縮するようになるかもしれません。そうなれば、デバッグや修正の長い反復作業でも、限られたコンテキストをより有効に使えるようになります。
要するに、SWE-Pruner Pro は「何を削るべきか」をモデル自身がすでに知っている可能性を示した研究です。
コメント
ログイン状態を確認中…
コメントを読み込み中…