← 最新の論文
💻 computer science

SWE-Pruner: Self-Adaptive Context Pruning for Coding Agents

SWE-Pruner は、明示的なエージェントの目標に基づいて無関係なコードを動的にフィルタリングするタスク認識型ニューラルスキマを採用する自己適応型コンテキスト剪定フレームワークであり、さまざまなベンチマークにおいてコーディングエージェントのパフォーマンスを維持または向上させつつ、トークン使用量とコストを大幅に削減する。

原著者: Yuhang Wang, Yuling Shi, Mo Yang, Rongrui Zhang, Shilin He, Heng Lian, Yuting Chen, Siyu Ye, Kai Cai, Xiaodong Gu

公開日 2026-04-28
📖 1 分で読めます☕ さくっと読める

原著者: Yuhang Wang, Yuling Shi, Mo Yang, Rongrui Zhang, Shilin He, Heng Lian, Yuting Chen, Siyu Ye, Kai Cai, Xiaodong Gu

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたが巨大で埃っぽい図書館で複雑な事件を解決しようとする探偵だと想像してください。この図書館はコンピュータプログラムのコードベースであり、あなたの仕事は特定のバグを見つけるか、新しい機能を追加することです。

問題:「情報過多」の罠
過去には、超賢い AI 探偵(LLM エージェント)にこれらのコーディングの謎を解くよう頼む際、図書館全体を一度に手渡していました。AI は必要な手がかりを見つけるために、すべての本、すべてのページ、すべての脚注を読み通そうとします。

これにより 2 つの大きな問題が発生しました:

  1. 圧倒されてしまう:AI の「脳」(コンテキストウィンドウ)には限界があります。あまりに多くのテキストを与えると、物語の始まりを忘れたり、無関係な詳細(車の取扱説明書を探しているのに料理本を読んでしまうようなこと)に混乱したりし始めます。
  2. 高価になる:AI が読み書きするすべての単語にお金と時間がかかります。すべての手がかりのために図書館全体を読むことは、1 つの電話番号を見つけるために百科事典全体を読むために支払うようなものです。

既存の解決策は、スペースを節約するために本を要約したり、ランダムな単語を削除したりしてこの問題を修正しようとしました。しかし、これは「エンジン」や「ブレーキ」という言葉を削除して車の取扱説明書を要約しようとするようなものでした。これでは論理が崩壊し、コードが読めなくなったり無用になったりします。

解決策:SWE-Pruner(賢い司書)
この論文の著者たちは、あなたと図書館の間に立つ、高度に熟練し自己適応型の司書のようなSWE-Prunerを導入しました。

その仕組みを簡単に説明します:

  1. 具体的な質問をする:単に「このファイルを読んで」と言うのではなく、AI エージェントはまず「目標ヒント」のような具体的な質問をするように教えられます。例えば:「ユーザーのログインエラーを処理するコードの部分を見つけたい」。
  2. 司書がざっと読む:SWE-Pruner(小さく高速な AI モデル)は、巨大なファイルと具体的な質問を受け取ります。これはすべての言葉を深く読むのではなく、デバッグ中の人間プログラマーがするのと同じようにテキストを「ざっと読み」ます。どの行が「ログインエラー」に関連し、どの行が「データベース設定」や「カラーテーマ」に関するだけのものかを正確に知っています。
  3. 不要な部分を切り取る:司書は関係のないページを切り取り、AI エージェントに特定の関連段落だけを渡します。重要なのは、これを行単位で行うことです。文をバラバラにしたり、ランダムにキーワードを削除したりしません。前の段落を削除しても段落全体を維持するように、コードの構造をそのまま保ちます。
  4. 結果:AI エージェントは、短く、焦点が絞り込まれ、整理されたパズルの断片を得ます。これにより、問題をより速く解決し、ミスを減らし、コストを大幅に削減できます。

比喩:「干し草の山の中の針」対「こしき」

  • 従来の方法:干し草の山全体をテーブルに放り出し、AI に針を見つけさせます。AI は疲れ、混乱し、莫大な費用を費やします。
  • 悪い圧縮:干し草の山を潰して縮めようとします。すると、針は小さく壊れた藁の山に埋もれ、どちらが上か分からなくなります。
  • SWE-Pruner:針の形にぴったり合ったこしきを使います。干し草の山を振ると、針(それに付いたわずかな藁)だけが落ちます。残りの藁はそのまま残ります。針は完全に無傷で、すぐに使える状態です。

発見されたこと
この論文は、GitHub でのバグ修正などの実世界のコーディングタスクでこれをテストしました。

  • コストと速度:AI が読み取るテキスト量を**23% から 54%**削減しました。これにより、AI はタスクをより速く、安く解決できました。
  • より賢い意思決定:AI が無関係なコードに気を取られなかったため、実際により良い意思決定を行いました。いくつかのテストでは、AI がより集中できたため、バグ修正の成功率がわずかに向上しました。
  • 破壊しない:他の方法がコードの文法を壊したのとは異なり、SWE-Pruner はコード構造を完璧に保ち、AI が部品がどのように組み合わさっているかを理解できるようにしました。

要するに、SWE-Pruner はコーディングエージェントに、本全体を読むのをやめ、重要な章だけを読むように教えることで、時間、お金、精神的なエネルギーを節約します。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →