1. ホーム
  2. 記事一覧
  3. Claude Codeのサブエージェントとは?Skills・CLAUDE.mdとの違いと使い分け

2026.06.03

Claude Codeのサブエージェントとは?Skills・CLAUDE.mdとの違いと使い分け

Claude Codeを使い込むほど、調査・実装・レビューを1つの会話で進める場面が増えていきます。すると、検索結果やログ、ファイルの中身がメイン会話に積み重なり、今どの前提で作業しているのか分かりにくくなることがあります。

この「会話が重くなる」課題を整理する仕組みが、Claude Codeのサブエージェントです。この記事では、サブエージェントをSkillsの代替ではなく、作業を別の場所に切り出す仕組みとして整理します。

この記事で学べること:

  • サブエージェントの基本的な役割
  • サブエージェントが必要になる理由
  • Skillsだけでは足りない理由
  • CLAUDE.md・Skills・サブエージェントの使い分け
  • 最初に試すサブエージェントの選び方

読み終えるころには、自分の作業のどこにサブエージェントを導入すると効果があるのかを、判断できるようになっているでしょう。

Claude Codeのサブエージェントとは

Claude Codeのサブエージェントとは、Claude Code内で特定のタスクを処理するために呼び出される、専用の設定と独立した作業コンテキストを持つエージェントです。調査やレビューといった副タスクを、メイン会話とは別の担当に任せられます。

サブエージェントは、メイン会話とは独立した以下の要素を持てます。

  • 専用のシステムプロンプト(役割や振る舞いの指示)
  • 使えるツールの範囲(読み取り専用などに制限可能)
  • 独立した権限設定

サブエージェントが必要な理由

サブエージェントが必要になる背景は、1つの会話に情報が積み重なり、作業の見通しが悪くなることです。

Claude.aiで会話を続けていると、話が長くなるにつれて「この前提で合っているか?」と感じ、新しいチャットを立て直した経験はないでしょうか。Claude Codeでも同じことが起きます。

メイン会話に情報が増えすぎる

調査・実装・レビューを同じ会話で続けるほど、参照した情報がそのまま蓄積されていきます。たとえば、次のような情報がメイン会話に積み重なります。

  • ファイル検索やコード検索の結果
  • 実行したコマンドのログや出力
  • 開いて確認したファイルの中身
  • 仮説を立てて検証した過程のやり取り

これらは一度確認すれば十分な情報ですが、会話に残り続けます。その結果、中心の作業が補助的な情報に埋もれていきます。

関連記事:Claude Codeの能力を引き出す|コンテキストエンジニアリングとは >>

サブエージェントは別コンテキストで動く

サブエージェントは、メイン会話とは別のコンテキストで動きます。副タスクの処理はサブエージェント側で完結し、メイン会話には要約された結果だけが返ってきます。

たとえば「テストを実行して、失敗したテストとエラーだけ報告して」と依頼すると、大量のログはサブエージェント側に留まります。メイン会話には必要な結果だけが戻るため、中心の作業に集中しやすくなります。

サブエージェント・Skills・CLAUDE.mdの使い分け

サブエージェント・Skills・CLAUDE.mdの使い分けは、「作業担当」「手順」「前提」という役割の違いで整理できます。3つは競合せず、扱う対象が異なるため、目的に応じて組み合わせて使います。

仕組み役割主な用途
CLAUDE.mdプロジェクト全体の共通ルールを伝えるコーディング規約、ディレクトリ構成、前提知識
Skills定型手順や知識を呼び出すレビュー観点、ドキュメント作成手順などの再利用
サブエージェント副タスクを別コンテキストで分担する調査・レビュー・デバッグなどの切り出し

CLAUDE.mdとSkillsの違いをより詳しく知りたい方は、こちらをご覧ください。

関連記事:CLAUDE.mdとSkillsの違いと使い分け >>

CLAUDE.md:共通ルールを伝える

CLAUDE.mdとは、プロジェクト全体に共通する前提やルールをClaude Codeに伝えるファイルです。セッション開始時に読み込まれ、作業全体の土台として機能します。コーディング規約やディレクトリ構成を書いておくと、毎回同じ前提を説明し直す手間を省けます。

Skills:定型手順を呼び出す

Skillsとは、定型的な手順や知識を必要な場面で呼び出して再利用する仕組みです。常時読み込まれるCLAUDE.mdと違い、任意のタイミングで呼び出して使います。決まった観点でのチェックをまとめておくと、毎回説明せずに一定の品質で進められます。

サブエージェント:調査・レビューを分担する

サブエージェントでは、別コンテキストで分担する仕組みを利用して、調査・レビュー・デバッグといった副タスクを担当させられます。サブエージェントが動く際も、CLAUDE.mdのルールやSkillsの手順は引き継がれるため、3つは競合するものではありません。

Skillsとサブエージェントの役割の違い

