Claude Codeで作る実装事例

Claude Code の subagents を使った社内タスク分担自動化の実装パターンを実例で解説

2026-07-24 読了14分 11PV
Claude Code の subagents を使った社内タスク分担自動化の実装パターンを実例で解説

こんにちは、アサヒリンクスです。この記事は、代表コバが現場で蓄積してきた知見をもとに、AIを活用して構成・執筆し、弊社にて最終チェックを行ったものです。

社内の複雑な業務タスクを Claude Code で丸ごと自動化しようとすると、コンテキスト窓の圧迫、エラーの連鎖、役割の混在といった問題にぶつかることがあります。そこで注目されているのが Claude Code Subagents を使った役割分担の設計です。リサーチ・実装・レビュー担当を独立したサブエージェントに分け、それぞれが専門的な指示に従って動く仕組みを構築すると、複雑なタスクを安全かつ効率的に並列処理できます。本記事では、基本設定から実際の社内タスク自動化パターンまで、具体的な設定例とコードを交えて解説します。

Claude Code Subagents とは何か

サブエージェントの役割と仕組み

Claude Code Subagents は、メインエージェントから委譲を受けて専門的なタスクを実行する「専任担当者」です。通常の Claude Code セッションでは、1つのコンテキスト窓に調査結果・実装コード・レビュー指摘がすべて積み重なります。情報が混在すると判断の質が落ち、関係ない情報を参照するミスも増えていきます。

サブエージェントはこの問題を解決します。各サブエージェントは 独立したコンテキスト で起動し、メインエージェントからの委譲プロンプトだけを受け取って処理を行います。完了したらその結果だけがメインに返るため、メインの会話履歴は汚れません。複数のサブエージェントを並列起動することも可能で、独立したタスクは同時に走らせてスループットを上げられます。

仕組みとしては、.claude/agents/{name}.md にサブエージェントの定義ファイルを置き、メインエージェントが Task tool 経由でそのサブエージェントを呼び出すことで委譲が発生します。

サブエージェントの定義ファイル構成

.claude/agents/ ディレクトリの配置

サブエージェントは .claude/agents/ 配下に Markdown ファイルとして定義します。ファイル名がそのまま識別子になります。チーム共有する場合はリポジトリの .claude/agents/、個人専用なら ~/.claude/agents/ に置きます。

.claude/
├── settings.json          # プロジェクト共通設定
├── settings.local.json    # 個人設定(.gitignore対象)
└── agents/
    ├── researcher.md      # リサーチ担当
    ├── implementer.md     # 実装担当
    └── reviewer.md        # レビュー担当

各 Markdown ファイルは YAML frontmatter でメタ情報を宣言し、その下の本文がシステムプロンプトになります。リサーチ担当の定義例です。

---
name: researcher
description: コードベースやドキュメントを読み取り、調査レポートを作成する。コード編集は行わない。
model: claude-sonnet-4-6
tools:
  - Read
  - Bash
---

あなたはコードベース調査の専門家です。
与えられたタスクについて関連ファイルを読み取り、現状を正確に把握してレポートします。
コードの変更は一切行いません。調査結果は以下の形式でまとめてください。

## 調査結果
- 対象ファイル一覧
- 現状の実装概要
- 問題点・改善点のリスト
- 実装担当へのメモ(依存関係・注意事項)

実装担当とレビュー担当の定義

実装担当は調査結果を受け取ってコード変更だけに集中させます。Edit と Write のみを持たせ、余計な調査をさせない設計が重要です。

---
name: implementer
description: 調査レポートをもとにコードを実装・修正する。リサーチは行わない。
model: claude-sonnet-4-6
tools:
  - Read
  - Edit
  - Write
  - Bash
---

渡された調査レポートと実装仕様に基づき、コードの修正・追加を行います。
不明点があればメインエージェントに差し戻してください。
変更後は必ず変更内容の要約を出力してください。

レビュー担当は Read と Bash のみに絞り、コードを書き換えられない状態にしておくのが安全です。

---
name: reviewer
description: コードをレビューし、品質・セキュリティ観点で指摘をまとめる。コード修正は行わない。
model: claude-sonnet-4-6
tools:
  - Read
  - Bash
---

