コンテンツにスキップ

Codex のプロンプトレイヤー

Codex は、独自の基本指示、プロジェクトのドキュメント、権限と環境のコンテキスト、 インストール済みのスキルなど、複数のレイヤーからプロンプトを組み立てます。 Codex Set → Prompt では、この構成、各レイヤーが占めるサイズを確認し、不要な部分を オフにできます。

各行には、組み立て順での位置、該当する場合はそのレイヤーを制御する設定キー、 実際に送信された内容のサイズが表示されます。

位置番号が連続していないのは意図的です。この番号は実際の組み立てインデックスであり、 そのうち 2 つは下の 遷移通知 に表示されます。グループごとに 1 から番号を振り直すと、 Codex が実際には使用しない順序を示すことになります。

種類 できること
ここで切り替え可能 実際のスイッチです。config.toml にキーを書き込みます。
機能フラグ制御 実在するレイヤーですが、このページではなく機能設定で変更します。
常に有効 Codex のどこにもオフにするスイッチはありません。
変更時に送信 遷移を通知するため、何かが変わったときだけ表示されます。
拡張レイヤー リストには表示できません。Codex が公開していません。

オフにするスイッチがないレイヤーには、無効なスイッチではなく、スイッチ自体が 表示されません。グレー表示のコントロールでは、機能は存在するものの一時的に 利用できないように見えますが、実際にはその機能が存在しないためです。

レイヤー名をクリックすると、送信されるテキストを確認できます。ダイアログは codex debug prompt-input から内容を読み取るため、説明ではなく実際の送信内容です。

表示する内容がない場合もあり、ダイアログに該当する理由が表示されます。

  • ファイルは存在しますが空です。 ~/.codex/AGENTS.md が 0 バイトのため、 レイヤーには送信する内容がありません。ダイアログにパスが表示されます。
  • 読み取ったターンでは何も送信されませんでした。 レイヤーは変更されたときだけ 再送信されるため、変更のないレイヤーは 1 回分のサンプルには含まれません。
  • 読み取り可能なリストの外で送信されます。 基本プロンプトは別のフィールドで 送信されるため、ここには表示できません。
  • プロンプトを読み取れませんでした。 このマシンで確認処理が失敗しました。

内容は、ダッシュボードがたまたま実行されているディレクトリではなく、グローバルな Codex ホーム(~/.codex)から読み取られます。

+ Add layer を押すと、独自の指示が追加されます。カスタムレイヤーは developer_instructions に組み込まれます。このキーは追加方式なので、Codex 独自の 指示は維持され、ユーザーの指示が加わります。

カスタムレイヤーは、その順序で 1 つのセクションにまとめられるため、カスタムレイヤー 同士で番号が付けられます。組み込みレイヤーの間に挿入されることはありません。

行の矢印を使うか、行内のどこからでも Alt + Up / Alt + Down を押して 並べ替えられます。この順序が組み立て順です。

+ Add layer には、簡潔な出力、編集前の計画、推論の説明、テスト優先、韓国語での 応答という 5 つの開始点があります。どれを選んでも通常のエディターが入力済みの 状態で開き、すべて編集できます。プリセットは開始点にすぎず、保存すると通常の カスタムレイヤーになります。

プリセットは、他者のプロンプトをコピーせず、アプローチを簡潔にまとめるために 独自に作成したテキストです。それぞれに出典が記載されています。

編集中にレイヤー間を移動する

Section titled “編集中にレイヤー間を移動する”

エディターには前へ/次へコントロールと位置インジケーターがあります。移動中も未保存の 編集内容は保持されるため、編集中に 2 つのレイヤーを比較し、入力内容を失わずに 元のレイヤーへ戻れます。

レイヤーの内容が記述どおりに動作しない場合、エディターに警告が表示されます。別の アイデンティティを名乗る、レジストリが定義するツール名を挙げる、展開されない テンプレートのプレースホルダーを使う、または Codex が後から生成する環境情報を 記述する場合が該当します。

これらは警告であり、保存を妨げることはありません。意図的に Codex を上書きするなら、 そのまま実行できます。警告は、それが偶然ではなく意識的な判断になるよう促すだけです。

