FastContext: 検索と解決の分離

コーディングエージェントは、コードを探すことにあまりにも多くの時間を費やしています。

Microsoftと上海交通大学はこの問題を研究しました。その結果、コードの検索にはツール使用ターンの56.2%が費やされており、全トークンの46.5%も消費されていることが判明しました。

単一のモデルがコードの検索と修正の両方を行うと、そのメモリは混乱します。不要なファイルの断片や失敗した推測で埋め尽くされてしまうのです。これにより、推論が困難になります。

FastContextはこれを解決します。リポジトリの探索には、別のサブエージェントを使用します。

仕組み: • エクスプローラーエージェントが、適切なファイルと行番号を見つけ出します。 • メインエージェントに長い要約を送信することはありません。 • 正確な根拠となる小さな情報の束のみを送信します。 • メインエージェントはバグの修正に集中し続けることができます。

この設計には、2つの大きな利点があります:

  1. ノイズの低減。メインエージェントは、あらゆる行き止まりを目にする必要がありません。
  2. 効率の向上。より小さなモデル(4B〜30Bパラメータ)でも、検索タスクを効果的に処理できます。

結果は明らかです。Mini-SWE-AgentにFastContextを併用することで、タスクの成功率が5.5%向上しました。また、トークン使用量は60%削減されました。

エージェント構築における教訓:

  • 検索を副次的なステップではなく、コアタスクとして扱うこと。
  • チャット履歴全体ではなく、ファイルパスと行番号を送信すること。
  • 次のモデルに渡すための構造化データを提供できるようモデルを訓練すること。
  • 成功率と同じくらい、トークン使用量にも注意を払うこと。

1つのモデルにすべてを無理にさせないでください。検索のスペシャリストを置くことで、solverはより速く、より信頼性の高いものになります。

Source: https://dev.to/prabhakar_chaudhary_7afe4/fastcontext-why-coding-agents-benefit-from-a-separate-repository-explorer-3gen

Optional learning community: https://t.me/GyaanSetuAi