AIエージェントのトークン料金を99%削減する方法

エージェントがgrepに頼らなくなるように、リポジトリをナレッジグラフにインデックス化する:5つの構造的なクエリに対し、412,000トークンではなく約3,400トークン。

INEZA Felin-Michel

INEZA Felin-Michel

1 9月 2026

AIエージェントのトークン料金を99%削減する方法

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

要するに: codebase-memory-mcp はリポジトリを永続的なナレッジグラフとしてインデックス化するため、コーディングエージェントはファイルをgrepしたり読み込んだりするのではなく、グラフから構造的な質問に答えます。このプロジェクトでは、5つの構造的なクエリについて、グラフ経由で約3,400トークン、ファイルごとの探索で約412,000トークンを消費した結果、99.2%の削減を達成しました。C言語で書かれており、ランタイムやAPIキーなしの単一のネイティブバイナリとして提供され、160以上の言語をカバーし、完全にローカルマシン上で動作します。2026年9月1日現在で41,536スターを獲得し、MITライセンスです。2026年のエージェントツールブームで何か一つインストールするなら、これにしてください。

これは、2026年にインストールする価値のある5つのオープンソースAIエージェントツールのまとめから、一つのツールを深く掘り下げたものです。

関数がどこで呼び出されているかをエージェントに尋ねてみてください。するとどうなるか見てみましょう。grepを実行し、3つのファイルを読み込みます。別のパターンで再度grepを実行し、さらに4つのファイルを読み込みます。最終的には、セッションが終了するとすぐに忘れてしまうソースコードでコンテキストを満たすために数万ものトークンを消費しながらも、正しく回答します。

そして、続けて質問すると、また同じことを繰り返します。

そのループこそが、長いセッションでほとんどの使用制限が消費される原因であり、午後の間に回答の質が低下する理由でもあります。ファイルの内容で埋め尽くされたコンテキストウィンドウでは、推論のためのスペースが少なくなります。codebase-memory-mcpは、同じ動きでこの両方の問題に対処します。

機能

これは、リポジトリを関数、クラス、呼び出しチェーン、HTTPルート、サービス間リンクの永続的なナレッジグラフに解析し、そのグラフから構造的な質問に答えます。

