今までのお話で、「AIに複数の役割を演じさせる」型を紹介しました。Claude Codeには、あれを口約束ではなく仕組みとして定義できる機能があります。それが今回の サブエージェント です。
チャットでの役割分担は、あくまで「そういう役のつもりで振る舞って」というお願いでした。サブエージェントは違います。役割ごとに独立したAIの働き手を定義して、それぞれに使える道具(権限)まで指定できる。「チェック役はファイルを読めるが、書き換えは物理的にできない」という世界が作れます。
サブエージェントとは?
サブエージェントは、公式ドキュメントの定義では「特定の種類のタスクを担当する専門AIアシスタント」です。それぞれが独自のコンテキスト(作業場)・独自のシステムプロンプト・独自のツール権限を持ち、メインの会話から任務を委任されて、結果だけを持ち帰ってきます。
たとえると、会社の部署です。経理部は経理システムにアクセスできるが、人事データベースには入れない。「役割に必要な権限だけを渡す」から、ミスや事故が役割の外に広がりません。この部署制度を、AIの働き手に対して作るのがサブエージェントです。
定義の仕方はシンプルで、プロジェクトの「.claude/agents/」フォルダにMarkdownファイルを1つ置くだけです(セッション内の/agentsコマンドから対話的に作ることもできます)。ファイルの冒頭で名前・説明・使えるツールを宣言し、本文にその役の指示を書きます。
📎 Claude Code公式ドキュメント:Create custom subagents
https://code.claude.com/docs/en/sub-agents
なぜ「権限を絞る」のか
①事故が構造的に起きなくなる
チェック役に書き込み権限がなければ、チェック中の誤操作でデータが壊れることは原理的にありません。「気をつけてね」という注意(第37話のCLAUDE.mdは文脈でしたね)と違い、権限は仕組みとしての防壁です。
②メインの会話が散らからない
サブエージェントの調査や試行錯誤は、その働き手の作業場の中で完結します。メインの会話には要約された結果だけが返ってくるので、長時間の作業でも会話が汚れません。第27話で紹介した「文脈の散らかり」問題への、構造的な解決策でもあります。
コピペOKテンプレート
読み取り専用のチェック役を作る例です。「.claude/agents/checker.md」として保存します(ツール名などの記法は公式ドキュメントで最新仕様を確認してください)。
---
name: checker
description: 集計結果の検算とチェックを担当。集計後に必ず使う。
tools: Read, Grep, Glob
---
あなたは検算専門のチェック役です。
- 集計結果のファイルを読み、元データと突き合わせて検算する
- 合計値のズレ・カテゴリの分類ミス・欠損を報告する
- 修正はしない。問題の指摘と修正案の提示のみ行う
要は「tools」の行がこの設計の心臓部です。読み取り系のツールだけを列挙し、編集系を渡さない。これで「修正はしない」という指示が、権限のレベルでも保証されます。指示と権限の二重ロックです。
実践例:before / after
第37話の家計簿CSV集計プロジェクトの続きで、「集計役(通常権限)+チェック役(読み取り専用)」の2役体制を試してみました。
🔴 before:1つのAIに集計もチェックも任せていた頃
「集計して、終わったら検算もして」と頼んでいました。動きはするのですが、2つの不安がありました。1つは、検算が第13話で見た「自己評価の甘さ」に陥りがちなこと。自分の集計を自分でチェックするので、ズレを見つけても「誤差の範囲です」と流す傾向がありました。もう1つは、検算中にAIが「ついでに修正しておきました」と集計ファイルを書き換えてしまい、何がどう変わったのか追えなくなったことです。
🟢 after:チェック役を読み取り専用で分離した場合
上のテンプレでchecker役を定義してから「集計して、終わったらcheckerで検算して」と頼むと、集計後に自動でチェック役へ委任されました。チェック役は別人格なので検算が具体的で、「食費の合計が元データより1,240円多い。10/14の行が『食費』と『日用品』に二重分類されている」とピンポイントの指摘が返ってきました。そして重要なのは、チェック役には書き込み権限がないため、「ついでに修正」が構造的に不可能なこと。修正はメイン側で、指摘を確認したうえで実行する流れになり、何が起きたか常に追える運用になりました。
使いどころと注意点
✅ こんな場面で使う
- 「作る役」と「確かめる役」を分けたい作業(集計・変換・整理もの)
- 同じ種類の委任を何度も繰り返しているとき(定義する価値が出る)
- 調査系の作業でメイン会話を汚したくないとき
❌ これには向いていない
- 単発の小さなタスク(定義のコストが見合わない)
- トークン消費を抑えたいとき(各役が独自の作業場を持つぶん、消費は増えます)
注意点として、descriptionの書き方が委任の精度を決めます。Claude Codeは各サブエージェントのdescriptionを見て「この仕事は誰に振るか」を判断します。「いつ使うべきか」まで書く(例:「集計後に必ず使う」)と、意図したタイミングで自動的に呼ばれるようになります。Day 11のRouting Patternの「振り分け」が、ここでは仕組みとして動いているわけです。
🔧 上級者向け:共通ブロック設計と合流させる
ここは応用の話なので、読み飛ばしてOKです。
複数のサブエージェントを定義するときは、第25話で紹介した「共通ブロック+役割ブロック」の設計がそのまま使えます。プロジェクト共通の前提はCLAUDE.md(第37話)に置き、各エージェントの定義ファイルには役割固有の指示だけを書く。共通部分の管理が1か所になり、キャッシュ効率の面でも理にかなった構成になります。
まとめ
- サブエージェントは独立した作業場と権限を持つ専門役をファイルで定義する機能
- 核心は「tools」で権限を絞ること。指示と権限の二重ロックが作れる
- descriptionに「いつ使うか」まで書くと、自動委任の精度が上がる
最初の1体は、読み取り専用のチェック役がおすすめです。壊せない役から始めれば、失敗のリスクなくこの機能に慣れていけます。
⚠️ この記事の情報は執筆時点(2026年6月)の内容です。Claude Codeの機能・記法はアップデートで変わることがあります。最新の仕様は必ず公式ドキュメントで確認してください。
📎 引用・参考
・Claude Code公式ドキュメント “Create custom subagents”
https://code.claude.com/docs/en/sub-agents
次回予告
次回は「Skill化(スキル)」を紹介します。よくやる作業の手順書をスキルとして保存しておくと、必要な場面でAIが自動的に読み込んで実行してくれる仕組みです。
👉 Claude CodeのSkillsとは?作業手順を保存して使い回す仕組み


コメント