Codex アプリをしばらく使っていると、こんな悩みにぶつかったことがあるかもしれません。新しい会話を始めるたびに同じ基本設定を繰り返したり、思いもよらないシステムコマンドを勝手に実行されてしまったり。
こうした頻発するストレスの根本原因は、Codex に安定した長期記憶がないことです。非効率な繰り返しコミュニケーションを完全に解決するには、Codex にしっかりとした記憶システムを構築する必要があります。
この記事では、AGENTS.md と Memories 機能 を設定して、Codex に持続的な記憶を与え、あなたの意図を真に理解し、効率を向上させる方法を紹介します。
1. AGENTS.md
1. AGENTS.md とは?
AGENTS.md は、Codex が起動するたびに自動的に読み込む、事前に作成されたルール指示書です。
AGENTS.md がないと、Codex は毎回まっさらな状態で始まります。つまり、あなたの作業習慣、プロジェクトの背景、操作を実行する際の境界線を知らないのです。
関連ルールを設定すれば、これらのコンテキストは恒久的に有効になり、同じ問題を何度も説明する必要はなくなります。
2. 設定と使用方法
1️⃣ グローバルレイヤー:ローカルコンピュータの ~/.codex/AGENTS.md ディレクトリに保存され、すべてのプロジェクトに適用されます。グローバルな個人設定や一般的なルールの記述に適しています。
Codex アプリでは、パーソナライズ設定ページの「カスタム指示」セクションに該当します。

以下は推奨する基本テンプレートです。上記の場所に直接コピー&ペーストし、必要に応じて継続的に調整してください。
1# AGENTS.md23## 基本動作45- デフォルトでは日本語で回答する。ユーザーが明示的に他の言語を要求した場合を除く。6- 回答は簡潔かつ直接的で、不必要な装飾や繰り返しを避ける。7- タスクの説明が不明瞭な場合は、実行を開始する前に確認を求める。8- ユーザーの意図から外れたニーズを積極的に推測しない。要求されたことだけを行う。910## セーフティ境界1112- デフォルトは読み取り専用。ユーザーから明示的に指示がない限り、ファイルを積極的に変更または削除しない。13- 不可逆的な操作(削除、上書き、外部 API の呼び出しによる書き込みなど)を行う前に、必ず確認を得る。14- キー、トークン、機密認証情報を出力に表示しない。1516## エンジニアリング基準1718- 過剰なエンジニアリングを避ける。タスクに明示的に要求されたか、明らかに必要な変更のみを行い、ソリューションはシンプルに保つ。19- 要求されていない限り、機能の追加、コードのリファクタリング、または追加の最適化を行わない。20- 変更していないコードにコメント、型アノテーション、docstring を追加しない。21- ロジックが一目で理解できない場合にのみコメントを追加する。22- 発生する可能性が低いシナリオに対して、エラーハンドリングやフォールバックロジックを追加しない。23- 一度しか使用されないユーティリティ関数や抽象化レイヤーを作成しない。24- 不要と確認されたコードは直接削除し、コメントで説明を残さない。
2️⃣ プロジェクトレイヤー:プロジェクトディレクトリに保存され、主にプロジェクトのテーマや特性に基づいてルールをカスタマイズするために使用されます。
優れたプロジェクトレベルの AGENTS.md は、通常以下の側面をカバーする必要があります。
- プロジェクトの背景と構造:プロジェクトの内容と、重要なディレクトリの場所。
- 実行方法:プロジェクトの開始、実行、操作方法。
- 標準と制約:従うべき標準と、明確に禁止されている事項。
- 完了基準:タスクが完了したと判断する方法。
3. AGENTS.md のベストプラクティス
基本的な AGENTS.md を設定するのは第一歩に過ぎません。以下の実践的な原則が、記憶システムの上限を決定します。
1️⃣ ルールの階層化、明確な責務
Codex では、AGENTS.md は近接の原則に従います。サブディレクトリ > ルートディレクトリ > グローバル。つまり、現在作業中のディレクトリにあるルールが最も高い優先度を持ちます。
これは、プロジェクトレベルのルールが同じ種類のグローバル設定を直接上書きすることを意味します。すべてのルールが混在していると、優先度の高いローカルルールがグローバルな基本ロジックを簡単に汚染したり破壊したりする可能性があります。
したがって、適切なルール記憶システムは「関心事の分離」の原則に従うべきです。グローバルレイヤーには言語設定、セーフティ境界、基本的な行動習慣などの一般的なルールのみを含め、プロジェクトレイヤーにはビルドコマンド、コード規約、モジュール説明など、そのプロジェクトに固有の仕様を含めます。
両者はそれぞれの責務を果たし、互いに干渉せず、マージされても競合は発生しません。
2️⃣ 基本から始め、必要に応じて反復する
AGENTS.md は一度にすべてを書き上げる必要はありません。最も核となるルールから始めましょう。Codex が同じ間違いを繰り返したときに、直接ルールを確認して更新するように指示します。例えば、
「今、前回と同じ間違いを犯しましたね。理由をまとめて、関連する経験を AGENTS.md に追加してください。」
このようにして、ルールは常に実際の使用上の摩擦から生まれ、AGENTS.md は使用とともに継続的に進化します。
3️⃣ シンプルに保ち、複雑な内容は別途分割する
使用が進むにつれて、AGENTS.md の内容は増加する可能性があります。その場合、すべてを1つのファイルに詰め込む必要はありません。代わりに、特定のトピックに関する内容を独立したファイルに書き、メインファイルで参照します。
例えば、プロジェクトアーキテクチャの説明は ARCHITECTURE.md として別途書き、AGENTS.md には1行の参照を含めるだけにします。
「このプロジェクトのコアアーキテクチャとディレクトリ仕様については、カレントディレクトリの ARCHITECTURE.md ファイルを参照してください。」
2. Memories 機能
関連ルールを積極的に設定する以外にも、Codex はアクティブメモリ機能をサポートしています。これは、設定 - パーソナライズ - メモリ で有効にする必要があります。以下の通りです。

ボタンをオンにすると、Codex は会話から有効な情報や重要な設定を能動的にメモリに要約します。自分の Codex がどのようなメモリを追加したかを確認したい場合は、~/.codex/memory にある Memory.md ファイルを開いて、あなたの Codex が追加したメモリ内容を確認できます。以下は私のものです。

最後に
記憶システムの構築は、時間をかけて進化するプロセスです。信じてください。行動ルールを改善・更新し続け、メモリを蓄積し続ければ、Codex はすぐにあなたを最も理解し、最も使いやすいハードコアな生産性ツールになるでしょう。





