【ITニュース解説】I cut my AI agent's reading by 78%. It lost 2 answers to a missing folder name.
2026年10月22日に「Dev.to」が公開したITニュース「I cut my AI agent's reading by 78%. It lost 2 answers to a missing folder name.」について初心者にもわかりやすく解説しています。
ITニュース概要
AIエージェントのデータ処理量を減らすツールを試した。データ量は大幅に削減できたが、正答率は低下。ファイルパスのフォルダ名が欠けていたため、エージェントが適切なファイルを見失ったのが原因だ。効率化ツール導入時は、精度検証とパス情報の扱いに注意が必要だ。
ITニュース解説
現代のソフトウェア開発において、AIエージェントは非常に重要な役割を担いつつある。AIエージェントはコードの生成、バグの特定、質問への回答といった開発者の作業を助けるプログラムだ。これらのエージェントにコードを理解させ、タスクを実行させるためには、大量のコード情報をAIに渡す必要がある。この渡す情報量は「トークン」という単位で数えられ、トークン数が増えれば増えるほど、AIの処理にかかる時間も費用も増加する。そのため、AIに渡す情報を賢く削減し、効率を高めようとする「コンテキスト縮小ツール」と呼ばれる新しい種類のツールが注目されている。今回の記事は、ある開発者がこのコンテキスト縮小ツールが実際にどれほど効果的で、信頼できるものなのかを検証した興味深い話だ。
検証では、Hexumというホスト型MCPサーバーを利用したコンテキスト縮小ツールが選ばれた。開発者は、実際のオープンソースのPythonとTypeScriptライブラリに関する10個の具体的な質問を作成した。例えば、「このヘルパー関数を呼び出す関数はどれか?」や「この関数は空の入力に対して何を返すか?」といった内容だ。そして、これらの質問をAIモデルであるGeminiに3つの異なる方法で問いかけ、それぞれの回答精度とAIに渡されたトークン数を比較した。
最初の方法は「フルファイル」だ。これは、AIに全てのソースコードをそのまま渡す最も情報量が多いやり方である。二つ目は「Hexum」を利用する方法で、Hexumがコードを分析し、AIに最適化されたトリミング済みの情報を渡す。AIは必要に応じて、さらに詳細なコードを読み込むためのツールも利用できた。三つ目は「ファイルなし」だ。これはコードを一切AIに渡さず、質問文だけを与えることで、AIが元々持っている知識だけでどこまで答えられるかを測る狙いがあった。検証の公正さを保つため、開発者は全ての質問、評価ルール、AIへの指示(プロンプト)を事前に固定し、回答の正誤は手作業でソースコードと照らし合わせて確認した。
実験結果は、トークン削減の面ではHexumが目覚ましい成果を上げたことを示した。フルファイルでは51万トークン以上をAIに送っていたのに対し、Hexumでは約10万トークンで済み、AIに渡す情報の量を中央値で約78%も削減できた。これは、コストと処理時間の大幅な削減につながる可能性を示唆している。しかし、回答の正確さでは課題が見つかった。フルファイルでは10問中9問に正解したのに対し、Hexumは7問の正解にとどまった。これは、検証者が事前に設定した「フルファイルよりも正答数が1問以内であれば『悪くない』」という基準をHexumが満たせなかったことを意味する。興味深いことに、ファイルなしの場合でも3問に正解しており、これは有名なライブラリに関する質問だったため、AIが事前に持っている知識も回答に影響することが明らかになった。
では、なぜHexumは正解を逃してしまったのだろうか。その原因は、非常に些細な点にあった。失敗した3つの質問全てにおいて、正解を含むファイルが、AIには「ファイル名だけ」で表示されていたのだ。例えば、「source/utils/body.ts」という実際のパスを持つファイルが、Hexumの提示する情報では単に「body.ts」とだけ示されていた。結果として、AIエージェントは正しいファイルの完全なパスを特定できず、誤った場所にあるファイルを探し回ってしまい、回答にたどり着けなかった。このことから、ファイルパス全体が正確に示されていれば、あるいはエラーメッセージでより具体的なヒントが提供されていれば、これらの問題を解決できた可能性が高いと推測されている。
この検証の過程で、いくつか予期せぬ発見もあった。一つは、Hexumツール自体のバグだ。初期の試行で、Hexumが一度処理したファイルを記憶してしまい、同じファイルを再度要求すると空の情報を返してしまう不具合が見つかった。この問題を開発者に報告したところ、わずか2日という速さで修正されたという。もう一つは、検証者自身のテスト設計における不備だ。例えば、AIエージェントがプロジェクト全体のファイルリストを把握していなかった点である。実際の開発環境では、開発ツールが全てのファイルパスを知っているため、このテスト状況は現実とは異なる。また、検証用のプログラムがHexumの特定の機能(ファイル名のみでの情報展開)を正しく受け付けなかったり、エラーメッセージの処理にバグがあったりした。これらの発見と修正は、技術の検証がいかに複雑で、多角的な視点が必要であるかを示している。
システムエンジニアを目指す皆さんにとって、この検証結果はAIツールを扱う上で多くの教訓を与えてくれる。新しいコンテキスト縮小ツールに限らず、あらゆるAIツールを導入する際に注意すべき点を5つ紹介しよう。まず一つ目に、ツールの性能を評価する際は、「トークン削減量」だけでなく、「回答の正確さ」と必ずセットで測定することが不可欠だ。コストが減っても、期待する成果が得られなければ意味がない。二つ目に、AIが「ファイルなし」でどこまで答えられるか、ベースラインを測定することは非常に重要だ。特に有名なライブラリに関するタスクでは、AIが既に多くの知識を持っている場合があり、ツールの真の効果を見誤らないようにするためだ。三つ目に、AIエージェントがコードのどこをどうやって「探索」するのか、そのナビゲーション能力に注目しよう。今回の例のように、パスの表示方法一つでAIの判断が大きく変わることがあるため、パスやラベル、エラーメッセージの提供方法が適切かを確認する必要がある。四つ目に、AIに渡すトークンだけでなく、コンテキスト縮小ツール自体が受け取るトークン量も確認すべきだ。AIに渡す量が減っても、ツールに膨大な情報を渡していれば、全体のコスト削減にはならない場合があるからだ。最後に五つ目に、検証のルールや評価基準は、結果を見る前に厳密に固定することが極めて重要だ。後からルールを変更してしまうと、都合の良い結果に見えるように評価を操作してしまう危険性がある。
今回の検証は、たった10問の質問と1つのAIモデル、1回の実行に基づくものであり、これはあくまで「兆候」であって、普遍的な「結論」ではない。コードの編集作業や、Hexumの他の機能、あるいは別の探索手法を用いるエージェントなどはテストされていない。しかし、この実験は、AIエージェントとコンテキスト縮小ツールの持つ可能性と、同時に存在する潜在的な課題を明確に示している。新しい技術を導入する際は、そのメリットだけでなく、潜在的なリスクや限界を深く理解し、入念な検証を行うことの重要性を強く示唆する結果と言えるだろう。