「AIにAIを制御させる」——この言い方が話題になっています。SNSで断片的に流れてくるTipsだけでは、エージェント設計の全体像は見えません。Anthropicが公開するClaude Code公式ドキュメントなら、代理・提示・記憶・技能・MCP・例程を体系的に学べます。しかも無料です。
この記事では、Claude Codeを軸にAIエージェント開発の7つの用語を整理し、それぞれがどう連携するかを解説します。
- 代理(エージェント)・サブエージェントの役割分担
- 提示(プロンプト)をどこに書くか
- 記憶(CLAUDE.mdとAuto Memory)の違い
- 技能(Skills)の使いどころ
- MCPで外部ツールを接続する方法
- 例程(ループとワークフロー)の設計
- 公式ドキュメントの学習順序
エージェント設計は「役割の積み上げ」
Claude Codeは、言語モデル(Claude)にファイル操作やシェル実行などのツールを与え、自律的にタスクを進めるエージェント型コーディング環境です。Anthropicの用語集では、モデルを動かす仕組み全体をエージェント型ハーネスと呼んでいます(参考)。
中心にあるのがエージェント型ループです。コンテキストを集め、ツールで行動し、結果を検証して、完了するまで繰り返します。Skills、MCP、フック(Hooks)は、このループの各フェーズに接続する拡張ポイントとして設計されています。
「AIにAIを制御させる」とは、メインのエージェントがサブエージェントに作業を委任し、要約だけを受け取る構成を指します。大量のログや検索結果をメイン会話に流し込まず、コンテキストを守りながら並列処理できるのが利点です(参考)。
1. 代理——メインとサブエージェントの分担
代理(エージェント)は、ツールを使って自律的に行動するAIのことです。Claude CodeにはExplore(読み取り専用の探索)、Plan(計画モード用の調査)、general-purpose(探索と編集の両方)などの組み込みサブエージェントがあります。
カスタムサブエージェントは.claude/agents/にMarkdownで定義します。各サブエージェントは独立したコンテキストウィンドウと専用のシステムプロンプトを持ち、利用可能なツールも制限できます。調査用にはHaikuモデルを割り当て、コストを抑える運用も可能です(参考)。
サブエージェント同士は直接通信しません。メインエージェントが委任し、結果の要約を受け取る一方向の関係です。複数のワーカーが協調する必要がある場合は、実験的なAgent Teamsが別途用意されています。
2. 提示——プロンプトを書く場所は3層ある
提示(プロンプト)は、エージェントの振る舞いを決める指示文です。Claude Codeでは書き場所によって読み込みタイミングと用途が異なります。
| 書き場所 | 用途 | 読み込み |
|---|---|---|
| CLAUDE.md | 毎セッション適用するルール | セッション開始時に常時 |
| Skills(SKILL.md) | 特定タスクの手順・知識 | 関連時または/コマンドで |
| サブエージェント定義 | 委任先の専門役割 | 委任時に独立コンテキストで |
CLAUDE.mdは「毎回言い直す指示」を固定する場所です。ビルドコマンド、コーディング規約、アーキテクチャの前提を200行以内に収めるのが推奨されています(参考)。
Skillsはオンデマンドで読み込まれるため、長い手順書やチェックリストはこちらに置く方がコンテキストを節約できます。YAMLフロントマターでdisable-model-invocation: trueを設定すれば、デプロイなど副作用のある操作をユーザーだけが起動できます(参考)。
3. 記憶——CLAUDE.mdとAuto Memoryの二層構造
記憶は、セッションをまたいで知識を引き継ぐ仕組みです。Claude Codeには補完的な2つのシステムがあります(参考)。
CLAUDE.mdは人間が書く指示ファイルです。プロジェクトルートの./CLAUDE.md、ユーザー全体の~/.claude/CLAUDE.md、チーム共有の.claude/rules/など、スコープごとに配置できます。/initコマンドでコードベースを分析し、初期版を自動生成することもできます。
Auto MemoryはClaudeが自分で書くメモです。~/.claude/projects/<project>/memory/MEMORY.mdに保存され、先頭200行(または25KB)がセッション開始時に読み込まれます。デバッグの知見やビルドの癖など、作業中に得た学びをClaude自身が蓄積します。/memoryコマンドで内容の確認と編集ができます。
使い分けは明確です。守らせたいルールはCLAUDE.md、作業中に発見したパターンはAuto Memoryに任せます。サブエージェントにもmemory: userやmemory: projectを設定し、個別の記憶領域を持たせられます。
4. 技能——Skillsで再利用可能な専門知識をパッケージ化
技能(Skills)は、Agent Skillsオープン標準に基づく拡張機能です。SKILL.mdファイルに手順や知識を書き、ディレクトリごとパッケージ化します(参考)。
読み込みは3段階のプログレッシブ・ディスクロージャーで行われます。
- メタデータ(名前・説明)——起動時に常時ロード、約100トークン/Skill
- 指示本文(SKILL.md本体)——関連タスク時にロード
- リソース(スクリプト・テンプレート)——必要時のみ実行または参照
配置場所は~/.claude/skills/(個人用)、.claude/skills/(プロジェクト用)、プラグイン内です。/code-reviewや/debugなどのバンドル済みSkillsも最初から利用できます。
SkillsとMCPの関係は「手の使い方」と「手そのもの」に例えられます。MCPがデータベースやGitHubへの接続を提供し、Skillがそのデータの扱い方やクエリパターンを教える、という分担です(参考)。
context: forkをフロントマターに追加すると、Skillの内容をサブエージェントのタスクとして隔離実行できます。メイン会話を汚さずに調査やレビューを走らせるパターンです。
5. MCP——外部ツールを標準プロトコルで接続
MCP(Model Context Protocol)は、AIツールと外部データソースを接続するオープン標準です。Claude CodeはMCPサーバー経由でIssue管理、データベース、ブラウザ、SaaS APIなど数百のツールにアクセスできます(参考)。
接続方法は主に4つです。
- HTTP——クラウドサービス向け(推奨)
- stdio——ローカルプロセスとして実行
- SSE——レガシー向け(HTTPへの移行が推奨)
- WebSocket——イベントのプッシュ受信向け
claude mcp addコマンドで追加し、スコープはlocal(個人・プロジェクト限定)、project(.mcp.jsonでチーム共有)、user(全プロジェクト)から選べます。v2.1.7以降はMCP Tool Searchにより、未使用のツール定義はコンテキストに先読みされず、必要時にスキーマを取得する仕組みになっています。
サブエージェントのフロントマターにmcpServersを指定すれば、メイン会話には載せず特定のワーカーだけにMCPツールを渡すこともできます。
6. 例程——ループとワークフローで反復を自動化
ツイートで挙がっていた例程は、Claude Codeにおける反復的なワークフロー全体を指します。具体的には次の3層に対応します。
エージェント型ループが最も基本的な例程です。プロンプトを受け取り、ツールを実行し、結果を検証して繰り返すサイクルが、あらゆるタスクの骨格になります(参考)。
バンドル済みSkillsが高レベルの例程です。/loopは繰り返しタスク用、/batchは一括処理用、/verifyはビルドと動作確認用の手順を内包しています。固定ロジックではなく、詳細な指示をClaudeに渡してオーケストレーションさせる方式です。
フック(Hooks)は決定論的な例程です。ツール実行前後やセッション開始時など、ライフサイクルの固定ポイントでシェルコマンドやHTTPエンドポイントを自動実行します。モデルの判断に依存せず「必ずこの検査を通す」という制御に使います(参考)。
検証ループ(テストやビルドで完了を確認する仕組み)を組み込むと、エージェントが「それっぽい回答」で止まるのを防げます。公式ドキュメントでは、自律実行の前提として検証手段の設計を推奨しています。
7. 公式ドキュメントで学ぶ順序
SNSの断片情報より、Anthropicの公式ドキュメントの方が網羅性と正確性で優れています。以下の順序で読むと、概念の依存関係に沿って理解できます。
- 用語集(Glossary)——全体像の地図
- メモリ(Memory)——CLAUDE.mdとAuto Memory
- Skills——技能の作成と運用
- サブエージェント——代理と委任の設計
- MCP——外部接続
- Agent SDK——ループの内部動作
ドキュメント索引はhttps://code.claude.com/docs/llms.txtから全ページを一覧できます。プラグインでSkills・サブエージェント・MCP・フックをひとまとめに配布する方法も公式に案内されています(参考)。
設計の勘所——何をどこに置くか
7要素の使い分けは、次の判断軸で整理できます。
| やりたいこと | 使う仕組み |
|---|---|
| 毎回守らせたいルール | CLAUDE.md |
| 特定タスクの手順・知識 | Skills |
| 重い調査を隔離したい | サブエージェント |
| 外部サービスに接続したい | MCP |
| 作業中の学びを蓄積したい | Auto Memory |
| 決まったタイミングで必ず実行したい | フック |
| チームで設定を共有したい | プラグイン |
エージェント設計の本質は、コンテキストウィンドウという有限資源をどう配分するかにあります。常時ロードする情報は最小限にし、重い処理はサブエージェントに委任し、外部データはMCPで必要時だけ引く——この3点が、「AIにAIを制御させる」設計の実践になります。
X(旧Twitter)で話題になった投稿も、新機能の発表ではなく、この学習導線を紹介する内容でした。断片的なTipsを追うより、上記の公式ドキュメントを順に読む方が、エージェント開発の基盤は確実に身につきます。