エージェントとサブエージェントの読み物
〜 AIに「部下」を雇わせる時代の歩き方 〜
はじめに:AIに「部下」がいる時代
ChatGPT も Claude も、最初は「ひとりの賢い相棒」でした。質問すると答えてくれる。指示すると書いてくれる。それはまるで、有能なアシスタントが机の隣にいる感覚です。
ところが2025年あたりから、AIの世界に大きな変化が起きました。
「相棒のAIが、自分の部下を雇って仕事を任せ始めた」 のです。
これが「エージェント」と「サブエージェント」の関係。本書はこの新しい仕組みを、できるだけやさしく、たとえ話を交えながら解説します。エンジニアでなくても腑に落ちるように書きました。
主役は2強、Claude Code(Anthropic)と Codex(OpenAI)です。
第1章:エージェントとサブエージェントの関係
司令官と専門家
まず大事なイメージをひとつ。
エージェント = あなたが普段話している相棒AI(司令官)
サブエージェント = 司令官が必要なときだけ呼ぶ「専門家」(一時雇いの部下)
会社にたとえると、こうなります。
あなた(社長)が司令官(部長)に「来週のプロジェクトの調査をして」と頼む。 部長は自分ひとりで全部やらず、「資料探しは佐藤さん、データ集計は田中さん」と部下に振る。 部下たちは別の部屋でそれぞれ作業し、できた報告書だけを部長に渡す。 部長はその報告書をまとめて、あなたに伝える。
ここで重要なのは、部下が読み散らかした大量の資料は部長の机には置かれないということ。報告書の要約だけが上がってくる。これがサブエージェントの一番のキモです。
公式の定義
Anthropicの公式ドキュメントは、サブエージェントを「特定タスクを処理する専門アシスタント」と定義し、こう書いています:
「サブエージェントは独自のコンテキストウィンドウ・独自のシステムプロンプト・限定されたツール・独立した権限で動く」
専門用語が並びましたが、要するに「別人格・別の机・別の道具」で動く独立したAIだということです。
第2章:なぜサブエージェントが生まれたのか
「机の上が散らかる問題」
AIには「コンテキストウィンドウ」という制約があります。これは「いま読み込んでいる情報の総量」です。机の広さ、と思ってください。
机が広ければ広いほど多くの資料を一度に見ながら考えられますが、無限ではありません。机の上に資料を積みすぎると、AIは大事な指示を見落としたり、性能が落ちたりします。
Anthropicの公式ドキュメントが、これをズバリ言い切っています:
「ベストプラクティスのほとんどは、たった一つの制約から導かれる。Claudeのコンテキストウィンドウは急速に埋まり、埋まるほど性能が落ちる」
つまり「机を綺麗に保つこと」がAI活用の最重要課題なのです。
解決策:別の部屋で作業させる
そこで生まれたのがサブエージェントです。
司令官の机は綺麗なまま
部下は別の部屋(別のコンテキストウィンドウ)で大量の資料を読み散らかす
完成した報告書(要約)だけが司令官の机に届く
Anthropicが2025年6月に公開した社内研究によると、この「リード+サブエージェント」構成は、ひとりのAIだけで頑張るより90%以上も性能が向上したそうです。一方でトークン消費は約15倍になるという代償もありますが、重要な仕事には十分見合う、というのが彼らの結論でした。
この知見を開発者向けに一般化したのが、2025年7月にリリースされた Claude Code のサブエージェント機能です。
設計者の本音
Claude Code の作者 Boris Cherny さんは、Xでこう言っています:
「もっと計算リソースを問題に投入したいときは『use subagents』と言え。タスクを丸投げしてメインのコンテキストを綺麗に保て」
設計思想がそのまま現れた、いい言葉です。
第3章:仕事の振り方と会話の流れ
司令官が部下を呼ぶタイミングは3パターンあります。
パターン1:自動委任
司令官が「これは○○の専門家を呼ぼう」と自分で判断して呼ぶ。各サブエージェントには「私はこういう仕事が得意です」という自己紹介文(description)が書いてあって、司令官はそれを読んで指名します。
パターン2:あなたが指名
「この仕事は code-reviewer さんに頼んで」「@code-reviewer」のようにあなたが直接名指しする。
パターン3:司令官が計画的に
「この仕事は調べ物が大量に出るから、別部屋でやってもらおう」と司令官が判断して呼ぶ。並列で複数の部下を同時に呼ぶこともできます。
会話の流れ(イメージ)
あなた ──「認証コードをレビューして」──▶ 司令官(メイン)
│
│ ① 専門家を呼ぶ
▼
┌──────────────┐
│ レビュー専門家 │
│ (別の部屋) │
└──────┬───────┘
│
│ ファイルを30個読む
│ コードを精査する
│ ※全部その部屋で完結
▼
「3件の脆弱性を発見」
│ (これだけ司令官に届く)
▼
司令官
│
▼
あなた
ポイントは、司令官にも、あなたにも、最終的な要約しか届かないこと。専門家がどんな資料を読み散らかしたかは、その部屋で消えます。
第4章:Skills と Subagents の違い
ここで混乱しやすいのが「Skills」という別の機能です。両者を混同する人が多いので、はっきり区別します。
| Skills(スキル) | Subagents(サブエージェント) | |
|---|---|---|
| 例えると | 専門書・マニュアル | 別の作業員 |
| 何を提供するか | 知識・手順・ノウハウ | 独立した作業環境 |
| 誰が読むか | 司令官の脳に直接追加される | 別人として動く |
| どこで動くか | 司令官と同じ部屋(同じコンテキスト) | 別の部屋(独立したコンテキスト) |
| 対応プロダクト | Claude.ai / Claude Code / API すべて | Claude Code 限定 |
答える問いが違う
Skill は「Claudeが何を知っているか」を増やす
Subagent は「誰がどこで仕事するか」を増やす
たとえば「PDFフォームの埋め方」を教えたいなら Skill。「コードベース全体を調査して報告して」なら Subagent。前者は知識が欲しいだけ、後者はコンテキスト保護が目的、という違いです。
両方を組み合わせる
公式が示す賢いパターンは、**「サブエージェントが Skill を装備して動く」**こと。サブエージェントの定義ファイルに skills: という欄があって、起動時にスキル(専門書)を渡せます。「別の部屋にいる作業員に、専門書も持たせて送り込む」イメージです。
第5章:Subagents と Agent Teams の違い
もうひとつ似た用語に「Agent Teams(エージェントチーム)」があります。これも別物です。
公式ドキュメントが核心を一文で言っています:
「サブエージェントは単一セッション内で動き、エージェントチームは複数セッションをまたいで協調する」
| Subagents | Agent Teams | |
|---|---|---|
| 関係性 | 上下関係(部下に振る) | 同僚関係(並走して相談) |
| 通信方向 | 単方向(指示→報告) | 双方向(互いに会話・議論) |
| あなたとの会話 | 部下とは直接話せない | 各メンバーと直接対話可能 |
| いつ消えるか | 仕事が終わったら自動で消える | 「片付けて」と指示するまで残る |
| トークン消費 | 低(要約のみ戻る) | 高(メンバーごとに別ウィンドウ) |
判断フロー
並列で動く作業者同士が、お互いに会話・議論する必要があるか?
NO(結果さえ集まればOK)→ Subagents
例:コード探索、ログ要約、ドキュメント調査
YES(討論・調整が要る)→ Agent Teams
例:3視点で並列PRレビュー、5つの仮説を相互に論破させる
公式も「Agent Teams は上位互換ではない。逐次タスクや同じファイルを編集する仕事なら、サブエージェントの方が向く」と明言しています。
第6章:トークン消費の真実
ここはユーザーが一番混乱しやすいポイントなので、正面から説明します。
「サブエージェントを使うとトークンを消費しない」と聞いたことがあるかもしれません。これは半分本当で半分誤解です。
「トークン」という言葉が2つの意味で使われている
| 何を消費する? | サブエージェントは消費する? |
|---|---|
| メイン会話のコンテキストウィンドウ(司令官の机の広さ) | 消費しない ✅ |
| サブスクリプションプランの使用量枠(5時間枠・週次キャップ) | 消費する ❌ |
「コンテキストを汚さない」は本当。しかし「サブスク枠も消費しない」は間違いです。サブエージェントもAIなので、API呼び出しは普通に発生します。
公式が認めている数値
マルチエージェント構成は通常のチャットの約15倍のトークンを使う(Anthropic公式)
Agent Teams は通常セッションの約7倍(公式 costs ドキュメント)
claude.ai / Claude Code / Claude Desktop の使用量は同じプールにカウントされる
GitHubでも「サブエージェント並列起動で5時間枠が一気に30%消えた」という報告が複数立っています。
コストを抑えるテクニック
公式が推奨しているのは「安いモデルにルーティングする」こと。サブエージェントの定義ファイルに model: haiku と書くだけで、Haikuという軽量モデルで動かせます。Sonnet/Opus と比べて圧倒的に安く、コスト削減になります。
✅ コツ:探索系(読むだけ)のサブエージェントは Haiku、レビュー系(深く考える)は Sonnet または Opus、と使い分けるのが定石です。
第7章:実際にどう設定するか — Claude Code 編
ここからが実践です。Claude Code でサブエージェントを「事前設定」する方法を、コピペで使えるレベルで説明します。
ファイルの置き場所
サブエージェントは「Markdownファイル」で定義します。置き場所は2か所:
| 場所 | 範囲 |
|---|---|
| ~/.claude/agents/ | 全プロジェクトで使える(個人用) |
| .claude/agents/(プロジェクト直下) | そのプロジェクトだけで使える(チーム共有) |
ファイルの中身
たとえば「コードレビュー専門の部下」を作るなら、~/.claude/agents/code-reviewer.md というファイルを作って、こう書きます:
---
name: code-reviewer
description: コードの品質・セキュリティをレビューする専門家。コード変更後に積極的に呼ぶこと
tools: Read, Grep, Glob
model: sonnet
---
あなたはコードレビューの専門家です。
品質・セキュリティ・ベストプラクティスの観点から
具体的で実行可能なフィードバックを提供してください。
--- で挟まれた上の部分がプロフィール(名前・自己紹介・使える道具・モデル)。 下の文章がその部下の「人格」になるシステムプロンプト。
これだけで、Claude Code を再起動すれば「コードレビュー専門の部下」が完成します。
もっと簡単な方法
ファイルを手で書くのが面倒なら、Claude Code のチャット画面で /agents と打ってください。対話形式で部下を作れる画面が出ます。こちらの方が初心者には圧倒的におすすめです。
主な設定項目
| 項目 | 何ができる | 例 |
|---|---|---|
| name | 名前(必須) | code-reviewer |
| description | 自己紹介(必須) | コードを精査する専門家 |
| tools | 使える道具を絞る | Read, Grep, Glob(読み取り系のみ) |
| model | 使うAIモデル | sonnet / opus / haiku |
| permissionMode | 権限モード | acceptEdits(編集自動承認)など |
| skills | 装備するスキル | [api-conventions] |
使い方
定義ができたら、Claude Code に普通に話しかけるだけ。
あなた:「authフォルダのコードを code-reviewer に 見てもらって」
司令官が「了解、code-reviewer を呼びます」と判断して、自動で部下を起動してくれます。
第8章:実際にどう設定するか — Codex 編
OpenAIの Codex CLI も、実は2026年現在、サブエージェント機能を公式に持っています。設計思想は Claude Code と少し違いますが、できることは似ています。
Claude Code との違い
| Claude Code | Codex | |
|---|---|---|
| 設定ファイル形式 | Markdown(.md) | TOML(.toml) |
| 設定の置き場所 | ~/.claude/agents/ | ~/.codex/agents/ |
| プロジェクト指示書 | CLAUDE.md | AGENTS.md(オープン標準) |
| 自動起動 | description で自動委任 | 明示指示が必要(自動分裂しない) |
| 設計思想 | 「常駐するワーカー」 | 「明示委託」(司令官が常に手綱を握る) |
Codex は「自動でホイホイ部下を呼ぶ」より「あなたが明示的に頼んだときだけ部下を呼ぶ」スタイルです。保守的な設計と言えます。
例:読み取り専用の調査部下を作る
~/.codex/agents/pr_explorer.toml というファイルを作って、こう書きます:
name = "pr_explorer"
description = "コードベースを読み取り専用で調査する部下"
sandbox_mode = "read-only"
model = "gpt-5.4"
model_reasoning_effort = "high"
developer_instructions = """
調査モードに徹してください。
実行パスを追い、ファイル名と関数名を必ず引用してください。
"""
同時実行の設定
Codex 全体の挙動は ~/.codex/config.toml で決めます:
[agents]
max_threads = 6 # 同時に動かせる部下の数
max_depth = 1 # 部下が孫を呼べる深さ
job_max_runtime_seconds = 1800 # 仕事のタイムアウト
起動方法
Codex の対話画面で /agent と打ってスレッドを切り替えるか、プロンプトに明示的に書く:
「この仕様を3つの観点で調査して。観点ごとに pr_explorer をひとり起動して、全員終わったら結果をまとめて」
Codex は明示的に頼まれた数だけ部下を起動します。
Codex のもうひとつの強み:CSV バッチ処理
Codex には spawn_agents_on_csv という独特の機能があります。CSVファイルの行数だけ部下を並列起動して、各行に同じ処理を実行させ、結果を CSV に書き戻す、というもの。
たとえば「100社のリストを渡して、各社のWebサイトを調査してCSVに追記してもらう」みたいな仕事に向きます。
第9章:CLAUDE.md と AGENTS.md ── 似て非なるもの
設定ファイルの話で、もうひとつ混同されがちなのがこの2つです。
サブエージェント定義は「個別の部下1人ずつ」のプロフィールでした。一方 CLAUDE.md や AGENTS.md は「プロジェクト全体への指示書」、つまり「会社のルールブック」です。
| サブエージェント定義 | CLAUDE.md / AGENTS.md | |
|---|---|---|
| 例えると | 部下1人ずつの履歴書 | 会社の就業規則 |
| ファイル名 | 任意(code-reviewer.md など) | 固定名(CLAUDE.md または AGENTS.md) |
| 数 | 何個でも | ディレクトリに1つ |
| 役割 | 専門家を作る | 司令官にプロジェクトの作法を教える |
| 読まれ方 | 必要なときだけ | セッション開始時に毎回 |
Claude Code と Codex で違う
Claude Code は CLAUDE.md を読みます
Codex は AGENTS.md を読みます(業界オープン標準)
「両方使ってる」という人は、CLAUDE.md の中に @AGENTS.md と1行書くと、Claude Code が AGENTS.md を取り込んでくれます。これが公式推奨の両立方法です。
AGENTS.md の例
# このプロジェクトについて
## 開発環境
- Node.js 20以上が必要
- パッケージマネージャは pnpm を使うこと
## テスト方法
- `pnpm test` でユニットテストが走る
- PRを出す前に必ずテストを通すこと
## コードスタイル
- 関数名は camelCase
- ファイル名は kebab-case
このファイルをリポジトリのルートに置いておけば、Codex も Claude(@AGENTS.md 経由)も Cursor も Aider も、みんな同じルールで動いてくれます。60,000以上のOSSプロジェクトで採用されている業界標準です。
第10章:使い分けの早見表
最後に、判断に迷ったときの早見表を置いておきます。
「何を作ればいいか」フローチャート
やりたいことは?
│
├── AIに専門知識を持たせたい
│ → Skill を作る(SKILL.md)
│
├── プロジェクトのルールをAIに教えたい
│ → CLAUDE.md / AGENTS.md を書く
│
├── 大量の調査やレビューをコンテキストを汚さずやりたい
│ → Subagent を作る(.claude/agents/*.md または .codex/agents/*.toml)
│
├── 複数のAIが並走して相談しながら作業してほしい
│ → Agent Teams を立ち上げる(Claude Code の実験的機能)
│
└── ChatGPT / Claudeの異なる強みを組み合わせたい
→ assign-codex のようなスキル経由で連携
Claude Code vs Codex 早見
| やりたいこと | Claude Code | Codex |
|---|---|---|
| 部下AIの設定ファイル | .claude/agents/*.md | .codex/agents/*.toml |
| プロジェクト指示書 | CLAUDE.md | AGENTS.md |
| 部下AIの自動起動 | description で自動 | 明示指示が必要 |
| 同僚AIの並走 | Agent Teams(実験的) | 標準サポート |
| バッチ並列実行 | Task tool の並列呼び出し | spawn_agents_on_csv |
おわりに:AIを「ひとり」から「組織」へ
エージェントとサブエージェントの話は、技術的には複雑に見えますが、考え方は人間の組織と同じです。
ひとりで全部やろうとせず、得意な人に任せる
任せるときは机を綺麗にして、要約だけもらう
仕事ごとに専門家を分けて、道具と権限も最小限に
ルールブックは全員が読める場所に置く
AIを「ひとりの相棒」として使うフェーズから、「組織として動かす」フェーズへ。これがエージェント時代の歩き方です。
サブエージェントを最初に作るときは難しく感じますが、まずは Claude Code で /agents と打って、対話形式で1人だけ作ってみてください。あるいは Codex なら ~/.codex/agents/ に1ファイル置いてみる。そこから世界が広がります。
参考資料
Anthropic 公式
Building Effective Agents(2024-12)
Equipping agents with Agent Skills(2025-10)
OpenAI Codex 公式
オープン標準
agents.md ── AGENTS.md オープン標準(Linux Foundation配下)
作成日:2026年5月8日