3行でいうと
- AGENTS.mdは、特定の道具に縛られない共通のMarkdownファイル。必須の項目はなく、いちばん近いファイルが優先される。
- Claude Codeは、CLAUDE.mdを200行未満に、Cursorのルールは500行未満にするよう勧める。Codexは合計32KiBで打ち切る。
- Claude Codeの文書では、CLAUDE.mdは「守らせる設定」ではなく「文脈」。必ず守らせたいことはフックを使う。
この記事は、実際に使って確かめた記録ではありません。この記事は、公式の文書を読んでまとめたものです。内容は2026年10月22日に読んだ時点のもので、道具の更新で変わることがあります。
先に結論
- 指示ファイルは、プロジェクトの外から見ても分からない情報(ビルドとテストの手順、独自の決まり、落とし穴)だけを書く。コードを読めば分かることは書かない。Claude Codeの公式文書が、そう説明しています。
- 長くしすぎない。ClaudeもCursorも、行数の目安を公式に示しています。Codexは容量の上限が決まっています。
- 複数の道具を使うなら、AGENTS.mdを1つの正本にして、道具ごとの差分だけを足す方法が、公式文書に載っています。
前提:何の話か
- コーディングエージェントは、コードを読み、ファイルを書き換え、テストなどのコマンドを実行するAIです。
- 指示ファイルは、そのAIが作業の始めに読む、プロジェクト固有の決まりを書いたテキストです。人間向けのREADMEとは別に、AI向けの案内を置く、という発想です。
- 文脈窓は、AIが一度に扱える文章量の上限です。指示ファイルは、この中に入ります。長いほど、他の作業に使える量が減ります。
名前は道具ごとに違います。
| 道具 | ファイル | 置き場所の例 |
|---|---|---|
| Claude Code | CLAUDE.md | プロジェクトの根、.claude/、ホーム(~/.claude/)など |
| Codex(OpenAI) | AGENTS.md | プロジェクトの各ディレクトリ、~/.codex |
| Cursor | ルール(.cursor/rules)、AGENTS.md |
プロジェクトの根、サブディレクトリ |
| 共通形式 | AGENTS.md | プロジェクトの根、サブディレクトリ |
AGENTS.md:共通の入れ物
公式サイト(agents.md)は、AGENTS.mdを「エージェント向けのREADME」と説明しています。主な点は次のとおりです。
- 必須の項目はなく、普通のMarkdownです。「見出しも本文も、書いたものがそのまま解釈される」という趣旨の説明です。
- 例として挙がる節は、プロジェクト概要、ビルドとテストのコマンド、コードスタイル、テストの手順、セキュリティの注意、コミットやプルリクエストの決まり、です。
- 大きなリポジトリ(モノレポ)では、サブプロジェクトごとにAGENTS.mdを置ける。編集中のファイルにいちばん近いものが優先される。指示がぶつかったら、最も近いAGENTS.mdが勝ち、チャットで直接した指示がすべてに勝つ、と書かれています。
- 対応する道具として、Codex、Cursor、Gemini CLI、VS Code、GitHub Copilotのコーディングエージェント、Aider、Zed、Windsurfなどが並んでいます。Aiderは設定ファイルで読み込む指定、Gemini CLIは設定でファイル名をAGENTS.mdに指定する、とされています。
- 既存の文書をAGENTS.mdに移すときは、名前を変えて、元の名前でシンボリックリンク(別名の参照)を作る方法が案内されています。
- 運営は、Linux Foundation傘下のAgentic AI Foundationだと書かれています。
Claude Code:CLAUDE.mdとAGENTS.md
どこに置き、どの順で読まれるか
公式文書では、CLAUDE.mdは次の4つの範囲に置けます。読み込みの順序は、広い範囲から狭い範囲です。
| 範囲 | 場所 | 用途 |
|---|---|---|
| 組織の管理 | OSごとの決まった場所(Linux・WSLでは/etc/claude-code/CLAUDE.mdなど) |
会社の規約。IT部門が管理 |
| ユーザー | ~/.claude/CLAUDE.md |
個人の好み。全プロジェクト共通 |
| プロジェクト | ./CLAUDE.md か ./.claude/CLAUDE.md |
チームで共有。バージョン管理に入れる |
| ローカル | ./CLAUDE.local.md |
個人の、そのプロジェクト限りの好み。.gitignoreに入れる |
作業ディレクトリと、その上の階層のファイルは、起動時にすべて連結されます。上書きではなく、ルートに近いものから順に並びます。つまり、作業場所に近い指示ほど、あとに読まれます。下の階層にあるCLAUDE.mdは、そのディレクトリのファイルをAIが読み書きしたときに追加で読み込まれます。
書き方の公式の注意
- 長さ:1ファイル200行未満を目安に。長いと文脈を消費し、守られる度合いが下がる、とあります。
- 構造:見出しと箇条書きで整理する。
- 具体的に:「2スペースでインデントする」「コミットの前に
npm testを実行する」のように、確かめられる形で書く。「コードをきれいに整える」のような曖昧な書き方は避ける。 - 矛盾を避ける:2つの指示がぶつかると、どちらかが適当に選ばれることがある。
- 入れるもの/入れないもの(ベストプラクティスのページの表):入れるのは、AIが推測できないBashコマンド、デフォルトと違うコードスタイル、テストの手順、ブランチ名やPRの決まり、プロジェクト固有の設計判断、環境の癖。入れないのは、コードを読めば分かること、AIがすでに知っている言語の決まり、詳しいAPI文書(リンクで足りる)、頻繁に変わる情報、ファイルごとの解説、「きれいに書く」のような当たり前の内容。
- 判断の目安:各行について「これを消すとAIが間違えるか」と問う。そうでなければ消す。
- 強調:守られない1行にだけ「IMPORTANT」のような強調を足す。多くの行を強調すると、どれも目立たなくなる。
- 不要なら足さない:AIが同じ失敗を2度した、レビューで同じ指摘が出た、毎回同じ補足を打っている、といったときに追記する、と書かれています。
CLAUDE.mdは「強制」ではない
公式文書は、CLAUDE.mdとauto memory(Claude自身が書くメモ)を、文脈として読み込むものであり、強制する設定ではない、と明記しています。ある動作を確実にとめたいなら、PreToolUseフック(道具を使う直前に走らせる自動処理)を使うよう案内しています。ベストプラクティスのページでも、CLAUDE.mdの指示は助言、フックは決まった動作を保証する、と書き分けています。
手順や一部のフォルダだけの話は別の場所へ
複数ステップの手順や、コードベースの一部にだけ関わる内容は、スキル(必要なときだけ読み込まれる手順書)か、パスを指定したルール(.claude/rules/に置き、pathsの指定に合うファイルを扱うときだけ読み込まれる)に移す、と案内されています。スキルとプラグインの違いは、この記事では扱いません。
AGENTS.mdとの関係
Claude Codeは、作業ディレクトリとその上の階層にCLAUDE.md(CLAUDE.local.mdを含む)がなくAGENTS.mdだけがあるとき、AGENTS.mdをプロジェクトの指示として読みます(v2.1.277以降)。両方あるときは、既定ではCLAUDE.mdだけが読まれます。10月22日に読んだ文書には、/configの「Project instructions」設定が載っていて、claude-md-and-agents-mdにすると両方を読めます。設定を使わない方法として、CLAUDE.mdに@AGENTS.mdと書いて取り込むこともできます。
公式文書の例:CLAUDE.mdからAGENTS.mdを取り込む
公式文書の例です。この記事では、実行していません。
@AGENTS.md
## Claude Code
Use plan mode for changes under `src/billing/`.
Claude固有の指示だけを、取り込みの下に足す形です。足す指示が要らないなら、シンボリックリンク(ln -s AGENTS.md CLAUDE.md)でもよい、とあります。ただし、公式文書は次の2点を注意しています。
- シンボリックリンクごしの書き込みは、編集ツールが拒否し、リンク先のAGENTS.mdを編集するよう促される。
- Windowsでは、リンクの作成に管理者権限か開発者モードが必要で、Gitがリンクを普通のテキストファイルとして展開することがある。Windowsの人がいるチームには、
@AGENTS.mdの取り込みを使うよう勧められている。
CLAUDE.mdの@パスの取り込みは、再帰的に最大4段までです。取り込んだファイルも起動時に読まれるため、整理には役立つが、文脈の消費は減らない、と書かれています。
Codex:AGENTS.mdの探し方と上限
Codexの公式文書では、次のように探します。
- 全体の設定:
~/.codex(またはCODEX_HOME)で、AGENTS.override.mdがあればそれを、なければAGENTS.mdを読む。この階層では最初の空でない1つだけ。 - プロジェクト:プロジェクトの根(通常はGitの根)から現在のディレクトリまで下りながら、各ディレクトリで
AGENTS.override.md、AGENTS.md、project_doc_fallback_filenamesに書いた別名の順に探し、1ディレクトリにつき最大1つを採用する。 - 連結:根から下へ、空行でつないで連結する。現在地に近いファイルは、あとに来るので、前の指示を上書きする形になる。
- 上限:
project_doc_max_bytesが初期値32KiB。合計がこの量に達すると、追加を止める。上限を上げるか、ディレクトリごとに分けて避ける。
公式文書の設定例には、project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]とproject_doc_max_bytes = 65536が載っています。
見立てです。Claude Codeは「根から作業場所へ、近いほどあとに読む」、Codexは「根から現在地へ、近いほどあとに連結する」と、順序の考え方はよく似ています。ただし、片方は「全部連結」、片方は「容量で打ち切る」という違いがあり、長いファイルの扱いは同じではありません。
Cursor:ルールとAGENTS.md
Cursorの公式文書では、プロジェクトのルールは.cursor/rulesに置き、.mdc形式(メタデータを先頭に持つMarkdown)です。プロジェクトのルールには、適用のしかたで4つの種類があります。
- Always Apply:すべてのチャットで使う
- Apply Intelligently:説明を見てAIが使うか決める
- Apply to Specific Files:ファイルのパターンに合うときに使う
- Apply Manually:
@で呼んだときだけ使う
注意点として、.mdcの拡張子でないファイルは、メタデータがないために無視される、と書かれています。10月22日に読んだページには、ほかに、管理画面から配る「Team Rules」(TeamとEnterpriseプラン。優先順位はTeam Rules、プロジェクトのルール、ユーザールールの順)と、チャットで使う全体用の「User Rules」も載っていました。AGENTS.mdはメタデータなしの、より単純な代わりとして使えます。長さは「500行未満」が目安で、大きいルールは小さく分けることを勧めています。よい習慣として、焦点を絞る、具体的に書く、内容をコピーせずファイルを参照する、スタイルガイド全文をコピーせずリンターに任せる、AIが同じ失敗を繰り返すときだけルールを足す、が挙がっています。
4つの道具の違いをまとめた表(僕らが整理したもの)
| 論点 | Claude Code | Codex | Cursor | AGENTS.md(共通) |
|---|---|---|---|---|
| 主なファイル | CLAUDE.md、.claude/rules/ |
AGENTS.md、AGENTS.override.md | .cursor/rulesの.mdc、AGENTS.md |
AGENTS.md |
| 長さの目安 | 1ファイル200行未満 | 合計32KiB(初期値)で打ち切り | ルールは500行未満 | 決まりなし |
| 複数ファイルの扱い | 上の階層を連結。下の階層は必要時に読む | 根から現在地まで、各階層で1つ連結 | サブディレクトリのAGENTS.mdは、より具体的なものが優先 | 最も近いものが優先 |
| 条件つき読み込み | pathsつきルール |
文書に記載なし(確認できていません) | 4種類のルール | なし |
| 強制力 | 助言。確実にとめるならフック | 今回読んだ文書には記載なし | 今回読んだ文書には記載なし | 記載なし |
行数とバイトは単位が違うので、数字を並べて優劣は言えません。
選び方の見立て
見立てです。公式文書を重ねると、次の整理が自然だと思います。
- まずAGENTS.mdに共通の決まりを書く。 複数の道具を使う可能性があるなら、正本を1つにすると、食い違いが起きにくいと思います。
- 道具固有の差分は、その道具の仕組みに置く。 Claude Codeならプランモードの使い方、Cursorなら適用範囲つきのルール、など。
- 「必ず守らせたい」はファイルに書くだけで済ませない。 Claude Codeの文書は、確実にしたいことはフックなどの仕組みに置くよう案内しています。
- 育てる。 失敗が起きたときに1行足し、効かなくなった行を消す。最初から完璧に書こうとしない(Claude Codeの
/initは、雛形を作る機能として紹介されています)。
つまずきやすい点
- CLAUDE.mdとAGENTS.mdが両方ある。 既定ではCLAUDE.mdだけが読まれます。AGENTS.mdの内容を反映したいなら、
@AGENTS.mdで取り込むか、/configの「Project instructions」を変える必要があります。自分用のCLAUDE.local.mdだけを置いた場合も、AGENTS.mdが読まれなくなる、と書かれています。 - ファイルが長すぎる。 Claude Codeの文書は、長いとかえって守られなくなる、と書いています。
- Cursorで
.mdを置く。 ルールの拡張子は.mdcでないと無視される、と文書にあります。 - Codexの上限。 合計が32KiBに達すると、それ以降のファイルが読み込まれません。深い階層のファイルほど、あとに連結されるため、切られやすいと考えられます(これは、僕らの読み取りで、文書に直接は書かれていません)。
- 古い指示。 Claude Codeには、古いモデル向けの指示や、存在しないファイルへの参照、矛盾を調べる
/doctor prompt-auditが紹介されています(v2.1.283以降)。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。この記事は、公式文書の記述の整理です。
- 「200行」「500行」「32KiB」は、各社が示した目安や初期値で、効果の保証ではありません。行数とバイトは単位も違います。
- Claude CodeのAGENTS.md対応は、v2.1.277以降と書かれています。それ以前のバージョンや、一部の環境(v2.1.281より前のBedrock経由など)ではCLAUDE.mdだけが読まれる、とも書かれています。バージョンで挙動が変わります。
- Codexの設定の一覧ページ(config reference)は長く、
project_doc_max_bytesの項目そのものは確認できていません。32KiBと65536の例は、AGENTS.mdのガイドのページで確認しました。 - CodexとCursorで、指示がどの程度強制されるか、文脈窓にどう載るかは、読んだ文書には書かれていません。
- Gemini CLIなど、ほかの道具の指示ファイルの細かい仕様は、読んでいません。AGENTS.mdのサイトにある対応一覧は、サイト側の記述です。
- 指示ファイルには、社内の機密や認証情報を書かないでください。チェックインするファイルは、チームの全員とリポジトリを見られる人に読まれます。
出典
- AGENTS.md(agents.md、Agentic AI Foundation、2026年10月22日確認)
- How Claude remembers your project(Claude Code Docs、Anthropic、2026年10月22日確認)
- Best practices for Claude Code(Claude Code Docs、Anthropic、2026年10月22日確認)
- AGENTS.md(Codex 設定ガイド、OpenAI、2026年10月22日確認)
- Rules(Cursor Docs、Cursor、2026年10月22日確認)
更新履歴
-
2026年10月25日 書き方を直しました。
- 前:運営者が使っていないと読める書き方 → いま:「この記事は、実際に使って確かめた記録ではありません」。公式の資料を読んでまとめた記事で、使い心地は書いていない、という意味に直した
-
2026年10月22日 公式の資料を読み直して、次の点を直しました。
- 前:CLAUDE.mdがなくAGENTS.mdだけのとき読む → いま:作業ディレクトリとその上の階層に、CLAUDE.local.mdも含めてCLAUDE.mdがないとき
- 前:両方読むには@AGENTS.mdで取り込む → いま:/configの「Project instructions」を変えても両方読める
- 前:CLAUDE.local.mdの記載なし → いま:CLAUDE.local.mdだけを置くと、AGENTS.mdが読まれなくなる
- 前:AGENTS.mdはv2.1.277以降 → いま:それ以前や一部の環境(v2.1.281より前のBedrock経由など)ではCLAUDE.mdだけ
- 前:Cursorのルールは種類の説明のみ → いま:Team Rules(TeamとEnterprise)とUser Rulesも載り、優先順位も書かれている