Skillsとサブエージェントは、それぞれ役割が異なる仕組みです。「作業内容を分けたいなら、Skillsでも解決できるのでは?」と思った方もいるでしょう。似ているようですが、どちらか一方で代替できるものではありません。

Skillsは手順を再利用する

Skillsは、よく使う手順や知識を定型化し、必要なときに呼び出して再利用します。ただし、Skillsはメインコンテキスト内で動きます。Skillに沿って作業を進めても、その過程で発生する調査ログや検討のやり取りはメイン会話に残ります。

作業の過程ごと切り出したい場合は、サブエージェントが向いています。手順を再利用したいならSkills、作業の過程を分離したいならサブエージェント、と整理すると分かりやすくなります。

サブエージェント設計の参考例

サブエージェントの役割設計とは、作業内容に応じてエージェントの役割を分ける考え方です。Anthropicのエンジニアリングブログでは、長時間実行するアプリ開発用のハーネス設計の一例として、Planner・Generator・Evaluatorという3つの役割が紹介されています。

ただし、これはClaude Codeに標準で固定搭載されている役割名ではありません。Claude Codeではカスタムサブエージェントを作成できますが、Planner・Generator・Evaluatorは、作業を分担するための設計パターンの一例として捉えるとよいでしょう。

Planner:計画する

Plannerは、実装に入る前に作業の計画を立てる役割です。要件を作業ステップに分解したり、調査範囲を洗い出したりする担当として設定します。

Generator:生成する

Generatorは、Plannerが整理した計画や仕様に沿って、コードや成果物を生成する役割です。ファイルの編集や書き込みを伴うため、付与するツールの範囲が広くなりやすい担当です。

Evaluator:評価する

Evaluatorは、生成された成果物を評価・レビューする役割です。実装内容や動作結果を確認し、問題点をGeneratorにフィードバックすることで、成果物の品質を高めます。読み取りや検証が中心になるため、必要に応じてツール権限を絞って設計します。

Claude Codeのサブエージェント作成方法

サブエージェントは、Claude Codeの/agentsコマンドから作成できます。ここでは作成の基本的な流れと、最初に試す型の選び方を説明します。

/agentsコマンドとは

/agentsコマンドとは、サブエージェントを作成・管理する画面を開くコマンドです。対話形式で設定を進められるため、設定ファイルを手書きせずに用意できます。

サブエージェント作成手順

作成の基本的な流れは以下の通りです。

  1. /agentsコマンドを実行

    Claude Codeで/agentsコマンドを実行します。

    /agents 
  2. エージェント作成を選択

    Libraryタブを開き、Create new agent を選びます。

    Create new agent

  3. エージェントの保存先を選択

    保存先としてProjectまたはPersonalを選します。保存先の使い分けは後述しています。

    Choose location
      
    1. Project (.claude/agents/)
        2. Personal (~/.claude/agents/)
  4. エージェントの作成方法を選択

    Claude Codeで自動生成、または手動で作成できます。今回は Generate with Claude を選択します。

    Creation method
    
    ❯ 1. Generate with Claude (recommended)
      2. Manual configuration
  5. エージェントの指示内容を入力

    役割内容を入力します。ここで入力した内容をもとに、識別名(name)やdescriptionが自動生成されます。descriptionはClaudeがタスクを振り分ける判断材料になるため、役割と使う場面を具体的に書くのがポイントです。以下はPythonコードレビューのエージェント指示例です。

    Pythonコードの品質を評価するコードレビューエージェントです。
    可読性、命名規則、エラーハンドリングの3つの観点でチェックし、
    具体的な改善提案つきのフィードバックを返します。
    読み取り専用で、ファイルの変更は行いません。
  6. 使えるツールを選択

    エージェントが使用するツールの選択肢です。 Read-only tools を選択すると、読み取り専用などに機能を絞れます。

    [ Continue ]
    ────────────────────────────────────────
    All tools
    ❯ ☒ Read-only tools
    	☐ Edit tools
    	☐ Execution tools
    	☐ MCP tools
    	☐ Other tools
    ────────────────────────────────────────
    [ Show advanced options ]
  7. モデルを選択

    使用するモデルを選択します。

    Model determines the agent's reasoning capabilities and speed.
    
    ❯ 1. Sonnet ✔             Balanced performance - best for most agents
    	2. Opus                 Most capable for complex reasoning tasks
    	3. Haiku                Fast and efficient for simple tasks
    	4. Inherit from parent  Use the same model as the main conversation
  8. エージェントの色を選択

    お好みの色を選択します。

    Automatic color
    	Red
    	Blue
    	Green                 
    	Yellow                
    	Purple
    	Orange
    	Pink
    	Cya
  9. メモリの保存方法

    使用する環境に合わせてメモリの残し方を選択します。今回は None を選択します。

    Configure agent memory
    
      1. Project scope (.claude/agent-memory/) (Recommended)
    ❯ 2. None (no persistent memory)
      3. User scope (~/.claude/agent-memory/)
      4. Local scope (.claude/agent-memory-local/)

    以下は、メモリの各スコープの使い分け目安です。

    1. Project scope:プロジェクト固有の規約やパターンを覚えさせたいとき(チームで共有可能)
    2. None:お試しや一時的な用途で、記録を残す必要がないとき
    3. User scope:個人の好みやレビュー基準を全プロジェクトで使い回したいとき
    4. Local scope:ローカル環境固有の設定を記録したいとき(gitに含まれない)
  10. 全ての選択内容の確認と保存

    以下のような設定内容が表示されます。(内容は生成時の入力内容によって変わります)内容を確認し、s/Enter で保存します。

    Confirm and save
    
    Name: python-code-reviewer
    Location: .claude/agents/python-code-reviewer.md
    Tools: ListMcpResourcesTool, Read, ReadMcpResourceTool, TaskCreate, TaskGet, TaskList, TaskStop, TaskUpdate,
     WebFetch, and WebSearch
    Model: Sonnet
    Memory: None
    
    Description (tells Claude when to use this agent):
    
      Use this agent when Python code has been recently written or modified and needs a quality review focused
      on readability, naming conventions, and error handling. This agent provides read-only feedback with
      specific improvement suggestions b…
    
    System prompt:
    
      You are an elite Python code quality reviewer with deep expertise in Pythonic idioms, PEP 8 conventions,
      and production-grade error handling patterns. Your mission is to evaluate recently written or modified
      Python code and provide actiona…
    
    Press s or Enter to save, e to save and edit
    
    s/Enter to save · e to edit in your editor · Esc to cancel
    
  11. エージェントの作成完了

    次のようにプロジェクト内のエージェントが表示されていれば、作成完了です。

