Vesta:Claude Code 向けアダプティブオントロジー
Vesta は Claude Code 向けプラグインで、リポジトリの参照関係グラフと語彙のオントロジー、以前のセッションの結論をバックグラウンドで構築し、エージェントがコードを読み直さずに構造的な質問へ答えられるようにします。デフォルトでコンパニオンとして動作し、関連情報を適切なタイミングで提示。全機能はスラッシュコマンドで提供されます。エージェント自身の推論で動作し、隠しファイルや依存ディレクトリを避け、Apache 2.0 で公開されています。
Vesta は Claude Code 向けのプラグインです。リポジトリの「誰が何を参照しているか」という依存関係を解決したグラフと、作業の呼び方に関するオントロジー、そして以前のセッションで判明した内容を背景で構築し、エージェントがコードを読み返さずに構造上の質問へ答えられるようにします。インストールして通常どおり作業するだけで、何も起動する必要はありません。
作業中、Vesta はデフォルトでコンパニオンとして動作します。変更しようとしているファイルにすでに存在する「飲み込まれた失敗」(swallowed failure)がある場合、そのファイルが初めて言及されたときに一度だけ知らせます。再度言及された場合は何も言いません。また、日常の作業中にあなたが発したルールを記録し、後続の操作がそのルールに反するときに注意を促します。プロンプトが特定の定義に言及している場合は、以前のセッションでどのコード領域から結論が導かれたかを添えて提示するので、エージェントは盲信せずに確認できます。名前を指定しないプロンプト(大多数)に対しては何も言いません。
すべての機能はスラッシュコマンドで提供されます。代表的なものは次のとおりです: /vesta:shape(ファイルを開く前にリポジトリの構成を知る)、/vesta:touches(変更が影響する範囲と、それをカバーするテストを表示)、/vesta:does(日常語で作業の種類を尋ね、コード内の対応する場所を返す)、/vesta:defects(依頼なしに修正すべき問題を見つける)、/vesta:decided(あなたが述べたルールと、コードがそれを守っているかを確認)、/vesta:tutorial(自分のリポジトリで1ページずつ学ぶ)。残りは /vesta:help で確認できます。特に /vesta:does は単なる grep ではありません。「失敗したリクエストの再試行」「送信の重複排除」といった作業の語彙で尋ねると、コードの語彙で答えます。この語彙マッピングはリポジトリごとに一度だけ導出されます。
空のディレクトリでプロジェクト全体の構築を依頼すると、対話式で構築するか、事前に契約に同意してから完了まで自動実行するかの選択肢が提示されます。対話式を選んだ場合、再度尋ねられることはありません。自動モードはあなたの代わりに実行されることはなく、すでに誰かが作業しているリポジトリでは提案されません。
Vesta はエージェント自身の推論で動作し、APIキーは保持せず、独自のネットワーク呼び出しも行いません。モデルの使い分けは好みではなく、定義の読み取りとラベル付けは小さなモデルで実行されます。それは各定義に対して一度だけ発生するため、その量に大きなモデルを使うとアプローチ自体が高くなりすぎるからです。契約や仕様など、誰かがそれに従うことになる合成コンテンツの生成は、一度だけ大きなモデルで実行されます。導出されたものはすべて ~/.vesta に保存され、削除できます。/vesta:held は保持されている内容を報告し、消えたリポジトリに属するものを回収します。データがマシンの外に出ることはありません。
Vesta には明確な境界があります: .env、.aws、.ssh など、ドットで始まる隠しファイルは一切読みません。venv、node_modules、site-packages、vendor などの依存ディレクトリも読みません。また、導出していないことを主張しません。ルールは実際にあなたが発言し、トランスクリプトで検証された言葉に基づいて記録されます。解決できなかった参照は、完全な回答があったかのように示すのではなく、そのまま報告します。ワークスペース内のプロジェクト間の参照がグラフに含まれていない場合も明示されます。
要件は Python 3.10 以上と、解決したい言語の言語サーバーです。Python は pyright-langserver、Rust は rust-analyzer、Go は gopls などです。Vesta は初回使用時に独自のランタイムを構築するため、あなたの環境に何かをインストールする必要はありません。言語サーバーがインストールされていないリポジトリは、静かに中途半端に解決するのではなく、その旨が報告されます。
このリポジトリに対する読み取り専用の構造質問で、ホストの /cost によるコスト測定が公開されています。対照群は Vesta なしで 0.4872 ドル、エージェントがツールを呼ぶ実装は 0.3747 ドル(23.1%減)、情報を注入して事前に置く実装は 0.2980 ドル(38.8%減)でした。注入モードはエージェントが何かを決定する前に 799 文字を出力し、ツールモードは3回の呼び出しで 21,905 文字を提供しました。詳細は doc/measurements.md、ハーネスは trial/ にあります。しかし、この機能の大部分は未測定です。ファイルを編集する瞬間に欠陥を提示することが成果を改善するか、語彙の交差が grep では見つからないものを見つけるか、抽出が保持する価値のあるルールを回復するかは、まだ示されていません。doc/open-questions.md に未解決の疑問と確認された内容が記録されています。
ライセンスは Apache 2.0 です。LICENSE と NOTICE.md を参照してください。インストールコマンドは /plugin marketplace add https://gitlab.com/causum/vesta.git と /plugin install vesta@causum です。