最終更新日:2026年9月28日 読了時間:約9分

AGENTS.mdを正しく設定すれば、Claude Codeのマルチエージェント動作を制御し、サブエージェントに対して独立した指示を与えられる。この記事では、CLAUDE.mdとの役割の違い・作成手順・つまずきポイントを具体的に解説する。

この記事で分かること:

  • ✔ AGENTS.mdとCLAUDE.mdの役割の違いが分かる
  • ✔ AGENTS.mdの作成〜動作確認の手順が分かる
  • ✔ 設定ミスで詰まる前に防げる落とし穴が分かる

30秒で選ぶなら: → サブエージェントに個別の指示を与えたいならAGENTS.md、Claude Code全体の動作を制御したいならCLAUDE.md。


Claude CodeのAGENTS.md対応とは何か

AGENTS.mdは、Claude Codeがマルチエージェントモードで動作するとき、サブエージェントに対して適用される指示ファイルだ。

CLAUDE.mdがClaude Code全体のルール・コンテキストを定義するのに対し、AGENTS.mdはサブエージェントが参照する独立した指示セットを提供する。これにより、メインエージェントとサブエージェントで異なる制約・スタイル・ツール使用方針を持たせることが可能になる。

2026年に追加されたこの機能は、複数エージェントが協調して動作する複雑なタスク(コードレビュー・ドキュメント生成・テスト実行の並行処理など)で特に威力を発揮する。


AGENTS.mdとCLAUDE.mdの違いと選び方

役割の比較

項目CLAUDE.mdAGENTS.md
適用対象Claude Code全体(メインエージェント含む)サブエージェント(並行タスク実行時)
読み込みタイミングセッション開始時・常時サブエージェント起動時
主な用途プロジェクト全体の方針・禁止事項サブエージェント専用のタスク定義・制約
配置場所プロジェクトルートまたは上位ディレクトリプロジェクトルート(CLAUDE.mdと同階層も可)
複数ファイルディレクトリ階層で複数配置可1ファイル(現時点)
スコープ広域・全体制御局所・エージェント個別制御

※2026年9月時点。仕様は変更の可能性があります。

どちらを使うべきか

CLAUDE.mdだけで十分なケースは多い。AGENTS.mdが必要になるのは「サブエージェントに、メインエージェントとは異なる制約を課したい」という明確な要件があるときだ。

たとえば、メインエージェントには広いファイル書き込み権限を与えつつ、テスト実行サブエージェントには読み取り専用に制限したい場合。あるいは、コード生成サブエージェントに特定のコーディングスタイルガイドを適用したい場合がある。

こんな人にAGENTS.mdが向いている:

  • □ 複数サブエージェントを並行起動するワークフローを組んでいる
  • □ サブエージェントに独立した権限・スタイルを設定したい
  • □ Claude Code Hooksと組み合わせた精密なエージェント制御が必要

こんな人には向いていない:

  • □ 単一エージェントで完結するシンプルな使い方をしている
  • □ まだCLAUDE.mdの設定が固まっていない段階

AGENTS.mdの作成・設定手順

正直なところ、最初はCLAUDE.mdとの違いがピンとこない人がほとんどだ。この手順を上から順にやれば、確実に動作確認できる。

ステップ1:プロジェクトルートにAGENTS.mdを作成する

touch /path/to/your/project/AGENTS.md

CLAUDE.mdと同じディレクトリに配置する。サブディレクトリに置くと、そのディレクトリ配下のサブエージェント専用の指示として機能するが、まずはルートから始めるのが確実だ。

ステップ2:基本構造を記述する

AGENTS.mdには、サブエージェントに守らせたいルールをMarkdown形式で書く。

# Agent Instructions

## 役割と制約
このエージェントはコードレビューに特化しています。
ファイルの新規作成・削除は行わないでください。

## 出力形式
- 問題点は箇条書きで列挙する
- 各指摘に重要度(high/medium/low)を付ける
- 修正提案は diff 形式で示す

## 禁止事項
- `git push` は実行しない
- 本番環境の設定ファイルを変更しない

個人的にはこのステップが一番重要だと思う。 「何をしてはいけないか」をAGENTS.mdに明示しておかないと、サブエージェントがメインエージェントと同じ広い権限で動いてしまい、意図しない変更が発生する。

ステップ3:CLAUDE.mdとの役割分担を明確にする

CLAUDE.mdには「プロジェクト全体の方針」、AGENTS.mdには「サブエージェント固有の制約」を分けて書く。

# CLAUDE.md(メインエージェント用)
## プロジェクト概要
〇〇システムの開発・保守

## 全体方針
- TypeScriptを使用する
- テストカバレッジ80%以上を維持する
# AGENTS.md(サブエージェント用)
## タスク定義
テストの自動生成に特化する

## 制約
- テストファイル(*.test.ts)のみ編集可
- 本番コードは変更しない

この分離を怠ると確実に詰まります。CLAUDE.mdとAGENTS.mdに矛盾する指示が混在すると、どちらが優先されるか予測しにくくなる。

ステップ4:Claude Codeでサブエージェントを起動して動作確認する

claude-p"テストファイルを確認してカバレッジの低いモジュールを特定してください"

マルチエージェントが動作するタスクを指示すると、サブエージェントがAGENTS.mdを参照して起動する。Claude Codeのログで[subagent]タグが付いた出力が確認できれば、AGENTS.mdが正しく読み込まれている。