コミットの帰属表示 の行は、モデルが書いたコミットに Co-authored-by: Codex の トレーラーを、モデルが開いたプルリクエストに Generated with Codex. の行を追加するよう 指示します。

この行にスイッチはなく、[features] にもありません。Codex がアカウントの帰属表示 ポリシーから解決するためです。アカウント側でオフにしてもレイヤーは消えません。Codex は 代わりに 逆の 指示、つまりトレーラーを追加しないという指示を送ります。どちらの場合でも 何かが送信されるため、この行は常に有効ではなく、アカウントで決まるものとして表示されます。

基本プロンプトは唯一オフにできないレイヤーです。基本プロンプトのないモデルは、動作する エージェントではないためです。ただし 置き換える ことはできます。基本指示 の行にある スイッチがその操作を行います。

行を開くとピッカーが表示されます。オプション間の移動は、横方向のスワイプ、左右の矢印キー、 または矢印ボタンで行います。スクリーンリーダーが読み上げるのはこのボタンなので、 タッチパッドがなくてもページを操作できます。

オプション 内容 編集
Codex 自身の基本プロンプト 設定に model_instructions_file が存在しない状態 不可
自分のバリアント 自分で書いたプロンプト。~/.codex/opencodex-prompt-base/ に保存されます
2 つ目のバリアント 同じもので、最大 2 つまで

1 つ目のオプションには編集する対象も Save ボタンもなく、グレー表示のコントロールを 見せる代わりに、ダイアログがその理由を説明します。既定値は、opencodex が保存している Codex のプロンプトのコピーではなく、キーが 存在しない 状態そのものです。そのため 変更するテキストも削除するテキストもなく、これを選ぶと設定から model_instructions_file が再び削除されるだけです。

他のものがすでに基本プロンプトを置き換えている場合

Section titled “他のものがすでに基本プロンプトを置き換えている場合”

model_instructions_file が opencodex 以外の書いたファイルを指している場合、ピッカーは 動作せず、キーが指している場所を表示します。ユーザーや別のツールが設定したキーを、 黙って別の場所に向け直すことはありません。まず自分でその値を消してから、ここで選択して ください。

これは developer_instructions のインポートと同じ考え方です。パネルは見つけた内容を 報告し、判断はユーザーが行います。

切り替えは、このページの他の変更と同じく、新しく開始したセッションに適用されます。

opencodex の外部で記述された指示

Section titled “opencodex の外部で記述された指示”

developer_instructions がすでに存在し、opencodex が書き込んだ値でない場合、パネルは 上書きしません。代わりに、そのテキストをレイヤーとしてインポートする選択肢を 表示します。既存の値が先に表示され、確認するまでは何も書き込まれません。

保存済みのレイヤーと config.toml の値が一致しない場合、パネルはその状態を通知し、 自動で修正せず Repair を提示します。修復手順のうち 2 つはユーザーが書いた テキストを書き換えるため、明示的な操作として残されています。レイヤーファイルが 見つからない場合、修復処理は変更前にバックアップを作成します。

変更は新しく開始したセッションに適用されます。すでに実行中のセッションは、開始時の プロンプト設定を維持します。

このページが読み取るものと、読み取らないもの

Section titled “このページが読み取るものと、読み取らないもの”

opencodex が読み取る設定ファイルは、ユーザーの config.toml 1 つだけです。Codex は 複数のレイヤーから設定を解決するため、ここに表示される値はユーザーのファイルに 書かれた値であり、Codex が最終的に算出する値とは限りません。

これらは Codex の config.toml にあり、opencodex 自体の設定ではありません。

キー 既定値 レイヤー
include_permissions_instructions true 権限
include_collaboration_mode_instructions true コラボレーションモード
include_environment_context true 環境コンテキスト
include_apps_instructions true アプリ
skills.include_instructions true スキル
developer_instructions 未設定 カスタムレイヤーを順に連結した内容
model_instructions_file 未設定 バリアントを選択したときの基本プロンプト

書き込みは行単位の編集なので、コメントと書式はそのまま残り、opencodex が認識しないキーは削除せずそのままにします。

キーが無い場合は false ではなく既定値として読み取ります。パネルはファイルに実際に書かれている値を表示し、未設定であればそう伝えます。