Claudeのサブエージェントという言葉を見かけても、Claude Skillsや通常の会話機能とどう違うのかは、区別がつきにくいものです。結論から言うと、Claudeサブエージェントとは、特定の種類のタスクを独立したコンテキストウィンドウで処理し、要点だけをメインの会話へ返す専門AIアシスタントです。
本記事では、Claudeサブエージェントの仕組み、使うメリット、呼び出し方などを網羅的かつ体系的に解説します。あわせて、業務領域ごとの専門サブエージェントを実際に運用しているOpsfieldの実例も紹介します。
Opsfieldは中小企業のAX(AIトランスフォーメーション)支援を専門としており、Claude Codeのサブエージェントを社内の業務推進そのものに実際に組み込んで運用しています。その実務目線から、導入・活用時に押さえておきたいポイントを整理しお伝えします。
目次
Claude サブエージェントとは
Claudeサブエージェントを一言で言うと、特定の種類のタスクを専門に処理するAIアシスタントで、メインの会話とは別の独立したコンテキストウィンドウ(Claudeが一度に覚えていられる情報の範囲)を持って動きます。Anthropic公式ドキュメントによれば、各サブエージェントはカスタムのシステムプロンプト・特定のツールアクセス・独立した権限を備えた、自分専用のコンテキストウィンドウで実行されます。
イメージとしては、メインのClaudeが「担当者」だとすると、サブエージェントはそこに呼ばれる「専門の助っ人」です。調査タスクを任せると、サブエージェントは大量のファイル検索やログ確認を自分のコンテキストの中で行い、メインの会話には要約された結果だけを返します。検索結果やファイルの中身をメインへ逐一持ち込まずに済むため、本来のタスクに使える余地を圧迫しません。
Claude Skillsとの違い
Claude Codeには、名前の似た「Claude Skills」という機能があり、サブエージェントとよく混同されます。ひとことで言えば、Claude Skillsは「何を・どう進めるか」という知識や手順をClaudeに教える仕組み、サブエージェントは「その作業の実行そのもの」を独立した環境へ切り離す仕組みです。
| 観点 | Claude Skills | サブエージェント |
|---|---|---|
| 役割 | 知識・手順を教える | 作業の実行を切り離す |
| たとえると | やり方を書いたマニュアル | 作業を任せる専門の助っ人 |
| 組み合わせ | サブエージェントに持たせられる | Skillを読み込んで動ける |
例えば「提案書の書き方」をまとめたSkillは、Claudeに提案書作成の手順を教えます。一方でサブエージェントは、その提案書作成を助っ人に丸ごと任せ、メインの会話を軽いまま保ちます。知識を「教える」のがSkills、実行を「切り離す」のがサブエージェント、と捉えると区別しやすくなります。
実際には、両者は競合する関係ではありません。サブエージェントの設定にskillsフィールドで特定のSkillを組み込めば、「必要な知識を備えた専門エージェント」として動かせます。まず知識をSkillで与え、それを使う実行をサブエージェントで分離する、という組み合わせが実務では強力です。
先に押さえたいサブエージェントの基本用語
サブエージェントの解説では、コンテキストウィンドウや委譲(デリゲーション)といった言葉がたびたび登場します。仕組みの説明に入る前に、この記事で使う用語を整理しておきます。
| 用語 | かんたんな説明 |
|---|---|
| コンテキストウィンドウ | Claudeが一度に覚えていられる情報量の範囲。サブエージェントはこれをメインの会話と別に持つ |
| 委譲(デリゲーション) | メインの会話が、あるタスクをサブエージェントに引き渡すこと |
| description(説明文) | サブエージェントの設定ファイル冒頭に書く説明文。Claudeがこれを見て委譲するかどうかを判断する |
| フロントマター | 設定ファイルの先頭に置くYAML形式の設定欄。name・description・tools等を書く |
| ツール権限 | サブエージェントが使えるツール(Read・Write・Bash等)の範囲。設定で絞り込める |
| スコープ | サブエージェントを置く場所によって決まる適用範囲(個人用・プロジェクト用等) |
これらの用語は、以降の章でも具体例とともに繰り返し登場します。
サブエージェントの仕組み
サブエージェントは、大きく3つのステップで動きます。まずメインの会話がタスクを切り出して委譲し、次にサブエージェントが隔離された専用環境で作業し、最後に要点だけをメインへ返す、という流れです。この一連の動きが、コンテキストを節約しながら専門作業をこなす仕組みの核心です。
1. タスクをメインから切り出す(委譲)
はじめのステップは、委譲です。Claudeがメインの会話の中で「これはサブエージェント向きのタスクだ」と判断すると、そのタスクをサブエージェントへ引き渡します。
どのサブエージェントに渡すかは、各サブエージェントのdescription(説明文)と依頼内容の一致度で決まります。例えば「コードをレビューして」という依頼なら、レビューを専門とするサブエージェントのdescriptionと結びつき、そのサブエージェントへ渡される、という具合です。
委譲が起きると、そのタスクはメインの会話とは切り離された場所で、独立して処理が始まります。ここが、通常の会話との最初の分かれ道です。狙ったサブエージェントを確実に呼び出せるかどうかは、このdescriptionの書き方しだいだと覚えておいてください。
2. 隔離されたコンテキストと専用の権限で動く
2つ目のステップが、隔離された環境での実行です。サブエージェントは、メインの会話とは独立したコンテキストウィンドウで動きます。そのため、メインがそれまで積み重ねてきたやり取りや、すでに読み込んだファイルの中身は引き継ぎません。代わりに、専用のシステムプロンプト・限定されたツール・独立した権限を持った「別の作業員」として振る舞います。
ただし、まったくの手ぶらで始まるわけではありません。CLAUDE.mdやメモリ、gitのステータス、プリロード指定したSkillsといった前提情報は、初期コンテキストとして渡されます。つまり、会話の細かい経緯は引き継がなくても、プロジェクトの共通ルールや必要な知識は最初から備えている、というバランスです。この隔離こそが、大量の情報でメインを圧迫させないための土台になっています。
3. 要点だけをメインに返す
最後のステップが、結果の返却です。サブエージェントは割り当てられた作業を自分のコンテキストの中で完結させ、終わると結論や要約だけをメインの会話へ返します。
例えばコードベース全体を横断的に検索して該当箇所を探すタスクなら、検索の過程で読んだファイルの中身はサブエージェント側にとどまり、メインには「見つかった箇所と結論」だけが戻ってきます。人にたとえるなら、調べ物を頼んだ相手が、参考にした資料の山ごとではなく、要点をまとめた1枚のメモだけを渡してくれるイメージです。過程の情報を持ち込まないからこそ、メインの会話は本筋に集中でき、長い作業を任せても軸がぶれません。この「切り出す→隔離して実行→要点を返す」の3ステップが、サブエージェントの基本動作です。
サブエージェントを使うメリット
仕組みが分かると、サブエージェントを使う利点も見えてきます。ここでは、実務で効いてくる代表的な4つのメリットを整理します。
メインの会話を汚さず、コンテキストを節約できる
最大のメリットは、メインの会話のコンテキストを節約できることです。大量のファイル検索やログ確認といった「読む量の多い作業」をサブエージェントに任せれば、その中身はサブエージェント側にとどまり、メインには要約だけが返ります。
これは単なる容量の節約にとどまりません。AIは1つの会話にあらゆる情報を詰め込みすぎると、指示を見失って精度が落ちていきます。長い調査ログや大量のファイル内容がメインに積み上がると、肝心の依頼そのものが埋もれてしまうのです。過程の情報でメインを汚さないことで、会話の軸がぶれず、長いタスクを任せても判断の質を保ちやすくなります。結果として、1つの会話でより多くの仕事をこなせるようになります。
役割ごとに専門特化できる
2つ目は、役割ごとに専門特化させられることです。サブエージェントには、それぞれ専用のシステムプロンプトと判断基準を持たせられます。
つまり「セキュリティレビュー専任」「調査専任」のように、目的に特化した助っ人を何人も用意できるということです。それぞれに「何を重視して、どんな観点で見るか」を仕込んでおけるため、汎用のやり取りに何でも詰め込むより、出力のブレが小さくなります。
例えばレビュー役には社内のコーディング規約を、調査役には探し方の手順を持たせる、といった作り込みができます。専門家を複数人チームに抱えているような感覚で、タスクごとに最適な担当へ振り分けられます。担当がはっきり分かれているぶん、返ってくる結果の質も安定します。
複数タスクを並列で高速に処理できる
3つ目は、複数のタスクを同時に進められることです。互いに依存しないタスクであれば、複数のサブエージェントを並列で走らせ、それぞれの結果を後からまとめて受け取れます。
1つずつ順番に片づけるより、待ち時間を大きく短縮できるのが利点です。とくに「複数のモジュールを同じ観点でレビューする」「複数のディレクトリを別々に調べる」といった、件数の多い定型作業で効果が出ます。1件あたりの処理が短くても、数が多いほど並列化の効果は積み上がっていきます。1つの作業を待つあいだに別の作業も進むため、体感の速さが大きく変わってくるのが並列処理の強みです。人を何人も同時に動かすのは大変ですが、サブエージェントなら気軽に「手分け」を頼めます。
権限とモデルを絞って、安全かつ低コストに任せられる
4つ目は、権限とモデルをタスクに合わせて絞り込めることです。サブエージェントごとに、使えるツールと使うモデルを個別に設定できます。
調査・レビュー専任なら読み取り専用のツールだけに限定でき、ファイル削除やコマンド実行といった影響の大きい操作を最初から持たせない、という最小権限の設計が可能です。万が一おかしな指示が紛れ込んでも、そもそも危険な操作ができなければ被害は起きません。あわせて、単純な調査や分類には軽量なモデルを、難しい判断が要る作業には高性能なモデルを割り当てれば、コストと品質のバランスも取れます。安全性とコストの両面を、タスク単位でこまかくコントロールできるのは、汎用の会話にはない大きな強みです。
組み込みサブエージェントの種類
Claude Codeには、あらかじめ用意された組み込みのサブエージェントが含まれており、Claudeが適切な場面で自動的に呼び出します。代表的なのは、Explore・Plan・general-purposeの3つです。それぞれの役割を見ていきます。
Explore(コードベースの探索に特化)
Exploreは、コードベースの検索・分析に特化した、高速な読み取り専用のサブエージェントです。「この機能はどこで実装されている?」「この関数はどこから呼ばれている?」といった調査を任せると、関連ファイルを横断的に探し、要点だけをまとめて返します。
読み取り専用でファイルの書き込みはできないため、うっかりコードを変更してしまう心配がありません。実装や修正に取りかかる前の下調べを、メインの会話を汚さずに済ませたいときに向いています。
なお、ExploreとPlanは応答を速く保つ設計のため、CLAUDE.mdやgitのステータスといった前提情報を読み込まずに動きます。ほかの組み込み・カスタムのサブエージェントはこれらを初期コンテキストとして引き継ぐので、この2つだけは身軽に動く例外だと覚えておくとよいでしょう。
Plan(実装前の調査を担う)
Planは、プランモード中に、実装へ入る前の調査を担う研究役のサブエージェントです。実際に手を動かす前に、影響範囲や必要な変更点を洗い出す役割を持ちます。
こちらも読み取り専用で、いきなりコードを書き換えることはありません。「まず調べて計画を立て、それから実装する」という進め方を支えるのがPlanです。例えば大きめの修正に入る前にPlanで影響範囲を洗い出しておけば、後から「ここも直さないと動かない」と気づくような手戻りを減らせます。
Exploreがおもに「どこにあるか」を突き止める役だとすれば、Planは「どう進めるか」の見取り図を描く役、と整理すると使い分けやすくなります。行き当たりばったりで着手して失敗する、という事態を防ぎやすくなるのがPlanの価値です。
general-purpose(探索と実行の両方を担う汎用)
general-purposeは、その名の通り汎用のサブエージェントで、探索と実行の両方が必要な、複雑なマルチステップのタスクを担います。読み取りだけでなく書き込みや実行も含めて、一連の作業をまとめて任せられます。
特定の役割に特化したExplore・Planに対し、general-purposeは「調べて、作って、確かめる」までを通しでこなせるのが特徴です。どのサブエージェントに任せればよいか迷う、幅の広いタスクの受け皿になります。
このほかにも、ステータスラインの設定を助けるstatusline-setupや、Claude Codeの機能について質問されたときに使われるclaude-code-guideなど、特定用途のヘルパーサブエージェントが用意されています。これらは基本的に自動で呼び出されるため、利用者側が意識して指定する必要はありません。
サブエージェントの呼び出し方
組み込みのサブエージェントに加えて、自分で作ったカスタムサブエージェントを呼び出す方法は主に3つあります。
自動委任
1つ目は、Claudeが依頼内容を読み取り、descriptionと照らし合わせて最適なサブエージェントを自動で選ぶ方法です。これがサブエージェントの基本的な使われ方で、利用者が明示的に指示しなくても、条件に合えば自動的に委譲されます。
例えば「この関数を実装して」と頼むと、Claudeはまず読み取り専用のExploreに関連コードを調べさせ、その要約を受け取ってから実装に入る、といった具合です。手間をかけずに恩恵を受けられる一方、どのサブエージェントに委ねるかはdescriptionの一致度で決まります。そのため、狙った場面で確実に呼ばせたいときは、次に紹介する明示的な呼び出しを使うと確実です。
明示的に指定して呼び出す
2つ目は、名前を挙げて明示的に呼び出す方法です。「〇〇サブエージェントを使って△△して」のように自然言語でサブエージェント名を指定すると、Claudeはその指定に沿って委譲するかどうかを判断します。
さらに確実なのが、@に続けて名前を入力する@メンションです。この方法なら、Claudeの自動判断に任せず、指定したサブエージェントを狙いどおりに実行させられます。使い分けの目安はシンプルで、普段は自動委任にまかせ、「今回はこのエージェントに任せたい」と決まっている場面では明示指定を使う、という形です。特定のレビュー役や調査役を繰り返し呼ぶ運用では、名前で呼べる状態にしておくと、チーム内でも共有しやすくなります。
セッション全体をサブエージェントとして起動する
3つ目は、会話セッション全体を、特定のサブエージェントの設定(システムプロンプト・ツール制限・モデル)で開始する方法です。1回のタスクだけでなく、セッションを通して、ある役割に固定して作業したい場合に向いています。
例えば調査専任やレビュー専任のように、そのセッションでやることが最初から決まっているケースです。この方法を使えば、毎回役割を指示し直す手間がなくなり、最初から最後まで一貫した観点で作業を進められます。その日の作業テーマが決まっているなら、朝いちばんに役割を固定して立ち上げる、という使い方も便利です。役割がぶれない状態のまま走り続けられるため、1つのテーマにじっくり取り組む作業ほど、この方式が力を発揮します。
サブエージェントを使いこなすコツ
基本の呼び出しに慣れてきたら、複数のサブエージェントを同時に、あるいは裏で動かせるようになると、実務での効きがぐっと上がります。ここでは、使いこなしのコツを2つ紹介します。
複数を並列で動かす
互いに依存しないタスクであれば、複数のサブエージェントを同時に走らせ、それぞれの結果を後からまとめて受け取れます。例えば「3つのモジュールを同じ観点でレビューする」「複数のディレクトリを別々に調査する」といった作業は、1つずつ順番に回すより、並列で処理したほうが待ち時間を大きく短縮できます。
ただし、何でも並列にすればよいわけではありません。同じファイルを複数のサブエージェントが同時に書き換える作業は、競合の原因になります。そのため並列化は、「読み取り中心」で「担当範囲が重ならない」タスクに向いています。分割する前に、それぞれが独立して完結できるかを確かめておくと、後からの手戻りを防げます。効果が最も出るのは、件数が多く手順の決まった定型チェックです。
バックグラウンドで動かす
サブエージェントは、結果をその場で待つフォアグラウンド実行のほか、裏で走らせておくバックグラウンド実行にも対応しています。使い分けのポイントは、結果をすぐ使うかどうかです。
時間のかかる調査やテスト実行をバックグラウンドに回せば、メインの会話では別の作業を進め、終わったところで結果を受け取れます。逆に、次の判断にすぐ必要な短いタスクは、フォアグラウンドで待つのが向いています。例えばテスト一式をバックグラウンドで流しながら、その間にドキュメントを整える、といった並行作業ができます。AIの処理を待つあいだも自分の手は止まらないので、待ち時間そのものが実質的に消えていきます。この「空き時間」を作れるかどうかで、1日の進み方は大きく変わってきます。
サブエージェントの作り方
カスタムサブエージェントを新しく作る方法は、大きく分けて2つあります。ゼロから書式を覚えなくても始められる方法と、要件が固まっているときに向く方法です。順に見ていきます。
Claudeに依頼して作ってもらう
最も手軽な方法は、作りたいサブエージェントの内容をそのままClaudeに伝えて作成してもらうことです。公式ドキュメントのクイックスタートでも、「どんな業務を対象にするか」「読み取り専用にするか」「どのモデルを使うか」といった希望を伝えるだけで、name・description・tools・modelを含む設定ファイルを自動生成できる方法が案内されています。
この方法の利点は、ゼロからYAMLの書式を覚えなくてよいことです。生成された内容を見ながら、気になる箇所だけ手直しすれば形になります。初めてサブエージェントを作る場合は、まずこの方法から試すのが近道でしょう。作ってもらった設定を読むこと自体が、フロントマターの書き方を覚える近道にもなります。
手動でMarkdownファイルを書く
すでに要件が固まっている場合は、直接Markdownファイルを作成する方法も選べます。フロントマターで必須なのはnameとdescriptionの2つで、そこにtools(使えるツールの範囲)やmodel(使用するモデル)を任意で加えていきます。本文には、そのサブエージェントに担わせたい役割や手順を、システムプロンプトとして書き込みます。
---
name: code-reviewer
description: コードの品質とベストプラクティスに沿っているかをレビューする。コードの作成・修正後に使う。
tools: Read, Grep, Glob
model: sonnet
---
あなたはコードレビュー担当です。呼び出されたら、コードを分析し、
品質・セキュリティ・ベストプラクティスの観点で具体的な指摘を返してください。
書き終えたら、実際に想定する場面で依頼してみて、意図した通りに委譲されるか、手順通りに動くかを確認しましょう。狙いどおりに呼ばれないときは、多くの場合descriptionの表現に原因があります。要件が明確なサブエージェントほど、この手書き方式のほうが細部まで作り込めます。
サブエージェントの設定とカスタマイズ
作ったサブエージェントは、実務に合わせて設定を調整できます。どこに置くか(スコープ)、どこまで権限やモデルを絞るか、どんな応用機能を足すか——この3つを押さえると、安全で使い勝手のよいサブエージェントに仕上がります。
置き場所とスコープを決める
サブエージェントの実体は、YAML形式のフロントマターを持つ1枚のMarkdownファイルです。そのファイルをどこに置くかによって、誰が使えるかというスコープ(適用範囲)が変わります。主な置き場所と優先順位は次の通りです。
| 置き場所 | スコープ | 優先度 |
|---|---|---|
| 管理設定(組織の管理者が配布) | 組織全体 | 最も高い |
--agents CLIフラグ(起動時にJSONで渡す) | 現在のセッションのみ | 高い(管理設定の次) |
.claude/agents/ | 現在のプロジェクト | 高い |
~/.claude/agents/ | すべてのプロジェクト(個人用) | 中程度 |
| プラグイン同梱のエージェント | プラグインを有効にした範囲 | 最も低い |
同じ名前のサブエージェントが複数のスコープに存在する場合、優先度の高い場所の定義が使われます。チームで型化した判断基準を共有したい場合はプロジェクト用の.claude/agents/に置いてバージョン管理し、個人的に使い回したい場合は~/.claude/agents/に置く、という使い分けが基本です。まずは個人用で試し、有用だと分かったらプロジェクト用へ引き上げる流れにしておくと、チームへ配る前に品質を確かめられます。
ツール権限とモデルを絞り込む
サブエージェントを設計するうえで実務上重要なのが、ツール権限とモデルの絞り込みです。toolsでそのサブエージェントが使えるツールを限定すれば、読み取り専用の調査タスクにファイル削除やコマンド実行の権限を持たせないといった、最小権限の設計が行えます。
あわせてmodelで使うモデルを指定できます。定型的な調査や単純な分類にはHaikuのような軽量モデルを、複雑な設計判断を伴うタスクにはSonnetやOpusを、というようにタスクの難易度に応じて使い分けると、コストと品質のバランスが取りやすくなります。権限とモデルをタスクの性質に合わせて絞り込む設計が、安全性とコストの両面で効いてきます。
永続メモリ・Hooks・Skillsのプリロードで拡張する
より作り込みたい場合は、フロントマターに応用設定を加えられます。memoryを指定すると、サブエージェントがセッションをまたいで学びを蓄積する永続メモリを持てます。hooksを使えば、実行の前後に決まった処理(整形やチェックなど)を差し込めます。skillsで特定のClaude Skillsをあらかじめ読み込ませておけば、そのサブエージェントは起動時点で必要な手順や専門知識を備えた状態で動けます。
例えばレビュー用のサブエージェントに社内規約のSkillをプリロードし、終了時に結果を整形するHooksを組み合わせる、といった作り込みも可能です。まずはtoolsとmodelの絞り込みから始め、運用が固まってきたら、これらの応用設定で少しずつ拡張していくのが現実的でしょう。
サブエージェントとMCP・CLAUDE.md・エージェントチームとの違い
サブエージェントは、Claude Codeのほかの拡張機能としばしば混同されます。Claude Skillsとの違いは前述の通り「知識を教える」か「実行を分ける」かでした。ここでは、残るMCP・CLAUDE.md・エージェントチームとの違いを1つずつ整理します。
MCPとの違い
MCP(Model Context Protocol)は、外部のサービスやデータにClaudeを接続する「つなぎ役」です。Slackやデータベース、社内システムなどを、Claudeが使えるツールとして橋渡しします。
サブエージェントが「実行を分ける」仕組みなのに対し、MCPは「外部とつなぐ」仕組みで、目的がまったく異なります。片方はどこにアクセスできるかを広げ、もう片方は作業をどう切り離すかを決める、という役割分担です。両者は組み合わせて使え、例えば外部データベースを参照する調査なら、MCPで接続したうえでサブエージェントに任せれば、外部データを扱いながらメインの会話は軽く保てます。競合するものではなく、役割が別だと捉えてください。
| 観点 | サブエージェント | MCP |
|---|---|---|
| 役割 | 作業の実行を切り離す | 外部サービス・データにつなぐ |
| 使いどころ | 調査やレビューを分離したいとき | Slack・DB・社内システムを使いたいとき |
CLAUDE.mdとの違い
CLAUDE.mdは、プロジェクトの規約や前提を「常に」Claudeに読ませておくためのファイルです。会話の開始時に毎回読み込まれ、全体の共通ルールとして働きます。
サブエージェントが「必要なときにタスクを切り出す」のに対し、CLAUDE.mdは「常時参照させる前提の共有」が目的です。前者は場面ごとに呼ばれ、後者は最初から最後までずっと効いている、という違いだと考えると分かりやすいでしょう。しかも、CLAUDE.mdの内容は(Explore・Planを除く)サブエージェントにも初期コンテキストとして渡されます。両者は対立するものではなく、共通の土台であるCLAUDE.mdの上で、実行だけを切り離すのがサブエージェント、という関係にあります。
| 観点 | サブエージェント | CLAUDE.md |
|---|---|---|
| 役割 | 必要なときに作業を切り出す | 規約・前提を常時共有する |
| 読み込まれ方 | 呼び出し時に別コンテキストで | 会話開始時に毎回 |
エージェントチームとの違い
エージェントチーム(Agent Teams)は、複数のエージェントが役割を分担し、互いに連絡を取り合いながら継続的に協働する仕組みです。
サブエージェントが単発のタスクを切り離して片づけるのに向くのに対し、エージェントチームは、長めの共同作業で密に連携させたい場面に向きます。サブエージェントは基本的に、結果をメインへ返して終わりです。一方エージェントチームは、メンバー同士が状況を共有し合いながら進むイメージに近いといえます。そのため、細かなすり合わせが必要な作業は、サブエージェントを無理に並べるより、エージェントチームのほうがスムーズに進みます。「単発で切り離す」か「継続的に協働させる」かが、両者の分かれ目です。
| 観点 | サブエージェント | エージェントチーム |
|---|---|---|
| 向く作業 | 単発・独立したタスク | 継続的で密な共同作業 |
| 連携 | 結果をメインに返して終わり | メンバー同士が連絡を取り合う |
サブエージェントに向く場面・向かない場面
Anthropic公式のブログでも、サブエージェントが効果を発揮する場面と、かえって遠回りになる場面が整理されています。任せる前の判断材料として、向き・不向きを押さえておきましょう。
向いている場面
サブエージェントが力を発揮するのは、「独立して完結でき、量が多い」タスクです。具体的には、大量のファイル調査のように調べる量が多い研究集約型の作業、複数ファイルへ同じパターンを適用するような互いに依存しない並行作業、先入観のない客観的なレビュー・監査、設計・実装・確認のように段階が独立しているパイプライン型の作業などが当てはまります。
こうした作業は、過程の情報をメインに持ち込まずに済むため、本筋の会話を軽く保てます。判断の分かれ目は「このタスクは、途中経過を逐一見なくても、結果だけ受け取れば十分か」という点です。答えがイエスなら、サブエージェントに切り出す価値があります。1つずつ人が抱え込むより、任せたほうが速く、観点がそろうぶん抜け漏れも減ります。
向かない場面
逆に不向きなのは、独立して完結しにくいタスクです。ステップ2がステップ1の結果に完全に依存する順序に厳密な作業、同じファイルを複数のサブエージェントが同時に編集する作業、オーバーヘッドのほうが大きくなる小規模なタスク、サブエージェント同士の細かいすり合わせが必要な密な調整作業は避けたほうが無難です。
標準的な委譲では、各サブエージェントは結果をメインへ返して統合される形になります(近年はネスト生成や、名前付きエージェント同士のメッセージ送信も可能になっています)。それでも密な協調が必要な場合は、サブエージェントを無理に並べるより、エージェントチームを使うほうが向いています。任せる前に、そのタスクが独立して完結できる単位に分解できているかを確認するのが、実務のコツです。
Opsfieldのサブエージェント活用事例
サブエージェントは、仕組みそのものより、実際の業務にどう組み込むかで価値が変わります。Opsfieldでは、中小企業のAX支援と自社の業務運営の両方に、サブエージェントを実際に組み込んで使っています。
業務領域ごとに専門サブエージェントを分業させる
1つ目は、業務領域ごとの分業です。提案書作成・契約書レビュー・経理処理・クライアント管理・情報発信といった領域ごとに、それぞれ専用のサブエージェントを.claude/agents/配下に用意し、判断基準やトーンを個別に持たせています。
各サブエージェントには、過去の判断や気づきを蓄積する専用のメモ(プレイブック)を併設しています。月次で振り返りを行い、外した判断を書き足していくことで、運用しながら精度を上げていく設計です。領域ごとに文脈と基準が分かれているため、1つの汎用エージェントに何でも任せるより、出力のブレが小さくなります。専門家を複数人抱えているような感覚に、最も近い運用だと感じています。
コードや資料の品質チェックを専任サブエージェントに任せる
2つ目は、品質チェックの専任化です。生成AIに書かせたコードを本番に載せる前には、必ずセキュリティレビュー専任のサブエージェントに通し、APIキーの直書きの有無・認証認可の抜け・入力値の検証・外部通信先の妥当性・権限が過剰なトークンの有無という観点を毎回確認させています。
資料作成でも、要素の重なりやはみ出し、出典表記の整合性といった観点を、専任のサブエージェントに複数回チェックさせています。ポイントは、人がやると集中力が落ちやすい繰り返しの確認作業を、専任役へ切り出すことです。チェックの観点が毎回そろうため、担当者の体調や忙しさに左右されにくくなります。こうした地道な確認ほど、サブエージェントに任せる効果が大きいというのが実感です。
ブログの執筆・公開作業自体もサブエージェントに委譲している
3つ目は、Opsfieldコーポレートサイト自身の事例です。実はこのブログ記事の公開作業も、本文執筆を専門のサブエージェントに委譲し、公開前のファクトチェックやSEOチェックまでを一連の手順として型化して運用しています。
こうすることで、属人的になりがちな公開作業を、誰が実行しても手順や確認観点を揃えやすい状態にしています。執筆・確認・公開という工程を役割ごとに分けているため、途中で担当が変わっても品質が大きく崩れません。こうした型化を自社で日々回しているからこそ、Opsfieldはお客様にも、机上論ではなく、つまずきやすい勘所まで具体的にお伝えできます。教科書どおりの知識と、毎日使う中で得た実感とでは、伝えられる深さが違うからです。
サブエージェント導入・運用時の注意点
便利なサブエージェントですが、導入前に押さえておきたい注意点もあります。
descriptionが曖昧だと意図しない呼び出しが起きる
descriptionが「〇〇を処理する」のような曖昧な表現にとどまっていると、似た場面で複数のサブエージェントが競合したり、期待と違うサブエージェントが呼ばれたりします。例えば「レビューする」だけでは、コードレビューなのか資料レビューなのか判断できません。
対策は、対象業務と成果物、そしてどんな依頼のときに使うべきかまで、具体的に書き直すことです。「差分を分析し、社内のコーディング規約に沿って指摘する。コードの作成・修正後に使う」のように書けば、発火すべき場面が明確になります。この考え方はClaude Skillsのdescription設計と共通しているので、両方を同じ基準でそろえておくと、サイト全体の運用が安定します。
権限は必要最小限に設計する
サブエージェントは独立した権限で動作します。そのため、ファイルの削除やコマンドの実行のように影響が大きい操作は、本当に必要なサブエージェントにだけ許可を絞り込むのが基本です。
具体的には、調査・レビュー専任のサブエージェントなら、toolsをRead, Grep, Globのような読み取り専用にとどめ、書き込みや実行の権限は渡しません。特に注意したいのが、社外から入手した設定をそのまま使う場合です。どのツールを許可しているか、Bashのように影響の大きいツールが含まれていないかに一度目を通しておくと、想定外の挙動を防ぎやすくなります。最小権限を徹底するほど、任せるときの安心感が変わってきます。
密な連携が必要な作業には向かない
前の章で触れた通り、標準的な親子委譲では、サブエージェント同士が密に連携するのは得意ではありません(継続的な協調が必要なら、エージェントチームが適しています)。
そのため、細かなすり合わせが必要な作業を無理に複数のサブエージェントへ分割すると、確認や手戻りのコストがかえって増えてしまいます。例えば、互いの結果を見ながら少しずつ方針を詰めていくような作業は、1つのサブエージェントにまとめて任せたほうがスムーズです。切り分けても、結局は人が間に立って調整する羽目になり、かえって時間がかかってしまうためです。
タスクを渡す前に、それが独立して完結できる単位に分解できているかを見極めることが欠かせません。分けるほど速くなるとは限らない、という感覚を持っておくと安全です。
サブエージェントの活用ならOpsfieldにご相談ください
Claudeサブエージェントは、特定のタスクを独立したコンテキストで処理し、要点だけをメインの会話へ返す専門AIアシスタントです。組み込みのサブエージェントを使うだけでも十分に便利ですが、業務領域ごとにカスタムサブエージェントを設計し、権限とモデルを適切に絞り込むことで、コストを抑えながら判断のブレない業務運用へとつなげられます。
一方で、どの業務をサブエージェント化すべきかの見極めや、descriptionの設計、チームでの運用ルールづくりには試行錯誤が伴います。日々の業務を抱えながら、自社だけで型化を進めるのは容易ではありません。
OpsfieldのAI活用診断では、自社のどの業務にAI・サブエージェントを当てはめるべきか、現在地と優先順位を可視化します。すでに開発組織としてClaude Codeの活用を進めたい方には、AI駆動開発研修がサブエージェントを含む実践的な活用方法を実装ベースでお伝えします。
さらに具体的な業務への実装まで伴走してほしい場合は、AI業務変革伴走が設計から運用定着までを支援します。Claudeサブエージェントを含む生成AI活用を、自社の業務に合わせて着実に進めたい方は、ぜひ一度Opsfieldにご相談ください。