ステップ5:ディレクトリ別にAGENTS.mdを配置する(応用)

大規模プロジェクトでは、サブディレクトリごとに異なるAGENTS.mdを置ける。

p├├├│└r────o────jeCAs└a└cLGr─p─tAEc─i─/UN//DTAAESGG..EEmmNNddTTSS..mmdd####全ルフバ体ーロッ方トンク針サトエブエンエンドード専ジ専用ェ用のンの制ト制約用約

やってみると分かるのですが、この構造は大規模なリポジトリで特に効果が高い。モノレポ構成のプロジェクトで、フロントとバックで異なるコーディングルールを適用したいケースにぴったりだ。


よくある失敗と対処法

失敗1:CLAUDE.mdとAGENTS.mdに矛盾する指示を書く

症状: サブエージェントが指示通りに動かない、または想定外のファイルを変更する。

原因と対処: CLAUDE.mdに「すべてのファイルを自由に編集可」と書き、AGENTS.mdに「読み取り専用」と書くと動作が不安定になる。AGENTS.mdの記述が優先されるが、CLAUDE.mdの広い権限が「許可」として解釈されるケースがある。

対処法は「CLAUDE.mdでの権限付与を絞り込み、サブエージェントに必要な権限だけをAGENTS.mdで明示する」こと。権限は「広く与えてから制限」より「狭く与えてから拡張」が安全だ。

失敗2:AGENTS.mdを配置したのにサブエージェントが読み込まない

症状: サブエージェントが起動してもAGENTS.mdの制約が反映されない。

原因: 最もよくある原因はファイル名のミスタイプ(agents.md・Agents.mdなど)だ。ファイル名は大文字・小文字を含めてAGENTS.mdと完全一致させる必要がある。 このミスを見落とすと後で必ず詰まります。

確認コマンド:

ls -la | grep -i agents

失敗3:すべての制約をAGENTS.mdだけに書こうとする

症状: CLAUDE.md側の設定が薄くなり、メインエージェントの動作が不安定になる。

対処: AGENTS.mdはあくまで「サブエージェント専用の追加制約」として位置付ける。プロジェクト全体に適用すべきルール(コーディング規約・禁止コマンドなど)はCLAUDE.mdに書く。AGENTS.mdはCLAUDE.mdを「継承した上で上書きする」という思考モデルで書くと整理しやすい。


よくある質問(FAQ)

Q. AGENTS.mdはCLAUDE.mdを置き換えるものですか?

A. 置き換えではありません。CLAUDE.mdはメインエージェントを含む全体の制御ファイルで、AGENTS.mdはサブエージェント専用の追加設定ファイルです。両方を共存させて役割を分担させます。

Q. AGENTS.mdがない場合、サブエージェントはどの設定を参照しますか?

A. AGENTS.mdが存在しない場合、サブエージェントはCLAUDE.mdの内容を参照して動作します。AGENTS.mdは必須ではなく、サブエージェントを細かく制御したい場合にのみ作成します。

Q. AGENTS.mdに書けるのはテキスト形式の指示だけですか?

A. 現時点ではMarkdownテキスト形式の指示のみ対応しています。ツール使用の許可・禁止はClaude Code本体の権限設定(.claude/settings.json)で制御し、AGENTS.mdはその上位レイヤーのルール記述用として位置付けます。


まとめ

AGENTS.mdを使えば、サブエージェントの動作をメインエージェントとは独立して制御できる。まずはプロジェクトルートにCLAUDE.mdと並べてAGENTS.mdを作成し、サブエージェントに課したい制約を1つ書くところから始めてみてください。

複雑なマルチエージェントワークフローを組む前に、「CLAUDE.mdで全体方針・AGENTS.mdでサブエージェント制約」という役割分担を固めることが、安定した自動化の土台になる。

最終更新日:2026年9月28日

上#---記#が[[[M******関CGAa構比手文禁関連liIr成較順体止連記atコk*表*ル事ツ事uHーd***ー項ーduデo:*:ル*ルebィw指:5遵**ンn定Aス守:*CCグ形のGテ*著:ooエ式8Eッ*者今dpーのセNプ:プ回eiジ完クTの断ロはlェ成シSコ言フ指voン記ョ.ー表ィ定stト事ンmド現ーツ完で構d例・ルーGA全す成付口・ルigガ。をvき語Pがteイ主完s手・R空Hnドな全順著表のut2ポにC(者記たb0イ満Lb感・めM2ンたAa情累「Co6トしUs・計関od:を、Dh共件連pe「ま3E感数ツiとSと,.mをはーlはaめ8ma各一ルo?aま0dr1切のt使Sす0のk〜な詳い。字6d2し細徹方i程軸o箇」底・s度比w所セ比設で較n配ク較定D仕テ)置シ2手e上ーョ0順aげブン2をdまルを6完」しを省年全時た配略8解代置し月説に、|【エAA2ンGI0ジEコ2ニNー6アTデ年がSィ最使.ン新うmグ】べdエ]きにー(ツ関ジ/ー連ェgルすンuとるトiは設選d]定びe(フのsァ決gイ定guル版ii(]td`(he./usccb/lo-aamciupo-dapcerio/elds/oiectntl-gtaa-iugandeggenes-tn.c-tjom-sdogoedun-ei`v-d)sgeの-u-みgi2言id0及te2すh-6るu2-構b00成-25にc6/しo-)まp0しi5たlt-2026-08/)