Development

Claude Code + tmuxで並行開発を試してみた Claude Code Communication 編

By Yosuke | 2025年6月22日

株式会社tolvの宍戸陽介です。

前回、Claude Code + tmux(ターミナルマルチプレクサ)を使って並行処理を試してみましたが、
今回は、@akira_papa_ITさんが公開している、Claude Code エージェント通信システムというのを利用して、試していきたいと思います。 @akira_papa_ITさんのClaude Code エージェント通信システムというのは、@daikon265さんが作成したものをForkして作られているようです。

nishimoto265/Claude-Code-Communication

Contribute to nishimoto265/Claude-Code-Communication development by creating an account on GitHub.

github.com


Akira-Papa/Claude-Code-Communication

Contribute to Akira-Papa/Claude-Code-Communication development by creating an account on GitHub.

github.com

準備

基本的には、手順に沿って行っていけば、特に難しいことはないです。ここでの準備も基本的にはREADMEやsetup時のメッセージを元に行っていきます。
まずは、Claude-Code-CommunicationをGitHubからCloneして、フォルダを移動します。

git clone https://github.com/nishimoto265/Claude-Code-Communication.git
cd Claude-Code-Communication

次に、下記コマンドでtmuxのセッションを作成していきます。

./setup.sh

実行すると、下記のように次のステップが表示されます。

📋 次のステップ:
  1. 🔗 セッションアタッチ:
     tmux attach-session -t multiagent   # マルチエージェント確認
     tmux attach-session -t president    # プレジデント確認

  2. 🤖 Claude Code起動:
     # 手順1: President認証
     tmux send-keys -t president 'claude' C-m
     # 手順2: 認証後、multiagent一括起動
     for i in {0..3}; do tmux send-keys -t multiagent:0.$i 'claude' C-m; done

  3. 📜 指示書確認:
     PRESIDENT: instructions/president.md
     boss1: instructions/boss.md
     worker1,2,3: instructions/worker.md
     システム構造: CLAUDE.md

ステップの通り、セッションをアタッチしていきますが、この時にプレジデントとマルチエージェントは別々のターミナルで実行します。
セッションのアタッチを実行すると、下記の画像のようになります。ターミナルAとターミナルBはそれぞれ別のターミナル(ウィンドウ)になります。

各tmuxの起動
各tmuxの起動

次に、各tmuxでClaude Codeを起動していきます。上記のステップでは、claudeで立ち上げていますが、前回同様に--dangerously-skip-permissionsのオプションをつけて起動します。
おそらく、どのtmuxから実行しても良いかと思いますが、Presidentのtmuxから実行していきます。手順とは逆ですが、先にbossとworkerを起動して、最後に自分自身を起動します。
場合によっては、認証が求められるので、それぞれの環境に合わせて認証を行ってください。

for i in {0..3}; do tmux send-keys -t multiagent:0.$i 'claude --dangerously-skip-permissions' C-m; done
tmux send-keys -t president 'claude --dangerously-skip-permissions' C-m

実行すると、最終的には下記のように各Claude Codeが起動した状態になります。

各Claude Codeの起動
各Claude Codeの起動

これで、実行する準備が整いました。

Presidentへの指示出し

今回の指示は、前回同様キャットフードのLPを作成してもらいます。
指示は、前回タスク分けの指示などを行っていましたが、その辺りの指示を削除していますが、President向けに指示を追加しています。
President向けの指示がないと、President一人で作業を開始してしまいます。

あなたは、このプロジェクトの責任者です。下記要件を把握して部下に指示を出し、プロジェクトを完了してください。
- キャットフードの定期販売LPを作成したいです。
- デザインの異なるランディングページ(LP)を6パターン作成してください。
- 各LPは、HTML/CSS/JS をすべて1ファイルに含めた「1ファイル完結型」としてください。

実行すると、Presidentからbossへ、bossからworker1-3へ作業指示が出され、最終的にbossからPresidentに作業完了が報告されます。

作業実行中の様子
作業実行中の様子

実際に使用してみて

今回のサンプル以外にも、1ページ完結型のHTMLのデザインパターンを20種類出すなどをやってみました。
やってみた感じとしては、

  • トークンを大量に使用するので、Proプランだとリミット制限で止まる
  • 要件用のファイルを用意して、Presidentに指示を与えても、workerは要件用のファイルを確認しないので、全員に要件用ファイルを確認させる指示が必要
  • 20種類をworkerに分担させても、それぞれのデザインを把握していないので、同じようなデザインができあがるので、PresidentまたはBossにイメージを作らせてからworkerに指示を出す必要がある

などなど、指示出しに注意が必要だったり、実際にアプリを作成するとなった場合は、お互いのworkerの作業がコンフリクトしないような指示が必要だと感じました。
この辺りの、指示の難しさなどは、Cognitionが出している、「Don't Build Multi-Agents」の内容がとても面白いです。 マルチエージェントを行う原則として、完全な履歴の共有と、各エージェントが行ったアクションの意図を共有する必要があり、それができないのであれば、単一エージェントで実行するのが良いと記載されています。

Cognition | Don't Build Multi-Agents

Frameworks for LLM Agents have been surprisingly disappointing. I want to offer some principles for building agents based on our own trial & error, and explain why some tempting ideas are actually quite bad in practice.

cognition.ai

それとは逆に、Anthropic社は多岐にわたる調査や研究タスクなど、並行処理が求められる場合は特に有効としています。
オーケストレーターワーカーパターンという、リーダーが戦略を立てて、複数のサブエージェントにタスクを実行させる方式を採用しているそうです。
これにより、高い性能を発揮させることが可能になる一方で、トークンのコストが通常のチャットの15倍になるのがデメリットのようです。 高度なプロンプトによる指示や、LLM自身を使った評価手法など実務的な課題に取り組んだことにより、デメリットをはるかに上回る結果が出るそうです。

How we built our multi-agent research system Anthropic

On the the engineering challenges and lessons learned from building Claude's Research system

anthropic.com

両サイトとも、英語のサイトですがNotebookLMなどを使って、概要などを確認すると良いかもしれません。
まだまだ、AI組織を動かすには課題がありそうですが、Anthropic社のように実績を積み上げている事実もあるので、いずれもっと身近なものになるのではないかと思います。

tolv

ものづくりを通して、いい人と出会っていく

Contact

Phone: 092-985-2930

Address: 福岡県糟屋郡粕屋町長者原東2-1-28

© 2021 - 2025 tolv. All rights reserved.