AIコードアシスタントに未知のサービスのバグ修正を依頼すると、まず何をするか見てみましょう。読み始めます。ファイルを開き、また別のファイルを開き、関数名をgrepしてさらに4つ開く。そのたびにトークンと時間を消費し、それでもエージェントは半ば盲目のまま編集箇所にたどり着きます——コードベースを理解したのではなく、サンプリングしただけです。
Codnaはその順序を逆転させます。エージェントが一行書く前にリポジトリ全体を読み込み、プロジェクト全体の構造マップをミリ秒で構築します。エージェントはコードを読む。Codnaはコードを理解する。
AIコードアシスタントが盲目的に読む理由
大規模なリポジトリはテキストのフォルダではありません。インポート、コール箇所、型定義、そしてチームが長年かけて積み上げてきた暗黙の慣習からなるグラフです。AIコーディングエージェントがそのグラフをファイル単位で辿ると、二重のコストを払います。一度は既に見たものを再読するトークン、もう一度は重要な部分を見ていないことによるミスです。
失敗はほとんど劇的ではありません。エージェントは症状にパッチを当て、3階層先にある共有ヘルパーを見逃します。既に存在するユーティリティを重複して作ります。シグネチャを変更しながら、下流の7つの呼び出し元に気づきません。これらは推論の失敗ではありません。コンテキストの失敗です——モデルはより良い判断を下せるほどのコードベースを見せてもらっていなかったのです。
AIによる悪い編集のほとんどは推論エラーではない。コンテキスト欠如のエラーだ。
よくある対処法は、より多くのテキストを送ることです。プロンプトにファイルを詰め込み、関連する行がどこかに含まれていることを祈る。しかしそれは一つの問題を別の問題と交換するだけです。コンテキストウィンドウは埋まり、コストは上がり、エージェントが本当に必要なシグナルは不要な情報の下に埋もれます。
まずマッピング、それから行動
Codnaの前提は、コードベースを理解することと編集することは別の仕事であり、別のエンジンで動かすべきだということです。マッピングエンジンが高コストな構造解析を一度行い、常に最新の状態を保ちます。コーディングエージェントは書く仕事をし、読むべきリストではなく正確なコンテキストを持って臨みます。
そのマッピングはゼロトークンで行われます。Codnaはソースコードを言語モデルに通すのではなく、静的解析でリポジトリをインデックス化します。そのため、100万行のプロジェクトのマップ構築と更新に推論コストはかかりません。モデルの予算は本来の価値を発揮する場所——変更そのもの——に使われ、毎セッションごとにプロジェクトを一から再発見することには使われません。
その結果、コードベースのコンテキストをインフラとして扱うAIコーディングアシスタントが生まれます。マップは常に存在し、常に最新で、エージェントが必要とする瞬間にクエリ可能です。
理解。修正。進化。
ループは4つのステップで構成され、エージェントが作業するたびに順番に実行されます。
まず、Codnaはリポジトリをマッピングします——プロジェクトをファイル、シンボル、依存関係、コールグラフの構造インデックスに解析します。次に、そのマップを理解し、各要素の関係を解決することで、ある関数へのクエリがその呼び出し元や依存先のコードも把握できるようにします。第三に、タスクが届くと、Codnaはコンテキストを取得します——変更が触れるコードベースの正確な断片だけを抽出し、それ以上は取りません。第四に、エージェントを導き、そのフォーカスされたコンテキストを渡すことで、コーディングエージェントがシニアエンジニアが頭の中に持つのと同じ認識で編集できるようにします。
理解。修正。進化。この命名は意図的です。理解は修正より先に来ます。理解なき修正は推測であり、進化——リファクタリング、マイグレーション、システムの緩やかな改善——はすべての変更が全体に根ざしているときにのみ安全です。
正確なコンテキストが変えるもの
エージェントが盲目的な読み込みをやめると、その違いはデモではなく実際の作業に現れます。
- 編集が正しい場所に着地する——エージェントが触れる関数のすべての呼び出し元を把握しているため
- トークン消費が減る——モデルが毎ターンファイルを再読するコストを払わなくなるため
- リファクタリングが安全になる——変更の影響範囲全体がリリース前にマップで明らかになるため
- 未知のリポジトリへのオンボーディングが推測ゲームでなくなる——構造がすでに把握されているため
これがAIコーディングエージェントと真のコードインテリジェンスの境界線です。一方は払えるだけ読む。もう一方は読む前に何を読むべきかを知っている。AIコードアシスタントツールの中で、この違いは短い試用では見逃しやすく、実際の業務を四半期続ければ見逃せなくなります——気の利いたオートコンプリートと、実際に保守しなければならないコードベースに最適なAIコードアシスタントを分かつものです。
あなたが既に持つリポジトリのために
Codnaは実際のプロジェクト——大規模で、層が深く、ドキュメントが不完全なもの——に対して動作します。チュートリアルの整ったサンプルではありません。チームが既に使っているコーディングエージェントと連携し、VS Code向けAIコードアシスタントとしても機能するため、マップは既存のツールに情報を与え、それらを置き換えません。目的は別のウィンドウを追加することではありませんでした。今あるウィンドウのエージェントが、自分がどこにいるかを既に知った状態で到着できるようにすることでした。
システムが成長するにつれ、コードを読むことと理解することの差は広がるばかりです。その差を埋めるアシスタントが、行動する前にマッピングするものになるでしょう。Codnaは稼働中であり、その未来のために構築されています——コードベースの理解が、ツールが最初に行うことであり、最後ではない未来のために。