変更内容(diff)と実装要件を照らし合わせ、以下の観点でレビューします。
- 要件との整合性(実装漏れ・仕様逸脱)
- バグ・エラーハンドリングの欠如
- セキュリティリスク(認証バイパス等)
- パフォーマンス上の問題

出力は JSON 形式で返してください。
{
  "result": "pass" or "needs_fix",
  "critical": ["ブロッカーレベルの指摘"],
  "summary": "全体評価コメント"
}

社内タスク分担の実装パターン

リサーチ → 実装 → レビューの直列パターン

もっとも基本的な構成です。CLAUDE.md でこのフローを定義しておくと、改修タスクを与えるだけで自動的に工程が進みます。

# CLAUDE.md(プロジェクトルート)

## タスク処理フロー

コードの改修・追加タスクを受け取ったら、次の順序で処理する。

1. researcher サブエージェントに委譲(対象ファイルとタスク概要を渡す)
2. implementer サブエージェントに委譲(researcher の調査レポートを添付)
3. reviewer サブエージェントに委譲(変更 diff と実装要件を渡す)
4. reviewer が needs_fix を返した場合は 2 に差し戻す(最大2回まで)

並列リサーチパターン

複数の調査項目が独立している場合、サブエージェントを並列起動して時間を短縮できます。Task tool を介した並列呼び出しのイメージです。

// Claude Code が内部で発行する Task tool 呼び出し(概念コード)
[
  {
    "tool": "Task",
    "input": {
      "agent": "researcher",
      "prompt": "src/components/ 配下を調査。フォームコンポーネントの状態管理パターンを確認"
    }
  },
  {
    "tool": "Task",
    "input": {
      "agent": "researcher",
      "prompt": "src/api/ 配下を調査。認証エンドポイントのレスポンス形式を確認"
    }
  }
]

両方の調査結果が揃ってから implementer に渡す、という制御もメインエージェントへの指示で実現します。

Claude Code Settings での権限分離設計

settings.json による基本設定

Claude Code Settings はプロジェクト全体の挙動を管理します。サブエージェントを使う構成では、settings.json でグローバルな許可・拒否を設定し、各サブエージェント定義ファイルでさらに絞り込みます。

// .claude/settings.json
{
  "model": "claude-sonnet-4-6",
  "permissions": {
    "allow": [
      "Read(*)",
      "Bash(git diff*)",
      "Bash(git log*)",
      "Bash(git status)",
      "Bash(npm run test*)",
      "Bash(npm run lint*)"
    ],
    "deny": [
      "Bash(git push*)",
      "Bash(rm *)",
      "Bash(curl *)"
    ]
  }
}

settings.json はリポジトリにコミットしてチームで共有し、API キーや個人設定は settings.local.json(.gitignore 対象)に書き分けるのが基本です。settings.json には秘匿情報を絶対に書かないことがルールです。

モデル使い分けでコストを最適化する

サブエージェントの定義ファイルでモデルを個別指定できるため、タスクの難易度に合わせて選択できます。これがコスト最適化の核心です。

  • Claude Opus 4.7:複雑なアーキテクチャ設計、難易度の高いバグの根本原因分析など品質最優先のタスク
  • Claude Sonnet 4.6:コードレビュー・実装・調査など一般的な開発タスクの本線。コスト・品質・速度のバランスが最良
  • Claude Haiku 4.5:テスト実行の結果整理、ログ解析、構造化 JSON 生成など繰り返し・軽量タスク
# テスト実行専用(Haiku でコストを抑える)
---
name: tester
description: テストを実行し、結果をレポートする。コード変更は行わない。
model: claude-haiku-4-5
tools:
  - Bash
---

テスト実行結果を以下の形式でまとめる。
- PASS / FAIL 件数
- 失敗したテストケース名とエラーメッセージ
- カバレッジサマリー

Slash Commands でフローを定型化する

カスタムコマンドとサブエージェントの組み合わせ

Claude Code Slash Commands を使うと、サブエージェント呼び出しのフローをコマンド1つに定型化できます。.claude/commands/ 配下に Markdown ファイルを置くだけで /コマンド名 として呼び出せます。