サブエージェントの保存先

保存先の使い分けは以下の通りです。

  • Personal: 自分のすべてのプロジェクトで使用可能
  • Project: そのプロジェクト専用(チームで共有しやすい)
~/.claude/agents/        ← Personal(全プロジェクト共通)
your-project/
└── .claude/
    └── agents/          ← Project(プロジェクト専用)
    

Evaluator型から始める

最初に試すなら、読み取り中心のEvaluator型がおすすめです。ツールを Read-only tools に絞ると、ファイルを変更せずフィードバックだけを返す構成にできます。

慣れてきたら、生成や計画を任せる範囲を広げていくと、無理なく使い分けを身につけられます。

サブエージェントに関するよくある質問

サブエージェントに関するよくある質問を以下の通りにまとめました。

Q. サブエージェントとは何ですか?

調査・レビュー・デバッグといった副タスクを、メイン会話から切り出して任せられる専用のエージェントです。独立したコンテキストを持ち、専用の設定やツールの範囲を指定できます。

Q. サブエージェントはどんな場面で必要になりますか?

調査・実装・レビューを同じ会話で進めるうちに、メイン会話に情報が積み重なって見通しが悪くなったと感じたときが、導入のタイミングです。

Q. Skillsがあるのに、なぜサブエージェントが必要なのですか?

Skillsは手順の再利用、サブエージェントは作業の分離と、役割が異なるためです。Skillsを使っても、作業の過程で発生する調査ログはメイン会話に残ります。過程ごと切り出したい場面では、サブエージェントが向いています。

Q. CLAUDE.md・Skills・サブエージェントはどう使い分けますか?

CLAUDE.mdはプロジェクト全体の前提、Skillsは定型手順の再利用、サブエージェントは副タスクの作業担当として使い分けます。3つは競合せず、組み合わせて使うものです。

Q. 最初はどんなサブエージェントを作ればよいですか?

読み取り中心のEvaluator型から始めるのがおすすめです。toolsを読み取り系に絞ると、ファイルを変更せずフィードバックだけを返す構成にでき、安心して試せます。

まとめ

この記事では、Claude Codeのサブエージェントについて、SkillsやCLAUDE.mdとの違いと使い分けを解説しました。

学んだ内容:

この記事の要点は以下の通りです。

  • サブエージェントは別コンテキストで動く専門の作業担当
  • 必要な理由はメイン会話に情報が増えすぎること
  • Skillsは手順の再利用、サブエージェントは作業の分離
  • CLAUDE.mdは前提、Skillsは手順、サブエージェントは作業担当
  • Planner・Generator・Evaluatorは役割設計の考え方
  • 最初に試すなら読み取り中心のEvaluator型

まずは読み取り中心のEvaluator型を1つ作り、自分の作業で試してみてください。役割で使い分けられるようになると、作業が複雑になっても、前提・手順・担当を整理しながら進められます。

関連記事

Claude Codeに関する記事の一覧です。インストール後の応用知識として活用ください。

参考資料

以下のリンクは、この記事で解説した手順や概念に関連する参考資料です。より詳しく学びたい方は、ぜひご覧ください。

【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

「フリーランスエンジニア」

近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

「成功する人とそうでない人の違いは何か?」

私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

note記事3000いいね超えの殿堂記事 LINE登録で記事を見る

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

関連記事