3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code Subagents 実践 — 並列タスク処理で開発を加速する設計パターン

3
Posted at

はじめに

Claude Code の Subagents は、メインのAIエージェントから別のエージェント(サブエージェント)を起動して、並列にタスクを処理できる仕組みです。

単に「並列化できる」だけでなく、サブエージェントごとに役割・ツール権限・モデルを使い分けられるのが強みです。

この記事では、実務で使えるSubagentsの設計パターンを紹介します。

基本構造

Subagents は Agent ツールを通じて起動します。

Agent({
  description: "バックエンドAPIの調査",
  subagent_type: "Explore",
  prompt: "src/api/ 配下のエンドポイント一覧を調査し、認証が必要な箇所を特定してください。"
})
属性 意味
subagent_type 使うエージェント種別(Explore / general-purpose / Plan 等)
description 3〜5語のタスク要約
prompt サブエージェントへの指示(文脈込み)

設計パターン1: 並列リサーチ

複数の独立した調査を並列実行するパターンです。

// 3つの調査を並列実行
Agent({ description: "DB スキーマ調査", subagent_type: "Explore", prompt: "..." })
Agent({ description: "API 構造調査", subagent_type: "Explore", prompt: "..." })
Agent({ description: "フロント依存関係", subagent_type: "Explore", prompt: "..." })

ポイント: 並列実行するエージェントは、結果が他のエージェントに依存しないよう独立させます。依存がある場合は順次実行になります。

効果: 3つの調査を順番にやると9分かかるところ、並列で3分で終わります。

設計パターン2: 専門エージェントへの委譲

特定ドメインの作業を専門エージェントに任せるパターンです。

// コードレビュー専門のエージェントに委譲
Agent({
  description: "セキュリティレビュー",
  subagent_type: "code-reviewer",
  prompt: "migrations/20260418_*.sql のSQL injection脆弱性を独立してレビューしてください。"
})

使いどころ: メインのエージェントと別視点からチェックしたいとき。自分の書いたコードを自分でレビューするより、独立したエージェントに見せる方が客観的です。

設計パターン3: コンテキスト隔離

大量の情報を読み込む作業を、メインのコンテキストから隔離するパターンです。

Agent({
  description: "ログ解析と要約",
  subagent_type: "general-purpose",
  prompt: "/var/log/app/*.log を解析し、エラーパターンの上位5件を要約してください。要約結果のみ返してください。"
})

ポイント: サブエージェントは大量のログを読んでも、メインのコンテキストには要約結果だけが戻ってくる。メインの作業スペースを圧迫しません。

長時間動くプロジェクトでは、これがコンテキスト管理の鍵になります。

設計パターン4: 破壊的操作の隔離

isolation: "worktree" オプションで、git worktree上で隔離作業ができます。

Agent({
  description: "依存関係アップデート試行",
  subagent_type: "general-purpose",
  isolation: "worktree",
  prompt: "package.jsonの全依存関係を最新版にアップデートして、テストを実行してください。"
})

メリット: 失敗してもメインブランチに影響しない。成功したら差分だけ取り込める。

プロンプト設計の原則

Subagentsへのプロンプトは、メインのエージェントと違い「このセッションの文脈」を持っていません。

やってはいけない:

// ❌ 文脈不足:サブエージェントは「さっきの話」を知らない
Agent({ prompt: "さっき話した件、調査を進めて。" })

やるべき:

// ✅ 完結した指示:何が目的で、何を報告するか明記
Agent({
  prompt: `ユーザー認証の実装パターンを調査。
  背景: JWT → Session Cookieへの移行を検討中。
  調査: src/auth/ 配下の現状実装と、代替案の Session 実装例を3パターン。
  報告: 現状の問題点と、推奨パターンをcode snippetで。200字以内で。`
})

コストとトレードオフ

Subagentsは便利ですが、注意点もあります。

コスト増

1つのリクエストで複数のエージェントが動くため、トークン消費が増えます。並列3エージェントなら、単純計算で3倍のコスト。

デバッグ難易度

サブエージェントのログはメインとは別に記録されます。問題発生時の追跡が複雑になります。

適用判断

  • 独立した作業が3つ以上 → Subagents有効
  • 単一の作業で順次進行 → メインエージェントで十分
  • 調査 → 実装 の依存関係がある → 順次実行(並列化不可)

まとめ

Subagentsは「並列化」の道具ではなく、「役割分担」の道具として使うと効果的です。

  • コンテキスト圧迫を避けたい → 隔離エージェントに委譲
  • 独立した調査を短時間で → 並列エージェント
  • 独立視点が欲しい → 専門エージェント

小さく試して、チームのワークフローに合う形にカスタマイズしていくのがおすすめです。


この記事の筆者はMENTAでAI駆動開発のメンタリングを提供しています。→ https://menta.work/plan/20251
YouTubeでもAI×プログラミングの情報を発信中 → https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?