🦔

Claude Codeの対話ログをチーム共有するツールを作った

に公開

はじめに

AIエージェントの最新情報を追いかけたり、AIが生成した大量のコードのレビューなどでお疲れの皆さん、こんにちは。

僕もAIエージェントによる開発の強さと速さに圧倒されつつも、もうちょっと上手く使う方法はないのかなと日々模索しています。
最近、チームでAIエージェントを使って開発を行う場合には、AIとの対話内容そのものを共有できている必要があるんじゃないかということを思いついたので、そのあたりの話と僕が解決策として試しに作ってみたツールについて紹介します。

作ったツールは Claude Code 向けなんですが課題としては他のAIエージェントを使う場合でも共通する部分があると思うので、そういう観点で読んでいただければと思います。

チームでAIエージェントを使うときの課題感

僕は他人がAIが生成したコードをレビューするときに、このコードはどんな設計判断があって作られたのかというのがわからないなと感じることが多いです。
正直コードだけ見ても、issueの文章をそのままAIに渡して出てきたコードなのか、AIと議論しながら様々な判断を経て出てきたコードなのか、見分けはつかないのではないかと思っています。

人間の意図や考えがどのくらい反映されているのかがわからないけど動いているコードも将来的にはそういうものだとして受け入れていくことになるかもしれませんが、今はまだAIを使った人にどんな意図があったのか理解できる状態であることが重要なフェーズではないかと考えています。

また、AIエージェントの書いたコードの設計判断について考えるには、いわゆるPLANモードで作られた計画もコードと一緒にレビューしたいと思っているんですが、現状は実装中に出てきたプランをちらっとみたらそれで終わりにしてしまっていることが多いのではないかと思います。

さらに、チームのCLAUDE.mdを変更したり、スキルを追加するなどAIエージェントを使った開発自体の改善や情報共有をしたいときにも、その変更によってAIエージェントの動きがどう変わったのかをなるべく詳しく共有できる方がいいのになと思っています。

今のところ、AIエージェントとのやりとりそのものを簡単に共有する方法がないために、こういう課題が発生しているのではないかと考えています。

AIとのやりとりを共有するためのツールを作りました

上述の課題は

  • Claude Code の対話ログ
  • PLANモードで作られた設計プラン

がチーム内に共有できれば解決できると考えました。

そこでAIエージェントとの対話ログを共有できるし、markdownのプランも置いておけるツールとして、AgenTraceというものを作ってみました。

https://github.com/satetsu888/agentrace

AgenTrace は Claude Code の Hooks を使って対話ログを収集して保存する機能、 設計プランの Markdown をサーバーのリソースとして読み書きしたりステータス管理をするための MCP、人間がデータを閲覧、編集するための Web で構成されるツールです。
これらの情報を他の人に共有するためにサーバーに保存するんですが、オンライン上で扱うにはセキュリティ的な問題がある情報が含まれると思うので、サーバーはそれぞれ社内ネットワークなりローカル環境なりに立てて使う想定としています。

全体の構成は以下のようになっています。

Claude Code をすでに使っている人であれば2コマンドでローカルにセットアップできます。試してみたい人は以下のコマンドを実行してください。

docker run -d --name agentrace -p 9080:9080 -v $(pwd)/data:/data satetsu888/agentrace:latest
npx agentrace init --url http://localhost:9080

セットアップができたらあとはいつも通りClaude Codeを使うだけで、対話ログが記録されていきます。

なんかこういうよくわからないもの試すときって後片付けが面倒だなと思いますよね...
なので設定したHooksやMCPサーバーを取り除くためのコマンドもあります。試し終わったらこれで綺麗に片付けてください。

npx agentrace uninstall

それでもやっぱり自分の環境で試すのは面倒な人向けに、データの閲覧だけできるモックも用意したので見てみてください。

https://satetsu888.github.io/agentrace/

特徴と使い方

対話ログの保存と閲覧

やりとりのログはClaude Code の Hooks 機能を使って自動的に保存され、Web画面でやりとりを確認できます。
Toolの呼び出しと結果をまとめたり、ユーザとアシスタントのメッセージ以外は折りたたんで表示するなど、内容を把握しやすいように工夫しています。

PLANドキュメントの保存と管理

MCPを使ってMarkdownドキュメントとして保存、編集、ステータス管理ができます。
既存のドキュメントツールへのアクセス権限を与える方法もありますが、AIエージェント専用に設計することで、余計な情報へのアクセスを避けつつシンプルな運用ができます。

AgenTraceでは設計プランに対して以下のようなステータスを用意しました。

  • scratch: とりあえずの走り書き
  • planning: AIや人間が検討して修正中
  • ready: 設計プランとして完成、実装待ち
  • implementation: 実装中
  • complete: 実装完了

これらのステータスをどんな風に遷移させるべきかをMCPのToolに書いてあるので、scratchのものを適当にAIに渡すと詳細を検討してくれますし、readyのものを渡すと実装してくれます。
AIとこの辺りの認識があっていると、ドキュメントを自由に読み書きさせたときの動きがかなり安定する印象があります。

ただしClaude Code組み込みのPLAN機能を置き換えるわけではないので、単にPLANを立てさせるだけでは呼び出してくれずPLANを提示させた後で「plan document として保存して」などと指示する必要があります。
実際に作りながら試している感じとしては、Web画面で雑にタスクを走り書きしておいて、それをClaude Codeに読ませてから「このPLANを詳細化して」とか「このPLANをもとに実装して」と指示するような使い方の方が便利かもしれません。

おわりに

Claude Codeのやりとりをチームで共有するためのツールとして作ってみたAgenTraceを紹介しました。

まだ試作段階なので細かい部分を作り込みつつ一人で使ってみていますが、今のところまあまあ便利な感触があります。
とくに会話のログを全部見返せるというのは、あとからAIの動きをじっくり観察できるので色々と発見がある感じがします。

実際にチームで使うとどんな感じになるのかは試せていないので、年明けから実際に仕事で使ってみようと思っています。

もし興味がある人がいればぜひ試してフィードバックをもらえると嬉しいです。

Discussion