背景
Claude Codeのサブエージェント機能を使った並列実行のハンズオンをやりました。ブログ記事執筆という具体的なユースケースを通じて、「何を並列化してよいか」の判断基準と、2026年6月に追加されたDynamic Workflowsの位置付けを整理します。
1. 判断基準は「依存関係のないタスクはすべて並列にできる」の一点だけ
❌ 順番に実行(遅い): 調査A完了待ち→調査B完了待ち→調査C完了待ち→調査D完了待ち
✅ 並列に実行(最大4倍速): 調査A〜Dを同時実行→全部終わったら次へ
「調査Aが終わらないと調査Bを始められない」という依存関係がない限り、すべて同時に走らせられます。逆に「調査が終わらないと執筆できない」という依存がある工程は、必ず順番に実行する必要があります。この一点だけを意識すればワークフロー設計に迷いません。
2. カスタムサブエージェントは.claude/agents/にMarkdownを置くだけ
---
name: blog-researcher
description: ブログ記事のリサーチ専用エージェント
tools: [WebSearch, Glob, Read]
---
ブログ記事のリサーチを担当します。
公式ドキュメント・競合記事・トレンドを調査し、構造化された形でまとめてください。
YAMLフロントマター+システムプロンプトの形式で、toolsフィールドで使用可能なツールを制限できます。プロジェクトレベル(.claude/agents/)に置けばチーム全員に自動適用され、ユーザーレベル(~/.claude/agents/)なら全プロジェクトで個人利用できます。
3. サブエージェントは独立したコンテキストを持つため前提を共有できない
❌「このプロジェクトの」「さっき話した」という前提は通じない
✅ ファイルパス・条件をプロンプトに明示的に書く
各サブエージェントはメインのセッションとは別のコンテキストウィンドウで動作します。メインで話した内容を暗黙の前提として渡すことはできないため、必要な情報を都度明示的に書く必要があります。これがサブエージェント活用で最もハマりやすいポイントです。
4. Dynamic Workflowsは最大1,000エージェント、同時実行は最大16
従来のサブエージェント: ユーザーが明示的に「AとBを並列で」と指示
Dynamic Workflows: 「このプロジェクトを最適化して」の一言でClaudeが
タスク分解・スクリプト化・並列実行まで自動で行う
Dynamic Workflowsは、Claudeが自律的にJavaScriptのオーケストレーションスクリプトを生成し、大規模なタスク群を並列処理する仕組みです。最大起動数は1,000ですが、同時実行数は16に制限されています。/batchはこのDynamic Workflowsの「コード変更」に特化した応用実装という位置付けです。
5. サブエージェントのネスト深度は最大5段階に制限されている
2026年6月のアップデートで、フォアグラウンド・バックグラウンドともに
サブエージェントの入れ子は最大5段階に制限された
無制限に入れ子になって暴走するバグが修正された結果としての制限です。サブエージェントの中からさらにサブエージェントを呼ぶような複雑な構成を組む場合、この上限を意識しておく必要があります。
まとめ
「依存関係の有無」という単純な判断基準で並列化の可否を決められる点と、サブエージェントごとに独立したコンテキストを持つため前提の共有が効かない点が、このハンズオンでの実践上の要点でした。Dynamic Workflowsによる大規模並列化・ネスト深度の制限まで理解しておくと、サブエージェント活用の限界と可能性の両方が見えてきます。