Claude Code、Cursor、Codex(いずれもAIにコードを書かせるコーディングエージェント)を複数並行で動かしていると、どのセッションがどれだけトークンを消費し、どこで止まっているのかが見えにくくなります。
エージェントごとにログの形式も保存場所もばらばらなので、調子が悪いときに原因を追うだけで時間を取られる、という悩みは珍しくありません。この記事では、ローカルで動くエージェント監視ツール「AgentMon Start」の仕組みを材料に、複数エージェント運用時に何を確認すればよいかを整理します。
何が問題になっているのか
AIコーディングエージェントは、ユーザーの指示を受けてファイルを読み書きしたり、シェルコマンドを実行したり、Web検索をしたりします。1回のやり取りごとにLLM(大規模言語モデル)へのAPI呼び出しが発生し、トークン数に応じて課金されます。
1つのエージェントだけを使っているうちは、ターミナルの出力やダッシュボードの請求額を見れば状況は把握できます。しかし同じリポジトリでClaude CodeとCursorとCodexを同時に使うようになると、それぞれが独自のセッション履歴を別々の場所に書き込むため、横断して状況を見る手段がなくなります。
AgentMon Startは、この「複数エージェントのログが分散している」という問題に対して、SDK(開発者向け組み込みライブラリ)の追加やプロキシ設定なしに、既存のログを読み取るだけで解決を試みるツールです。
収集の仕組みを段階的に見る
まず押さえておきたいのは、AgentMon Startがエージェント本体に手を加えない点です。Claude Code、Claude Desktop、Codex、GitHub Copilot、Cursor、Gemini CLI、Gooseなど16種類以上のエージェント・ハーネス(実行環境)・LLMに対応していますが、これはすべて「各ツールがもともと書き出しているセッションログを読む」実装になっているためです。
アーキテクチャはローカルで完結する3つの部品に分かれています。1つ目はコレクターで、各エージェントのログをパースし、トークン使用量・コスト・ツール呼び出し・エラー・セキュリティ上の懸念点をスナップショットとして抽出します。
2つ目はローカルサーバーです。コレクターが作ったスナップショットをSQLite(軽量な組み込みデータベース)に保存し、分析処理を行います。このサーバーは127.0.0.1(自分のマシン内だけに閉じたアドレス)でリッスンするため、外部からアクセスされる設計にはなっていません。
3つ目がデスクトップのダッシュボードで、集計結果を可視化する役割です。ダッシュボードのウィンドウを閉じても、収集処理自体はバックグラウンドで継続します。
既存の監視手段との違い
この構成は、APMツール(アプリケーション性能監視ツール)がよく採用するプロキシ型・エージェント注入型の監視とは対照的です。DatadogやNew Relicのようなツールは、多くの場合アプリケーションコードにエージェントを仕込んだり、通信経路にプロキシを挟んだりしてデータを取得します。
一方でAgentMon Startは、コーディングエージェントが「もともとログを吐いている」という前提に乗っかり、後からパースするだけで済ませています。導入のハードルは低い反面、対応していないエージェントや、ログフォーマットが変わった場合には収集が追いつかない可能性がある、という点は構造上の制約として意識しておく必要があります。
コストから原因へドリルダウンする流れ
Overview画面では、直近24時間・7日間・30日間・全期間の単位で支出、セッション数、トークン使用量、キャッシュヒット率を確認できます。キャッシュヒット率とは、同じ入力に対してLLMが再計算せず過去の結果を再利用できた割合のことで、これが低いと同じような処理で無駄にコストがかさんでいる可能性があります。
「いくら使ったか」よりも実務上重要なのは、「どのセッションが予算を使ったか」「どのモデルが動いていたか」「同じ操作をリトライし続けていないか」という具体的な問いです。時間帯別のチャートで支出の急増したタイミングを特定し、モデル別の内訳で偏りを確認する、という流れがダッシュボード上で完結します。
Sessions画面では、1つのリポジトリに対する継続的な作業が「スレッド」としてまとめられます。各スレッドには、使用エージェント、コスト、トークン使用量、ファイル読み書き・編集・シェルコマンド実行・Webアクセスといった操作内訳が表示されます。
公開されている例では、あるClaude Codeのスレッドが1.96ドルのコストで26回のBashコマンド呼び出しを実行し、うち2回が失敗、さらにプロンプトインジェクション(外部から悪意ある指示を埋め込まれ、エージェントの挙動を乗っ取られる攻撃)の疑いがあるとして検出された例が示されています。
こうした情報は、失敗したコマンドを見直すか、別のツールに切り替えるか、セッション自体を止めるか、という判断材料になります。Tools画面では失敗したツール呼び出しをセッション横断で集計できるので、特定のツールだけがエラーを量産していないかも確認できます。
トレースでエージェントの迷走を追う
エージェントが止まったり、意図しない結果を出したりしたときは、セッショントレースを開く手順になります。ウォーターフォール表示で、記録されたLLM呼び出し・ツール呼び出し・推論ステップが時系列で並び、サイドパネルには入力・出力・メタデータ・生のJSONが表示されます。
これは分散トレーシングツール(OpenTelemetryなどでマイクロサービス間の処理経路を可視化する仕組み)に近い発想です。マイクロサービスのリクエストチェーンを追うのと同じ感覚で、エージェントの「考えて動いた経路」を後から再生できる点が特徴です。
アラートとセキュリティチェックの範囲
アラートは60秒ごとに評価され、プランに応じてコストのしきい値超過、支出の急増、エラーの急増、長時間稼働しているセッション、監視対象外のエージェント活動などを検知します。Recommendations機能は直近30日分のデータから、キャッシュ利用率の低さ、繰り返しのリトライ、無駄になったセッション、肥大化したプロンプトなどを洗い出し、根拠と見込まれる削減額を添えて提示します。
セキュリティ面では、プロンプト内に紛れ込んだシークレット(APIキーなどの秘匿情報)、プロンプトインジェクションの兆候、危険なシェルコマンドの実行をフラグ付けします。ただしこれは「調査のきっかけ」であり、検出結果だけで自動的にブロックするわけではない点は留意が必要です。セッションの文脈を見たうえで対応を判断する運用になります。
データ保存先と今日確認できること
アクティビティデータはデフォルトでローカルマシンに保存されます。外部通信が発生するのはサインイン、ライセンス確認、ユーザーが明示的に送信を選んだフィードバックのみで、チームダッシュボードへの共有は明示的な操作を挟んだオプトイン方式です。
自分の環境がこの話に該当するかどうかは、次の観点で確認できます。
- 複数のコーディングエージェント(Claude Code、Cursor、Codexなど)を同一プロジェクトで併用しているか
- 各ツールのコストや実行ログを横断して見る手段が今は存在しないか
- プロンプトインジェクションや危険なシェルコマンド実行のリスクを把握したいか
- 社内のネットワークポリシー上、ローカル完結型のツール(127.0.0.1でリッスンする構成)が許容されるか
AgentMon StartはWindows・macOS・Linuxに対応し、最初の3台は6か月間無料、有料プランはユーザー1人あたり月15ドルからとされています。導入を検討する場合は、まず自分が使っているエージェントが対応リストに含まれているかを公式サイトのドキュメントで確認するのが最初の一歩になります。
まとめ
複数のAIコーディングエージェントを並行運用すると、ログが分散しコスト超過や異常動作の発見が遅れがちです。AgentMon Startのような、既存ログをパースするだけのローカル完結型ツールは、SDK組み込みやプロキシ設定なしに導入できる点が特徴です。
今日できることとして、まず自分が使っているエージェントの組み合わせと、それぞれのログ出力先を一度棚卸ししてみてください。そのうえで、横断的な可視化が必要かどうか、プロンプトインジェクションのような検出機能が自分のリスクに見合うかどうかを判断材料にするとよさそうです。