.claude/commands/
├── fix-bug.md       # /fix-bug : バグ修正フル自動
├── add-feature.md   # /add-feature : 機能追加フル自動
└── review-pr.md     # /review-pr : レビューのみ

/fix-bug コマンドの定義例です。

---
description: バグ修正の完全フロー(調査→実装→テスト→レビュー)を自動実行する
---

# バグ修正フロー

対象バグ: $ARGUMENTS

1. researcher にバグの再現条件・原因ファイルの特定を委譲
2. implementer に調査結果を渡して修正を実行
3. tester に変更内容を渡してテスト実行(FAIL なら implementer に差し戻す)
4. reviewer に diff を渡してレビュー(needs_fix なら implementer に差し戻す、最大2回)

チーム運用でのルール設計

コマンドが増えすぎると逆に把握しづらくなります。10〜15個程度に絞り、CLAUDE.md に一覧と用途を明示する運用が現実的です。

# コマンド一覧(CLAUDE.md に記載)

| コマンド | 用途 | 主なサブエージェント |
|---|---|---|
| /fix-bug | バグ修正フル自動 | researcher→implementer→tester→reviewer |
| /add-feature | 機能追加 | researcher→implementer→reviewer |
| /review-pr | PR レビューのみ | reviewer |
| /investigate | 調査のみ | researcher |

運用上の注意点とよくある落とし穴

委譲プロンプトに前提情報を網羅する

サブエージェントは独立したコンテキストで動くため、メインの会話履歴を一切知りません。「さっき話した件をよろしく」のような委譲は完全に無視されます。委譲プロンプトには以下を必ず含めます。

  • タスクの背景と目的
  • 対象ファイルやモジュールの具体的なパス
  • 成功条件(何ができたら完了か)
  • 制約事項(変更してはいけない部分)
  • 前工程の結果(調査レポートや実装サマリーをそのまま貼り付ける)

ループ暴走を防ぐ安全弁を必ず設ける

実装担当とレビュー担当が差し戻しを繰り返して終わらないループが発生することがあります。CLAUDE.md または Slash Command 定義に最大リトライ回数を明記しておきます。また Claude Code Hooks の Stop イベントを使うと、一定ターン数で強制終了する仕組みも設けられます。

# CLAUDE.md に書く安全弁

## サブエージェント実行ルール
- implementer → reviewer のサイクルは最大2回まで
- 2回目でも needs_fix の場合は人間にレビューを依頼してタスクを停止する
- researcher が同じファイルを3回以上参照している場合は調査を打ち切り、判明分を報告する

Claude Code Settings の permissions.deny にも危険コマンドを明示しておき、サブエージェントが意図せず本番データを変更したり、外部に通信したりしないように制限しておくことも重要です。


本記事は代表コバの現場知見をもとに AI で構成し、弊社にて最終確認を行っています。

まとめ

Claude Code Subagents を使った社内タスク分担自動化のポイントを振り返ります。

  • サブエージェントは 独立したコンテキスト で動くため、メインの会話履歴が汚れず長時間タスクでも品質が安定する
  • .claude/agents/{name}.md役割・モデル・許可ツール を宣言するだけで定義できる
  • リサーチ→実装→テスト→レビューの 直列パターン と、独立タスクの 並列パターン を使い分ける
  • Claude Haiku 4.5 / Sonnet 4.6 / Opus 4.7 の モデル使い分け がコスト最適化の核心
  • 委譲プロンプトには前提情報を網羅的に含め、最大リトライ回数を明記して ループ暴走を防ぐ
  • Claude Code Slash Commands でフローを定型化すると、チーム全体で 再現性のある自動化 が構築できる

まずは2〜3役割のシンプルな構成から始め、実際の運用フィードバックをもとに役割を育てていくのが現実的です。Claude Code や Subagents を社内タスクの自動化に活用したい方、どこから始めればよいか迷っている方は、お気軽にご相談ください。費用感だけ知りたい方も歓迎しています。お問い合わせはこちらからどうぞ。

アサヒリンクスへの無料相談はこちら

「何から始めればいいか分からない」段階からでも、お気軽にご相談ください。
まずは、お話を聞かせていただくだけでも大丈夫です。

無料で相談する

この記事をシェアする

一覧へ戻る