コード生成 LLM の内部状態を利用するコンテキスト圧縮手法 SWE-Pruner Pro──トークン量を最大 39% 削減しつつ SWE-bench Verified を 3.8% 向上
外部の分類器を用いず LLM の内部表現から直接不要なコードコンテキストをプルーニングすることで、タスク品質を維持したままトークン消費量を最大 39% 削減する。
リリース: 2026-07-20 · 読了 5 分論文概要
コード生成エージェント向けに長文脈を効率的に管理する新しいコンテキストプルーニング手法「SWE-Pruner Pro」が提案された。従来の外部コード分類器に依存する手法とは異なり、LLM 自身がツール出力読み取り時に符号化する内部表現を利用して不要なコードを直接削除する。2 つのオープンウェイトバックボーンと 4 つのマルチターンベンチマークにおいて、タスク品質を維持しながらプロンプトおよび補完トークンの最大 39% 削減を実現した。MiMo-V2-Flash を用いた実験では、SWE-bench Verified の解決率が +3.8%、長文脈 Oolong の精度が +2.2 ポイント向上している。

関連研究
従来、長文脈のコンテキストを削減する手法として、外部の分離されたコード分類器を用いる SWE-Pruner などの手法が存在した。しかし、これらの手法はモデルの外部に依存するため、追加の推論コストやモデルの内部理解との乖離が発生するという課題があった。本研究では、エージェント自身が持つ内部表現がコードの関連性を含んでいることに着目し、外部分類器を排除した統合的なアプローチをとる。
新規性と貢献
本研究の最大の新規性は、追加の分離モデルを置くことなく、コーディング用 LLM 自体の内部表現を活用してプルーニングを行う点にある。長さ依存埋め込みを持つ小さなヘッドを導入することで、ツール出力の行ごとに保持または削除のラベルを直接生成できる。これにより、コンテキスト長を劇的に削減しながら、モデルの精度劣化を防ぐだけでなく、ベンチマークスコア自体の向上を同時に達成した。
提案手法の詳細
SWE-Pruner Pro は、エージェント自身の内部表現を利用して各コード行の関連性を判定する。具体的には、ツール出力の行数に応じた長さ依存の埋め込みをキーとして、エージェントの内部状態を「keep(保持)」または「prune(削除)」のラベルに変換する小さなヘッドを構築している。

評価・考察
2 つのオープンウェイトバックボーンと 4 つのマルチターンベンチマークを用いた検証において、トークン使用量を最大 39% 削減しつつ、タスク品質を維持することに成功した。さらに、MiMo-V2-Flash をバックボーンに適用したケースでは、SWE-bench Verified の解決率が +3.8%、Oolong ベンチマークの長文脈精度が +2.2 ポイント向上した。

応用例と今後の展望
本手法は、大規模なコードベースを扱うソフトウェア工学の自動化ツールやクラウド開発環境(IDE)のプラグインにおいて、API 呼び出しのコスト削減と応答速度の改善に直接寄与する。国内のソフトウェア開発企業やクラウド事業者において、LLM を用いた自律型コーディングエージェントを本番運用する際、トークンコストを約 4 割削減しつつ精度を担保する実用的な基盤技術となる。今後はより多様なモデルアーキテクチャへの適用と、リアルタイムな動的プルーニングの最適化が課題となる。
結論
SWE-Pruner Pro は、コーディング LLM の内部表現を利用することで、外部分類器なしに効率的なコンテキストプルーニングを実現する手法である。トークン消費量を最大 39% 削減しつつベンチマーク精度を向上させることを実証し、実用的なコード生成エージェントのコストパフォーマンスを大きく引き上げる。
注釈
- SWE-bench: 実際の GitHub プルリクエストを用いて LLM のソフトウェアエンジニアリング能力を評価するベンチマーク。
- プルーニング (Pruning): 不要なパラメータやデータを削除してモデルや入力を軽量化する技術。