Cursor にも「サブエージェント」があります。メインのAIが別のAIに仕事を振り、結果だけ受け取る仕組みです。よく聞かれる「Claude Codeの“ダイナミックワークフロー”みたいに、大量のエージェントを動的に統率できる?」という疑問にも、実態を踏まえて答えます。
Cursorのサブエージェントとは
サブエージェントは、メインのエージェントがタスクの一部を任せる“専門の子エージェント”です。それぞれが独立したコンテキストウィンドウで動き、中間出力(大量の検索結果やログ)を親に持ち込まず、最終結果だけを親に返します。エディタ・CLI・クラウドエージェントで使えます。Cursor 2.4(2026年1月)で導入され、以降のバージョンで強化されました。
組み込みの3種(設定不要・自動で使われる)
| サブエージェント | 役割 | なぜ分けるか |
|---|---|---|
| Explore | コードベースの検索・分析 | 探索は中間出力が膨大。高速モデルで約10並列の検索を回し、親を汚さない |
| Bash | シェルコマンドの実行 | ログが冗長。要点だけ親に返す |
| Browser | MCP経由のブラウザ操作 | DOMやスクショはノイズが多い。関連情報だけに絞る |
カスタムサブエージェント
自作も可能で、Markdown+YAMLフロントマターで定義します。
- 置き場所:
.cursor/agents/(プロジェクト)/~/.cursor/agents/(ユーザー)。 - ★Claude互換:Cursorは
.claude/agents/と.codex/agents/も読み込みます。Claude Code用に書いたサブエージェントを、移植なしでそのまま使えるのが便利。 - 設定項目(すべて任意):
name/description(自動委譲の判断に使われる)/model(inheritか モデルID)/readonly(書き込み禁止のON/OFF)/is_background(バックグラウンド実行)。 - 呼び出し:
/名前、自然言語、または説明文に基づく自動委譲。
並列・分割・隔離
- 並列実行:1メッセージで複数のTask呼び出しを送ると同時に走る。
/multitask(3.2):非同期サブエージェントに分散。さらに大きな依頼を自動でチャンク分割して各サブエージェントに割り振る(auto-decomposition)。/worktree:git worktreeでファイルを隔離し、並列編集の衝突を防ぐ。- ネスト:2.5以降、サブエージェントが子を起動可能(ただし実質2階層まで=孫は起動不可)。
- クラウド:
/in-cloudでVM・別ブランチ上に実行を逃がせる。多数の管理は「Agents Window」。
エージェントごとにモデルを使い分けられる?(例:A=Composer/B=Claude)
結論から言うと「仕様上はできる」。カスタムサブエージェントの定義ファイル(.cursor/agents/*.md)の YAMLフロントマターに model を書けば、サブエージェント単位でモデルを指定できます。「一方はCursorの Composer、もう一方は Claude」という併用が表現できます。
---
name: reviewer-claude
description: レビュー担当(厳しめ)
model: claude-4.6-sonnet # このエージェントは Claude
readonly: true
---
---
name: explorer-fast
description: 探索担当
model: inherit # 親と同じ(Composer 等)
---
ただし2026年半ば時点では“動くが不安定”で、次の点に注意が必要です(Cursorフォーラムに多数の報告)。
- 料金プランで挙動が違う:トークン課金なら custom subagent の
model指定が有効。リクエスト課金(旧)では組み込みの Explore/Bash/Browser は Composer 固定(MAXモード時のみ親モデルを継承)。 - 指定が無視されるバグ:フロントマターで指定しても Composer(composer-1 / composer-2-fast)や親モデルに戻る、という報告が 2.x〜3.2 で多数(「2.5で修正予定」とされるが再発報告あり)。
- Task tool の呼び出し時モデル指定が限定的:多くのユーザーで実質
"fast"のみ、との報告。 - 3.3+ で改善:Settings > Agents > Subagents で Explore サブエージェントのモデルを「Composer 2 → 親から継承」に切替可能に。
- モデルIDはピッカー準拠:チャットのモデル選択に表示される正確なID(例
claude-4.6-sonnet)と一致させる。未知のIDは黙って親モデルにフォールバックする。
実務では、トークン課金・最新版・正確なモデルIDを揃えたうえで、サブエージェントに「あなたは何のモデル?」と名乗らせて反映を確認するのが確実です。厳密に「A=Composer/B=Claude」を固定したい、あるいは多モデルを大規模に併用したいなら、per-agentの model 指定が安定している Claude Code のサブエージェントの方が現状は信頼できます。
Claudeの「ダイナミックワークフロー」と同じことはできる?
Claude Code の ダイナミックワークフローは、「AIがスクリプト(JavaScript)を書き、ランタイムがそれを実行して、数十〜数百のサブエージェントをfan-out/pipelineで統率する」第一級の機能です。計画そのものがコード側にあり、再開可能で、相互レビューなどの品質パターンも組み込めます。
結論として、Cursorには“ワークフロー文書を読んで指定の専門家に委譲する強制エンジン”は組み込みでは無く、オーケストレーションは基本アドホック(親エージェントがプロンプトを見てその場で分担)です。ただし近い実現手段はあります。
| 観点 | Claude Code(ダイナミックワークフロー) | Cursor |
|---|---|---|
| 計画の保持 | スクリプト(コード)が保持 | 親エージェントが会話ターンで判断(アドホック) |
| 大規模fan-out | 1実行で最大1000エージェント・16並列 | /multitaskで自動分割・並列(規模は自己管理) |
| 動的な分解 | スクリプトのループ/分岐で明示 | /multitaskの自動分解(モデル任せ) |
| ネスト深さ | 最大5階層 | 実質2階層 |
| 再現性 | ワークフローをコマンド保存して再実行 | コマンド/SDKで近似 |
Cursorで一番近い作り方
/multitask:依頼を自動分割して並列サブエージェント化。“動的”に見えるが、スクリプトではなくモデル駆動。- Cursor SDK + 公式cookbookの「dag-task-runner」:タスクをJSONのDAG(依存グラフ)に分解し、トポロジカル順にCursor SDKのサブエージェントで実行(同じランクは並列、進捗をライブ表示)。これがClaudeのコード化ワークフローに最も近いが、組み込み機能ではなくSDK+スキルで自作する形です。
まとめ:どちらを選ぶ?
- Cursor:IDEの中で並列エージェントを“見て・操作できる”のが強み。設定はシンプル(書き込み可否は
readonlyの1スイッチ)。Claude用のサブエージェント定義も流用可。対話しながら開発する人向け。 - Claude Code:自律・大規模・多段のオーケストレーションが本領。ダイナミックワークフロー、5階層ネスト、ツール許可/拒否リスト、worktree隔離、既定バックグラウンド実行など、CIや無人運用で強い。
- 両者は排他ではない:Cursorが
.claude/agents/を読むので、定義を共通化して「自律実行はClaude Code、IDEでの可視化はCursor」と使い分けられます。
サブエージェント設計の考え方は Claude Codeスキル「9つの型」 や MCP の記事も参考になります。
主な情報源
- Cursor Docs: Subagents / Multi-agent coding
- Claude Code Docs: Dynamic Workflows
- Cursor cookbook: dag-task-runner / Cursor vs Claude Code subagents 比較
- Cursor Forum: サブエージェントのモデル変更(プラン別) / model 指定が Composer に戻るバグ
バージョン・機能・上限は各社の公開時点の情報に基づきます(Cursor・Claude Codeとも更新が速い領域)。収集・要約はAI、公開判断は人。