本文へ移動
ハック!でAI

Codex 入門 第5回

AGENTS.md で Codex にルールを伝える(/init)

ハック!でAI編集部AIにより執筆読了 約11分
Codex が日本語の AGENTS.md を書き込む前に、確認を求めている画面

この記事でわかること

  • AGENTS.md の役割と、Codex が読み込む順番
  • /init でひな形を作り、日本語で書いてもらう手順
  • 読み込まれたかを /status で確かめる方法

確認した環境: Codex CLI 0.162.1(GPT-6.1-Sol・API キーで利用)/ 撮影は Linux のターミナル / 2026年10月11日に確認

AGENTS.md は、Codex が作業の前に読む指示書のファイルです。プロジェクトの説明や守ってほしい決まりを書いておけば、依頼のたびに同じ説明をしなくて済みます。この記事では、/init でひな形を作り、日本語で書いてもらうまでを、編集部の検証環境の画面で説明します。

AGENTS.md とは

AGENTS.md は、Markdown(# で見出し、- で箇条書きを書く書き方)で書くテキストのファイルです。Codex は作業を始める前にこのファイルを読み、書かれた指示を作業に生かします。

置き場所は 2 つあり、効く範囲が違います。

置き場所 効く範囲 公式の例に書かれている決まり
~/.codex/AGENTS.md すべてのプロジェクト JavaScript のファイルを変えたらテストを実行する、依存パッケージは pnpm で入れる など
プロジェクトのフォルダの AGENTS.md そのプロジェクトだけ プルリクエストを出す前に npm run lint を実行する など

~ は自分のホームフォルダのことです。~/.codex は Codex のホーム(設定などを置くフォルダ)で、環境変数 CODEX_HOME で場所を変えられます。

読み込まれる順番

1 全体 ~/.codex/AGENTS.md、2 プロジェクトのルートの AGENTS.md、3 今のフォルダの services/payments/AGENTS.md が矢印でつながり、その下に 1 つのフォルダで探す順番と、読まれないものが書かれた図
AGENTS.md が読み込まれる順番。全体、プロジェクトのルート、今のフォルダの順に読み、あとのものほど優先される撮影・作図: 編集部

Codex は、次の順番で AGENTS.md を探します。

  1. 全体: ~/.codex/AGENTS.md
  2. プロジェクト: プロジェクトのいちばん上のフォルダ(ふつうは Git のルート)から、今いるフォルダまで、1 つずつ下りながら探す

見つかったものは、順につなげて読みます。今いるフォルダに近いファイルほどあとに来るので、そちらの指示が優先されます。Git(ファイルの変更の履歴を残す仕組み)のルートが見つからないときは、今いるフォルダだけを見ます。

1 つのフォルダの中では AGENTS.override.md → AGENTS.md の順に探し、先に見つかった 1 つだけを使います。空のファイルは飛ばし、合計が 32 KiB(既定)に達したところで読むのをやめます。

/init で AGENTS.md を作る

/init は、今いるフォルダに AGENTS.md のひな形を作るコマンドです。編集部では、家計簿の CSV を集計する Python のスクリプトのフォルダ(~/kakeibo)で試しました。第 4 回で権限を「Read Only」に切り替えた会話の続きです。

  1. AGENTS.md を置きたいフォルダで、/init と入力する

    Codex の入力欄に /init と打つと、①に「create an AGENTS.md file with instructions for Codex」(Codex 向けの指示を書いた AGENTS.md を作る)という説明が出ます。②の入力欄が /init になっていることを確かめて、Enter を押します。

    入力欄に /init と入力され、その上に /init create an AGENTS.md file with instructions for Codex と表示されている
    /init と打ったところ。① コマンドの説明 ② 入力欄撮影・作図: 編集部
  2. Codex がフォルダの中を調べるのを待つ

    /init を実行すると、AGENTS.md を作るための依頼文(英語)が自動で送られます。Codex は、AGENTS.md がもうあるかを確かめてから、ファイルの一覧や Git の履歴を調べて、中身を書きます。

  3. 書き込みの確認が出たら、中身を見て選ぶ

    編集部の環境は権限が Read Only だったので、ファイルを書き込む前に確認の画面が出ました。①は理由で、「AGENTS.md が無いこと」と「読み取り専用であること」が書かれています。②は、書き込む中身の始めの部分です。

    Would you like to run the following command? の画面。Reason に AGENTS.md does not exist. The environment is read-only と書かれ、# Repository Guidelines から始まる英語の中身と、1. Yes, proceed (y) と 2. No, and tell Codex what to do differently (esc) の選択肢が並んでいる
    書き込みの前に出た確認。① 理由 ② 書き込む中身(英語) ③ 選択肢撮影・作図: 編集部

    ③の選択肢の意味は次のとおりです。

    • 「1. Yes, proceed (y)」: このまま実行する
    • 「2. No, and tell Codex what to do differently (esc)」: 実行しないで、どうしてほしいかを伝え直す

    中身が英語だったので、編集部は Esc を押して断りました。

  4. 日本語で書くように頼み直す

    断ると、①のように「You canceled the request」(実行を取り消した)と表示されます。続けて②のように、日本語で書くことと、返事も日本語にすることを頼みました。

    I’ll check whether AGENTS.md exists… のあとに You canceled the request to run python3 … と Conversation interrupted が表示され、入力欄に AGENTS.md は日本語で書いてください。返事も日本語でお願いします と入力されている
    断ったあとに頼み直したところ。① 実行を取り消した表示 ② 送った依頼撮影・作図: 編集部
  5. 日本語の中身を確かめて、Yes, proceed を選ぶ

    もう一度、確認の画面が出ます。今度は①の理由も、②の中身も日本語です。中身を確かめて、③の「1. Yes, proceed」を選びます。

    Reason に AGENTS.md が存在しないことを確認しました。現在の環境は読み取り専用のため…と書かれ、## プロジェクト構成 などの日本語の中身の下で 1. Yes, proceed (y) が選ばれている
    日本語で書き直した中身の確認。① 理由 ② 中身の始めの部分 ③ 実行する選択肢撮影・作図: 編集部
  6. 作成の報告を確かめる

    ①に、実行を許可したことが記録されます。②で「AGENTS.md (AGENTS.md) を日本語で作成しました。」と報告されれば完了です。

    You approved codex to run python3 … this time のあとに、AGENTS.md (AGENTS.md) を日本語で作成しました。指定のタイトル「Repository Guidelines」の下に、構成、実行方法、コーディング規約、テスト、コミット・PR、データの取り扱いをまとめています。と表示されている
    作成の報告。① 実行を許可した記録 ② 作成したという報告撮影・作図: 編集部

できた AGENTS.md の中身

編集部の AGENTS.md には、次の 6 つの見出しがありました。いちばん上の見出しは「Repository Guidelines」(英語)のままです。

見出し 書かれていたこと
プロジェクト構成 kakeibo.py の関数の役割と、expenses.csv がサンプルのデータであること
実行・開発コマンド 集計を実行する 2 つのコマンド。標準ライブラリだけなので、インストールは要らないこと
コーディング規約 インデントは半角スペース 4 個、名前は snake_case にすること
テストと動作確認 自動のテストは無いこと。サンプルの CSV で実行し、費目ごとの合計(交通費 2,340 円など)を確かめること
コミットとプルリクエスト コミットのメッセージと、プルリクエストに書くこと
入力データの取り扱い CSV の形式。空欄の金額を勝手に 0 にしないこと、個人の家計の情報をコミットしないこと

1 行目の見出し「# Repository Guidelines」に続く、始めの部分は次のとおりです。

Markdown
## プロジェクト構成

このリポジトリは、家計簿の CSV を読み込み、費目ごとの合計を表示する小規模な Python CLI です。

- `kakeibo.py`: CSV 読み込みの `load`、集計の `total_by_category`、実行入口の `main` を配置しています。
- `expenses.csv`: 動作確認用のサンプルデータです。

現在、テストやアセット専用のディレクトリはありません。機能追加時も、読み込み・集計・表示の役割を明確に保ってください。

## 実行・開発コマンド

- `python3 kakeibo.py`: カレントディレクトリの `expenses.csv` を集計します。
- `python3 kakeibo.py /path/to/expenses.csv`: 指定した CSV を集計します。

自分の決まりを書き足す

AGENTS.md はテキストのファイルなので、エディタで開いて書き足せます。公式のドキュメントにある、プロジェクトの AGENTS.md の例です。見出しと箇条書きで書いています。

Markdown
## Repository expectations

- Run `npm run lint` before opening a pull request.
- Document public utilities in `docs/` when you change behavior.

1 つめは「プルリクエストを出す前に npm run lint を実行する」、2 つめは「動きを変えたら、共通で使う関数の説明を docs/ に書く」という決まりです。

家計簿のフォルダなら、たとえば次のように日本語で書き足せます。

Markdown
## 作業のきまり

- 変更したら `python3 kakeibo.py` を実行して、費目ごとの合計を確かめる
- 返事は日本語で書く

AGENTS.md は、ふつう会話を始めるときに 1 回だけ読まれます。書き足したあとは、Codex を起動し直してから作業を頼みます。

すべてのプロジェクトに効く AGENTS.md

どのプロジェクトでも守ってほしいことは、Codex のホームのフォルダ(既定は ~/.codex)の AGENTS.md に書きます。フォルダが無いときは、先に作ります。

ターミナル
mkdir -p ~/.codex

~/.codex/AGENTS.md の公式の例は次のとおりです。JavaScript のファイルを変えたら npm test を実行する、依存パッケージを入れるときは pnpm を使う、本番用の依存を足す前に確認する、という 3 つの決まりです。

Markdown
## Working agreements

- Always run `npm test` after modifying JavaScript files.
- Prefer `pnpm` when installing dependencies.
- Ask for confirmation before adding new production dependencies.

編集部の撮影では、/init のあとで「日本語で書いてください」と頼み直しました。どのプロジェクトでも日本語の返事がほしいときは、その決まりを全体の AGENTS.md に書いておく方法があります。

読み込まれたかを確かめる

/status を実行すると、今の会話で読み込んだ AGENTS.md が「Agents.md」の行に表示されます。編集部の環境では、Codex を起動し直したあとの /status に、①のように「AGENTS.md」と表示されました。

/status の画面で、Permissions の下の Agents.md: の行に AGENTS.md と表示されている
/status の画面。① 読み込んだ AGENTS.md撮影・作図: 編集部

公式のドキュメントでは、Codex に「今の指示をまとめて」と頼んで確かめる方法も紹介しています。

ターミナル
codex --ask-for-approval never "Summarize the current instructions."

読み込まれていないときは、次のことを確かめます。

考えられる原因 確かめること
ファイルが空 中身を書く(空のファイルは飛ばされる)
別に AGENTS.override.md がある override のファイルを探す(同じフォルダの AGENTS.md より先に使われる)
Codex のホームの場所が違う echo $CODEX_HOME で確かめる
フォルダを信頼していない フォルダを信頼する
ほかの名前のファイルも指示として読ませる

設定ファイル ~/.codex/config.toml に書くと、AGENTS.md が無いフォルダで、ほかの名前のファイルを読ませられます。公式の例です。

TOML
project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]
project_doc_max_bytes = 65536

この場合は、各フォルダで AGENTS.override.md → AGENTS.md → TEAM_GUIDE.md → .agents.md の順に探します。project_doc_max_bytes は、読み込む量の上限(バイト)です。

次の回では、Codex のよく使うコマンドと、設定ファイル config.toml の書き方を説明します。

参考にした公式の情報

XFacebookはてブLINE

この記事は、ハック!でAI編集部が AI を使って執筆しました。画面の画像は、編集部の検証環境で実際に操作して撮影したものです(引用の画像は出典を記載しています)。内容の誤りはお問い合わせからお知らせください。

連載

Codex 入門
全 8 回の目次
  1. 1Codex とは? CLI・IDE 拡張・クラウドの違い
  2. 2Codex CLI をインストールしてサインインする
  3. 3Codex に最初の依頼をする(エラーの原因を調べて直す)
  4. 4Codex の権限の設定(/permissions)と確認の画面
  5. 5AGENTS.md で Codex にルールを伝える(/init)(この記事)
  6. 6Codex のよく使うコマンドと設定(config.toml)
  7. 7codex exec で作業を自動で実行する(CSV の集計)
  8. 8Codex を VS Code とクラウドで使う