ニューラルネットワークにコードのギガバイトを食わせるのをやめて、リポジトリをグラフに変換しよう
数万行規模の知らないリポジトリを開いて、AIにリファクタリングを手伝ってもらおうとするたびに、同じことが起きます。アシスタントは貪欲にファイルをgrepし始め、コンテキストウィンドウに無関係なコードスニペットを詰め込み、呼び出しについて混乱し、最終的にハルシネーションを рабочий патчではなく生成してしまいます。トークンを大量消費しながらも、モデルのシステムは parts が互いにどのように接続されているのかを理解できません。
最近、Ixという興味深いプロジェクトを見つけました。著者は問題を異なるアプローチで解決することにしました:ニューラルネットワークに生のテキストを与える代わりに、コードベースからローカルな依存関係グラフを構築します。
Ixできること
本質的には、tree-sitterパーサーを使用してリポジトリを解析するCLIユーティリティとローカルバックエンドです。このツールはTypeScript、Go、Rust、Python、Java、C++、Ruby、Elixirを含む26のプログラミング言語をサポートしており、YAML、SQL、Dockerfileなどの設定ファイルも認識します。
スキャン中、ユーティリティは構造を抽出します:関数、クラス>import точки、呼び出しチェーン。これらはすべてDockerで実行されるローカルなArangoDBグラフデータベースに保存されます。その结果是、エンドレスなファイル読み込みや当て推量ではなく、開発者とLLMが対象的なコマンドでクエリできるプロジェクトのインタラクティブなマップを取得できます。
コンテキストはセッション間で永続化されます。ターミナルを閉じる」や「エディタを再起動しても`、`蓄積された接続は消えません。
エンドレスな検索の代わりに4つのコマンド
ユーティリティでのすべての作業は、4つの基本的なシナリオを中心に展開されます。
1. マップの構築
まず、現在のコードベースをスキャンします:
ix map .
パーサーがファイルを走査し、構文木を解析して、初期の依存関係グラフを構築します。
2. コンポーネントの説明
特定のモジュールが何を担当し、何に接続されているかを быстро理解する必要がある場合は、explainを呼び出します:
ix explain IngestionService
このコマンドは、シンボルの簡単なサマリーと、着信および発信の接続のリストを出力します。
3. フローのトレース
データ処理チェーンをトレースする場合は、traceコマンドが便利です:
ix trace user_login_flow
これはグラフノードを走査し、エントリポイントから最終ハンドラまでの呼び出しシーケンスを表示します。
4. 変更の影響評価
共有関数やデータスキーマを編集する前に、何が壊れる可能性があるか確認する価値があります:
ix impact verify_token
ユーティリティは、選択したシンボルに直接的または間接的に依存するすべての場所を検索します。著者によると、この対象的な構造検索により、開発タスクで30%から99%のトークンを節約できます。
MCP経由のエディタへの接続
CLIにはすでにModel Context Protocol(MCP)サーバーが組み込まれています。つまり、Cursor、VS Code、Claude Code、Codex、Gemini CLI、OpenClawなど、最新のAIツールに簡単に接続できます。
検出されたすべてのクライアントの自動セットアップは、1つのコマンドで起動します:
ix mcp install
スクリプトはマシン上の設定を確認し、慎重に追加します。既存の設定を盲目的に上書きしません。
手動でクライアントを登録する必要がある場合(Codexなど)は、次を実行するだけです:
codex mcp add ix-memory -- ix mcp
エージェントがタスクを完了すると、MCPツールを通じてローカルグラフに直接アクセスし、何百ものファイルを盲目的にgrepする代わりに動作します。
インストールとシステム要件
Node.js 22+、Git、ripgrep、および動作中のDockerとDocker Composeが必要です(内部でArangoDBを実行します)。
macOSとLinuxでは、インストールは1行です:
curl -fsSL https://ix-infra.com/install.sh | sh
Windowsの場合は、PowerShellスクリプトがあります:
irm https://ix-infra.com/install.ps1 | iex
インストール後、サービスの状態を確認します:
ix status
ix docker start
ix doctor
データベースがまだ実行されていない場合、ix docker startはバックグラウンドでArangoDBコンテナを起動します。
まとめ
プロジェクトは現在早期アルファ段階のため、コマンドの動作やAPIはまだ変更される可能性があります。ドキュメントは現在最小限であり、ローカルDockerコンテナへの依存は最初の起動時に多少のオーバーヘッドを追加します。
プロジェクトを試すべき人:
- 大規模で未知のリポジトリを頻繁にナビゲートする開発者。
- Claude Code、Cursor、Codexを積極的に使用しており、コンテキストオーバーフローに厌倦している人。
- ソースコードをサードパーティのサーバーに送信せずに、マイクロサービス内の接続のローカルナレッジベースを必要とするチーム。
AIがコードベースと対話する方法に秩序をもたらしたい場合は、プロジェクトのGitHubリポジトリを確認し、自分のプロジェクトでix mapを試してみてください。
関連プロジェクト