メインコンテンツへスキップ
AMPL/ dev
開発系講座一覧

Claudeを複数同時に走らせる(マルチエージェント)

1人のClaudeを待つより、3人同時に働かせた方が早い。意外と簡単にできます。

このレッスンで

終わる頃には、次ができるようになります

  • ターミナルのタブを複数開いてClaudeを並行して走らせられる
  • 同じファイルを同時編集させないよう役割分担やworktreeで衝突を避けられる
  • サブエージェント呼び出しとターミナル分割とpフラグを使い分けられる

このレッスンで作るもの

01

タブ分割

ターミナルを3つ開く

02

役割分担

テスト/ドキュメント/レビュー

03

同時実行

全部走らせて待つ

04

結果統合

終わった順に確認

3並行マルチエージェント

待ってる時間、もったいなくない?

今まではClaudeに頼んで、待って、終わったら次、の繰り返し。

でも実は、1人待つ間に別のClaudeにも仕事を振ることができます。

  • Claudeにテスト書かせながら、
  • 別のClaudeにREADME更新させる

同時進行。3倍速くなる場合もある。これがマルチエージェントの基本。

3つのターミナルでClaudeが並行して働いている図。テスト・ドキュメント・レビューを同時進行
待ち時間ゼロで3倍速。1人で3人分の仕事を回す

一番シンプル: ターミナルのタブを増やすだけ

特別な設定はいらない。ターミナルのタブを2つ開いて、それぞれでClaude起動。それだけ。

タブ1:

Tab 1: テスト担当
$claude
$このファイルのテストを書いて

タブ2(新しいタブを開いて):

Tab 2: ドキュメント担当
$claude
$README.mdを最近の機能を反映して更新して

両方が同時に走る。終わったタブから結果を見ればいい。

視点

まずはこれだけ試してほしい

ターミナルのタブを2つ開いて、片方にテスト、片方にドキュメントを頼む。これだけでマルチエージェントの感覚がつかめる。

他のやり方は、慣れてきてから。


一発で流す: -p フラグ

もう一歩慣れたら、-p フラグで対話なしで走らせる方法。

Terminal
$

claude -p "src/utils/calc.ts のテストを書いて、testフォルダに保存して"

対話画面が出ずに、タスク実行 → 結果出力 → 自動終了。複数同時に流しやすい。

3並行で走らせる例:

Tab 1
$claude -p "src/utils/calc.ts のテストを書いて"
Tab 2
$claude -p "README.md を最新に更新して"
Tab 3
$

claude -p "package.json の不要な依存を洗い出して"

3つ終わったら、順番に結果確認。3倍速で進む。


会話の中からサブエージェントを呼ぶ

タブを増やさずに、1つの会話の中から別のエージェントを呼び出すこともできる。

Claude Code
$

このプロジェクトのsrcフォルダの全TypeScriptファイルを調べて、それぞれが何をしているか一覧にまとめて。調査にはサブエージェントを使って。

「サブエージェント使って」と明示すると、裏で別のエージェントが動く。メインの会話は引き続き別のことに使える。

Claude Code Sub-agents 公式ドキュメントのスクリーンショット
Claude Code Sub-agents の公式ドキュメント。カスタムエージェントは .claude/agents/ にファイルを置くか、Claudeに頼んで作る(v2.1.198 で /agents の作成画面は廃止)
SourceDOCUMENTATION
Claude Code Sub-agents 公式ドキュメント

サブエージェントの詳しい使い方。並列調査・並列レビューの実例も載っている。

Webcode.claude.com
code.claude.com/docs/en/sub-agents

注意: 同じファイルを同時にいじると事故る

2つのエージェントが同じファイルを同時に編集すると、どちらかの変更が消える。

対策は2つ:

1. ファイルを分ける(簡単)

「テスト担当」と「ドキュメント担当」みたいに、触るファイルが重ならないように役割分担する。これで衝突は起きない。

2. Git worktree を使う(ちょっと上級)

リポジトリの作業コピーをもう1個作る機能。完全に独立して動ける。

Terminal
$

git worktree add ../my-project-feature feature-branch

Preparing worktree (new branch 'feature-branch')

HEAD is now at xxxxxxx

→ ../my-project-feature に別の作業ディレクトリができる。そこで別のClaudeを起動すれば、元と完全に独立。

最初はファイル分ける方法でOK。worktreeは大きなプロジェクトで必要になったら。

SourceDOCUMENTATION
git worktree 公式リファレンス

複数ブランチを同時に作業するためのGitの仕組み。並列開発の上級技。

Webgit-scm.com
git-scm.com/docs/git-worktree

3つの方法、いつどれを使う?

サブエージェント呼び出し

◎ 一番手軽。調査・分析を裏で流したい時

ターミナル分割

○ 手軽。テスト+ドキュメントみたいな並行作業

claude -p フラグ

△ ちょっと慣れ必要。決まった作業を複数同時に

マルチエージェント 3つの方法

使いどころ

新機能追加

Claude1: 実装 / Claude2: テスト / Claude3: ドキュメント

コードレビュー

Claude1: セキュリティ / Claude2: パフォーマンス

リファクタ

Claude1: 構造分析 / Claude2: 型整理

3並行が刺さる場面

共通するのは互いに依存しない作業を並行させること。Aの結果がないとBに着手できない、の時は並行の意味がない(順番にやるのが速い)。


コストの話

エージェント数だけAPIの消費が増える。3つ走らせたら3倍のトークン消費。

日常は2並行で十分。3つ以上は、大きなリファクタや一斉レビューみたいな「ここぞ」の場面だけでいい。

注意

並行数は増やしすぎない

2並行で始めて、必要に応じて増やす。常時3つ以上走らせる必要はほぼないです。トークンが枯れる。


セルフチェック

1. 2つのエージェントを同時に走らせる時の注意点は?

2. claude -p フラグの特徴は?

3. マルチエージェントが意味を持たない場面は?

明日のアクション

ターミナルのタブを2つ開いて、それぞれでClaudeを起動してください。

  • タブ1: 「このプロジェクトの構造を説明して」
  • タブ2: 「package.jsonの依存関係を一覧にして」

2つのタスクが同時に進む感覚を味わってみてください。一度やると「これでいいじゃん」ってなります。

このレッスンは役に立ちましたか?