解析は、160以上の言語にわたるtree-sitterのAST解析を通じて行われ、ハイブリッドLSPレイヤーが、READMEバッジで10と数えられている主要グループ(Python、JSXおよびTSXを含むTypeScriptとJavaScriptファミリー、PHP、C#、Go、C、C++、Java、Kotlin、Rust、Perl)に対して意味論的な型解決を追加します。この区別は重要です。AST解析は、saveという名前のメソッドが呼び出されていることを伝えますが、型解決はそれがどのクラスに属するかを伝えます。

その結果は、検索、呼び出しチェーン追跡、アーキテクチャ概要、影響分析、インデックスカバレッジチェック、グラフに対するCypherクエリ、デッドコード検出、サービス間HTTPリンク、ADR管理をカバーする15のMCPツールとして公開されています。Model Context Protocolに対応するクライアントであればどれでも使用でき、プロジェクトではClaude Code、Codex、Cursor、Windsurf、OpenCode、Gemini CLI、Aider、Kilocodeを含む45のエージェントサーフェスがサポートされていると記載されています。

数値

独立した2つのセットがあり、どちらも注意深く読む価値があります。

プロジェクト自身の測定によると、5つの構造的クエリは、グラフ経由で約3,400トークンを消費したのに対し、ファイルごとのgrep探索では約412,000トークンを消費しました。これは99.2%の削減、つまり同じ回答に対して約120分の1のトークン消費量です。

学術版はプレプリントCodebase-Memory: Tree-Sitter-Based Knowledge Graphs for LLM Code Exploration via MCPにあり、31の実世界のレポジトリで評価されています。ファイルごとの探索と比較して、83%の回答品質、10分の1のトークン消費量、2.1分の1のツール呼び出し数を報告しています。

120倍と10倍の差は正直な部分です。120倍の数値は5つの構造的クエリに関するもので、グラフの得意な分野であり、グラフはまさに構造的な質問のために存在します。10倍の数値は31のリポジトリにわたるより広範な組み合わせであり、日常的な使用で目にするものに近いでしょう。どちらも大きな削減です。10倍を計画の基準とし、それよりも良い結果はすべてプラスアルファと見なしてください。

もう一つの側面は速度です。2800万行、75,000ファイルにわたるLinuxカーネルのインデックス作成には3分かかります。平均的なリポジトリはミリ秒単位でインデックスされます。構造的クエリは1ミリ秒未満で結果を返します。パイプラインはRAMファーストで、LZ4圧縮、インメモリSQLite、および融合されたAho-Corasickパターンマッチングを使用しており、インデックス作成後にメモリは解放されます。

TypeScriptやPythonではなくC言語で書かれていることが、これらの数値が存在する理由であり、ランタイムをインストールする必要がない理由でもあります。

インストール

macOSおよびLinux:

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

Windows(プロジェクトが推奨する手順。一行で済むものではありません):

Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1
notepad install.ps1 # read it first
Unblock-File .\install.ps1
.\install.ps1

オプションには、エージェント設定なしでバイナリ単体をインストールするための--skip-configと、カスタムロケーションを指定するための--dir=<path>があります。インストーラーは、インストールされているコーディングエージェントを自動検出して、文書化されたMCPエントリ、指示、スキル、クライアントがサポートするライフサイクル・フックを書き込みます。macOSでは、検疫属性を削除し、バイナリにアドホック署名を行うため、手動でのxattrcodesign作業は不要です。

その後、エージェントを再起動し、プロジェクトのインデックスを作成するように指示します。

初日に設定する価値のある2つの設定フラグ:

# index new projects automatically on first connection
codebase-memory-mcp config set auto_index true
codebase-memory-mcp config set auto_index_limit 50000

# graph visualization, built into the binary
codebase-memory-mcp --ui=true --port=9749

localhost:9749のUIは、ナレッジグラフを3Dでレンダリングします。これは、これまで知らなかった構造を発見するのに非常に役立ち、インデックスが期待どおりの内容をカバーしているかを確認する良い健全性チェックにもなります。

多くのリポジトリで作業する場合、auto_watch falseを設定すると、セッションがそのプロジェクトをバックグラウンドウォッチャーに登録するのを防ぎ、watcher_enabled falseを設定すると、ポーリングスレッドが完全にオフになります。後者の設定はデーモン起動時に一度読み込まれるため、変更後はデーモンを停止してください。

実行前に確認すべき2つのこと

どちらもプロジェクトによって文書化されており、これは良い兆候です。両方とも30秒間注意を払う価値があります。

Microsoft DefenderがリリースバイナリをTrojan:Script/Wacatac.B!mlと誤検出する場合があります。プロジェクトではこれを既知の誤検出として文書化しており、通常62エンジンのうち約61エンジンがクリーンな結果を返すこと、そして同じ検出ファミリーがGitHub CLI、llama.cpp、Godot、およびMicrosoft独自のGoツールチェインにも影響を与えていることを指摘しています。すべてのリリースは公開前にVirusTotalでスキャンされ、リリースノートにはその結果へのリンクが記載されています。これはほとんどのプロジェクトよりも透明性の高い姿勢であり、根底にある問題は、署名のない小さなネイティブバイナリに特有のよく知られたヒューリスティックの問題です。

これは、あなたのコードベースを読み取り、エージェントの設定ファイルに書き込みます。それがこのツールの役割であり、プロジェクトはそれを隠すことなく明確に述べています。緩和策は実際に存在します。完全なソースはMITライセンスの下で利用可能であり、リリースはOpenSSFスコアカードとSLSAレベル3のプロベナンスを保持し、処理は完全にローカルで行われます。プロジェクトはまた、それ自体でネットワークリクエストを行わず、バックグラウンドでアップデートをチェックせず、電話もしないと述べています。アップデートは、実行中のプロセス内からではなく、バイナリの隣に配置されたインストールスクリプトから実行されます。これはREADMEで詳しく説明されている意図的な設計選択です。

どちらに対する適切な対応も同じです。インストールスクリプトをbashにパイプする前に読み、ローカルのみという主張が気になる場合はご自身で確認してください。多くのスターが付いていることは人気を意味しますが、監査を意味するものではありません。

これを最初にインストールすべき理由

現在のエージェントブームにおける他のすべてのツールは、あなたのワークフローを変更します。ペルソナはプロンプトの仕方を変え、並列ワークツリーは作業の整理方法を変え、ウェブアクセスはあなたが求めるものを変えます。

このツールは、あなたの作業方法を何も変えることなく、すべてのセッションをより安価でより良いものにします。新しい習慣を学ぶ必要はありません。これをインストールし、プロジェクトをインデックス化するだけで、エージェントはgrepループでコンテキストを消費するのをやめます。長時間のコードリファクタリングにおいて、午後2時に限界に達するか、一日を終えるかという違いは些細なことではありません。

品質効果は見過ごされがちなもう半分です。ファイルを読み込むために40万トークンを費やすエージェントは、実際に問題について考えるためのスペースがそれだけ少なくなり、セッションの早い段階で読み込んだ内容の記憶が低下します。グラフから回答することで、コンテキストは自由なまま保たれます。同じ力学は、ツールがそのコンテキストに返すものにも当てはまります。これはエージェントツールの応答コンテキストウィンドウの主題であり、エージェントワークフローで肥大化したAPI応答をコスト高にするのと同じ失敗です。

実際に使用するツール

15ものMCPツールは学ぶべきことがたくさんあるように聞こえます。実際には、エージェントが選択するため、それらを学ぶ必要はありません。知っておくべきことは、どの質問が安価な回答を得られるようになったかであり、そうすればそれらの質問をし始めるでしょう。

実用的な変化は、プロンプトの仕方です。以前は50,000トークンと2分かかっていたため避けていた質問が、今ではほぼ無料でできるようになりました。ですから、どんどん質問しましょう。リファクタリングの前には「これは何を呼び出しているのか?」、デバッグの前には「このエンドポイントのリクエストパスはどのようになっているのか?」などです。このツールは好奇心の経済学を変え、これは個々の機能よりも重要です。

グラフが知っていること、そして知らないこと

ここに境界線があります。ツールを過信しすぎる前に理解しておくべき明確な境界線です。

グラフはあなたのコードから構築されます。それはあなたのコードが何であるかを知っています。15のツールの中には、あるサービス内の呼び出しを別のサービスのハンドラにトレースするサービス間HTTPリンクがあり、これはエージェントにとって本当に役立つ情報です。

グラフが教えてくれないのは、契約が何を言っているかです。/v1/invoices/{id}というルートが存在し、どの関数がそれを提供するかは知っています。しかし、べき等性キーが再利用されたときに異なるエラーエンベロープで409を返すこと、statusフィールドが厳密に5つの有効な値を持つこと、カーソルがオフセットではなく不透明であること、またはあるフィールドが非推奨で来四半期には消えることなどは知りません。それらのどれもハンドラのソースから導き出すことはできません。なぜなら、そのほとんどは実装ではなく合意事項だからです。

そのため、完璧な構造的記憶を備えたエージェントでも、まだ契約を推測します。推測された形状に対してクライアントを書き、自身が作成したモックに対してテストを行い、ステージングまではすべてグリーンです。

これが、Apidogとこのようなツールが重なるのではなく、うまく連携する理由です。

これには心地よい対称性があります。codebase-memory-mcpは、構造的な質問に答えるためにソースを読むことが高価で信頼できないために存在します。契約を推測するためにソースを読むことについても同じことが言え、答えは同じです。一度、質問のために構築された形式でインデックスを作成することです。誰も書き留めていない形状に対してエージェントがAPIクライアントを作成している場合は、Apidogをダウンロードしてください。関連: エージェント向けAPIツールスキーマの設計およびAIエージェント時代にAPIツールはまだ必要か

コードの記憶は作業の記憶ではない

2つ目の境界線は組織的なものです。

インデックスは、1つのマシンの1つのアカウント下のキャッシュディレクトリに存在します。それは、調整デーモンを介してローカルのClaude Code、Codex、OpenCodeセッション間で共有されます。これは素晴らしいエンジニアリングですが、そのマシンの境界を越えることはありません。

さらに重要なのは、グラフはコードベースの記憶であり、作業の記憶ではないということです。それは、リトライヘルパーが決済クライアントを呼び出すことを教えてくれます。しかし、7月にバックオフが変更された理由、誰がそれを決定したのか、代替案は何だったのか、あるいは誰かがそれをレビューしたのかを教えてくれることはありません。その履歴は、すでに消えたターミナルセッション内に存在しました。

チームはこれを奇妙なギャップとして感じます。エージェントはチーム内のどの人間よりもコードの記憶が良いにもかかわらず、そのコードを生成した決定については全く記憶がないのです。

Sharklyは、プロンプトではなくタスクを永続的な記録とすることで、もう半分をカバーします。

コードの記憶と作業の記憶が組み合わさります。一方のツールはエージェントにリポジトリの記憶力を与え、もう一方のツールはチームにエージェントがそこで何をしたかの記憶力を与えます。

よくある質問

まとめ

これは2026年のエージェントブームにおいて最も目立たないツールでありながら、最高の見返りをもたらすものです。ワークフローの変更なし、新しい習慣なし、単一のネイティブバイナリ、そしてエージェントがgrepで探す必要のない質問に答えるために費やすトークンの桁違いの削減が測定されています。また、複数のエージェントが同時に実行される場合に最も効果を発揮し、それはOrcaの場合に当てはまります。これをインストールし、プロジェクトをインデックス化し、auto_indexを設定し、一度グラフビューアを開いて何が構築されたかを確認してください。

次に、2つの境界を明確に理解してください。グラフはあなたのコードがどこにあるかを知っていますが、あなたのAPIが何を約束するかは知りません。そのギャップをApidogが仕様、モック、テストスイートで埋めます。そして、それはリポジトリを記憶しますが、作業は記憶しません。このギャップをSharklyが、プロンプトの代わりにタスクを記録とすることで埋めます。

コードの完璧な記憶は強力な基盤です。しかし、何が真実であるか、何が決定されたかを知ることとは異なります。

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる