Mindwalk: 3DでAIコーディングエージェントのセッションを可視化
Mindwalk: 3DでAIコーディングエージェントのセッションを可視化
Mindwalk は、リポジトリの 3D マップ上でセッションログを再生することで、AI コーディングエージェントを空間的に監査する手法を提供します。標準的なセッションログはエージェントが何をしたかを記録しますが、Mindwalk はエージェントがタスクをどのように理解したか、具体的にはどのファイルを関連とみなし、行動する前にどこを探索したかを可視化します。
エージェント行動の空間分析
Mindwalk はリポジトリを「ナイトマップ」に変換し、エージェントの活動が光として表れます。これにより開発者はエージェントの足跡を一目で把握でき、エージェントの探索がタスクの意図した範囲と合致しているかを判断できます。
可視化モードと指標
- ツリービューとテレインビュー: コードベースは放射状ツリーまたはツリーマップ平面として表現されます。光の強さはファイルがどれだけ深く、頻繁に触れられたかを示します。
- タッチ状態: ファイルは最も深いインタラクションに基づいて色分けされます:
- モスグリーン: 見られた
- ムーンホワイト: 読まれた
- ウォームアンバー: 編集された
- ダーク: 未訪問
- 再生デッキ: バケット化されたヒストグラムにより、ユーザーはセッションをスクラブできます。観察フェーズ(検索、読取、実行)はクールカラーで示され、変異フェーズ(編集、検証)は暖色で光ります。
- タイムラインマーク: 特定のシンボルが重要イベントを示します:
◇はコンテキスト圧縮、○はサブエージェント起動、›はユーザーターン。
技術アーキテクチャ
Mindwalk はローカルの Go バイナリとして構築されており、セッションデータがユーザーのマシンから外部に出ることはありません。データは以下の 2 つの明確なアーティファクトに分離されます:
- トレース: アダプタを介してセッションログから生成された、正規化されたファイルタッチイベントのストリームです。現在は Claude Code と Codex のセッションログをサポートしています。
- シティマップ: リポジトリの決定論的レイアウトです。同じツリーは常に同じマップを生成するため、異なるセッション間での再生比較が可能です。
システムはローカルの Go サーバーを使用してトレースとシティマップを結合し、React と Three.js で構築されたフロントエンドを提供します。
インストールと使用方法
Mindwalk はシェルスクリプト経由または Makefile を使用してソースからビルドしてインストールできます。
クイックスタート:
curl -fsSL https://raw.githubusercontent.com/cosmtrek/mindwalk/master/scripts/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
mindwalk
コアコマンド:
mindwalk serve:~/.claude/projectsと~/.codex/sessionsをスキャンし、ローカルポートで UI を提供します。mindwalk open <session.jsonl>: 特定のセッションログを開きます。mindwalk build <repo>: リポジトリのシティマップ JSON を生成します。mindwalk trace <session>: 正規化されたトレース JSON を書き出します。
コミュニティの洞察とユースケース
一部のユーザーは従来の diff に比べて 3D 可視化の即時的な有用性に疑問を呈しましたが、空間的エージェント監査の高付加価値ユースケースを指摘する声もありました:
"面白いと思うのは、何らかの空間的/表現的比較です。2 つの異なるモデルが同じ問題に対してコードベースとどのように相互作用したか、何に触れ、何をしたかを見てみましょう。"
他のコミュニティメンバーは、ターミナルベースの「Read file」ログは追跡が困難であり、空間的表現により LLM が情報を取得した正確な場所を特定しやすくなると指摘しました。さらに、セッションごとの履歴ではなく、すべてのエージェントにわたる累積履歴を提供する拡張を提案するユーザーもいました。
要約: Mindwalk はローカルの可視化ツールで、AI コーディングエージェントのセッションログをコードベースのインタラクティブな 3D マップに変換し、エージェントがファイルをどのように探索・変更したかを明らかにします。
タイトル: Mindwalk: 3DでAIコーディングエージェントのセッションを可視化