14 並列作業(複数の Claude を同時に動かす)
更新日:
Claude Code には「同時に複数の作業をする」方法が複数ある。違いは自分がどれだけ関わるかとどこで動くか。
| 方法 | 内容 | 向いている時 |
|---|---|---|
| サブエージェント | 1セッション内の作業者。要約を返す | 脇作業で会話を汚したくない → 10_サブエージェント |
| Worktree | git の別作業ディレクトリで別セッション | 複数の機能を同時に、ファイル衝突なく |
| エージェントビュー | バックグラウンドセッションを1画面で管理(研究プレビュー) | 独立したタスクを複数投げて、様子を見る |
| エージェントチーム | リーダーが複数セッションに仕事を割り振る(実験的・既定OFF) | Claude に分担と調整まで任せたい |
| 動的ワークフロー | Claude が書いたスクリプトが多数のサブエージェントを動かす | コードベース全体の監査、大規模移行 |
| Projects | claude.ai/code の1つの会話から、Claude が並列スレッド(クラウド)を起動・管理(Pro/Max 公開β) | 数日〜数週間にわたる一連の仕事 |
| セッション間メッセージ | 自分の別セッションにメッセージを送る | 並行セッション間で発見・警告を共有 |
Git Worktree
worktree = 同じリポジトリ履歴を共有しつつ、別のフォルダ・別のブランチで作業できる git の機能。セッションごとに分ければ編集がぶつからない。
claude --worktree feature-auth # .claude/worktrees/feature-auth/ にブランチ worktree-feature-auth を作って起動
claude -w bugfix-123 # 別ターミナルでもう1つ- 名前を省略すると自動命名
- 終了時: 変更がなければ自動削除、あれば「残す/消す」を聞かれる。再開は表示される
claude --worktree <name> --resume .worktreeincludeで.envなど git 管理外のファイルを worktree にコピー- サブエージェントも
isolation: worktreeで隔離できる - デスクトップアプリではセッション開始時に worktree オプションを選ぶだけ
- git 以外の VCS は
WorktreeCreate/WorktreeRemoveHook で対応
エージェントビュー(Agent view)
claude agents- 下の入力欄にタスクを書いて Enter → 新しいバックグラウンドセッションが1行として起動(何行でも並列に)
- 各行に「作業中 / 返答待ち / 完了」が表示される
Spaceでのぞき見(最新出力や質問)、その場で返信Enter/→でアタッチ(通常の会話画面に)、空欄で←でデタッチ- 既存セッションは
/bg(/background)でバックグラウンドへ移せる
- シェルから:
claude --bg "タスク"、claude attach <id>、claude logs <id>、claude stop <id>(v2.1.290 からattach/logsはセッション名の一部でも指定可) Ctrl+Fで名前検索、n:<文字>で名前フィルタ、Alt+↑/↓でグループ間移動- エージェントビューで
/model/effort/fastを打つと、これから作るセッションの既定を設定できる。作業中のセッションに送った/model/effort/renameは即反映 - 各セッションが個別に利用枠を消費する点に注意
動的ワークフロー(Dynamic workflows)
- Claude が JavaScript のスクリプトを書き、多数のサブエージェントをバックグラウンドで動かす。結果を相互検証してから1つの結果を返す
- 起動: プロンプトに
ultracodeキーワードを含める、または「ワークフローを使って」と頼むultracode: src/routes/ 以下の全APIエンドポイントで認証チェック漏れを監査して /effort ultracodeにすると、実質的なタスクごとに Claude がワークフローを計画- 同梱ワークフロー:
/deep-research 質問(Web検索を広げて出典を相互確認し、引用付きレポート) /workflowsで進捗確認・一時停止・再開・保存(保存するとコマンドとして再利用可能)- 全ワークフローのエージェントを1つのモデルに固定:
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL
/batch(大規模変更の分割)
/batch src/ を JavaScript から TypeScript に移行コードベースを調べて5〜30の独立した単位に分割 → 計画を提示 → 承認後、単位ごとに worktree でバックグラウンドのサブエージェントが実装・テスト。
エージェントチーム(実験的)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1で有効化- 1セッションがリーダーになり、タスク割り当て・結果統合。メンバー同士も直接メッセージ可能
- 向いている: 調査とレビュー(別々の観点で調べて互いに反論)、独立したモジュールの新規開発
- まずはサブエージェントやセッション間メッセージで足りないか検討する
セッション間メッセージ(Cross-session messaging)
- 同じマシン上の自分の別セッションに Claude がメッセージを送る(v2.1.224〜、設定不要)
- 「この変更があなたの作業を壊す」「さっきの疑問の答えはこれ」を自動で伝達
/list-agents(/peers)で送れる相手を確認- 送られるのはテキストだけ(会話履歴やファイルではない)
品質のための並列
- Writer / Reviewer: A で実装、B(きれいなコンテキスト)でレビュー → 自分の書いたコードへのバイアスがない
- テストを書く Claude と実装する Claude を分ける
関連
- Orca … Claude Code・Codex など複数のエージェントを worktree で並列に動かす ADE(外部アプリ)
- 06_セッション管理とチェックポイント
- 15_自動化(headless・goal・loop・routines・CI)
- 公式: https://code.claude.com/docs/en/agents , https://code.claude.com/docs/en/worktrees , https://code.claude.com/docs/en/agent-view , https://code.claude.com/docs/en/workflows , https://code.claude.com/docs/en/agent-teams