Codex: Codex 設定とカスタマイズ

最終更新:2026-08-31

Codex は豊富な設定オプションを提供しています — 基本的な API 設定から高度な承認ポリシーやサンドボックス設定まで、すべてニーズに合わせてカスタマイズできます。

📋 前提条件: Codex がインストールされ、基本的な使用が完了していること

1. 学ぶ内容


2. 設定ファイルの場所

設定タイプ パス スコープ
グローバル設定 ~/.codex/config.toml すべてのプロジェクト
認証設定 ~/.codex/auth.json API Key など
プロジェクト設定 .codex/config.toml 現在のプロジェクト
AGENTS.md AGENTS.md プロジェクトルールとコンテキスト

3. グローバル設定 config.toml

(1) 基本設定

TOML
# ~/.codex/config.toml

# モデル設定
model = "gpt-5-codex"

# 承認ポリシー:ask / approve / deny
approval_policy = "ask"

# サンドボックスモード:readonly / workspace-write / full-access
sandbox_mode = "workspace-write"

# コンテキストウィンドウサイズ(トークン)
context_window = 128000

(2) 認証設定 auth.json

JSON
{
  "OPENAI_API_KEY": "sk-your-api-key",
  "OPENAI_BASE_URL": "https://api.openai.com/v1"
}

▶ 例1:Alice の設定

TOML
# Alice のグローバル設定
model = "gpt-5-codex"
approval_policy = "ask"
sandbox_mode = "workspace-write"

# カスタムプロンプトプレフィックス
system_prompt_prefix = """
You are a senior full-stack engineer, proficient in TypeScript and Python.
Code style guidelines:
- Use type annotations
- Functions no longer than 50 lines
- Every function has a docstring
"""

4. 高度な設定

(1) 承認ポリシーの詳細

ポリシー 動作 ユースケース
ask 各機密操作を確認 日常開発(デフォルト)
approve すべての操作を自動承認 信頼された自動化シナリオ
deny すべての機密操作を拒否 読み取り専用レビュー
TOML
# 操作タイプごとの承認設定
[approval]
shell_commands = "ask"          # シェルコマンドは確認が必要
file_writes = "approve"         # ファイル書き込みは自動承認
network_access = "deny"         # ネットワークアクセスを拒否
sensitive_paths = "ask"         # 機密パスは確認が必要

(2) サンドボックス設定

TOML
# サンドボックスモード
[sandbox]
mode = "workspace-write"        # ワークスペース内のみ書き込み許可
allowed_paths = ["src/", "test/"]  # 書き込み可能パスを制限
blocked_paths = [".env", "secrets/"]  # アクセスブロックパス
network = false                 # ネットワークアクセスを拒否

(3) コンテキスト管理

TOML
[context]
auto_compact = true             # コンテキストを自動圧縮
compact_threshold = 0.8         # 80%使用量で圧縮をトリガー
max_file_size = "100KB"         # 単一ファイルの最大読み取りサイズ
include_patterns = ["*.py", "*.ts", "*.js"]  # 含めるファイルパターン
exclude_patterns = ["node_modules/", ".git/"]  # 除外パターン

5. プロジェクトレベルの設定

プロジェクトルートに .codex/config.toml を作成してグローバル設定を上書き:

TOML
# .codex/config.toml(プロジェクトレベル)

# プロジェクト固有のモデル
model = "deepseek-coder"

# プロジェクト固有の承認ポリシー
approval_policy = "approve"

# プロジェクト固有のサンドボックス
[sandbox]
allowed_paths = ["src/", "tests/"]
blocked_paths = ["production/", "secrets/"]

▶ 例2:Bob のプロジェクト設定

TOML
# Bob のフロントエンドプロジェクト設定
# .codex/config.toml

model = "gpt-5-codex"
approval_policy = "ask"

[context]
include_patterns = ["*.tsx", "*.ts", "*.css"]
exclude_patterns = ["node_modules/", "dist/", ".next/"]

[sandbox]
allowed_paths = ["src/", "public/", "styles/"]
blocked_paths = [".env.local", ".env.production"]

6. AGENTS.md プロジェクトルール

AGENTS.md はプロジェクトルートに配置されるルールファイルで、Codex が自動的に読み取ります:

MARKDOWN
# AGENTS.md

## プロジェクトルール
- TypeScript の strict モードを使用
- すべての API エンドポイントに入力バリデーションを含める
- テストカバレッジは80%以上
- コミット前に npm run lint を実行

## コードスタイル
- 関数コンポーネントを使用
- 命名:camelCase
- ファイル:kebab-case

## 禁止操作
- .env ファイルを変更しない
- テストファイルを削除しない
- 新しい依存関係をインストールしない(手動確認が必要)

7. 環境変数設定

変数 説明
OPENAI_API_KEY API キー sk-xxx
OPENAI_BASE_URL API エンドポイント https://api.deepseek.com
CODEX_MODEL デフォルトモデル gpt-5-codex
CODEX_SANDBOX サンドボックスモード workspace-write
BASH
# 一時的上書き
CODEX_MODEL=deepseek-coder codex

8. 設定の優先順位

TEXT 📖 参照専用
CLI 引数 > 環境変数 > プロジェクト設定 > グローバル設定 > デフォルト

▶ 例3:実践的な優先順位

BASH
# グローバル設定:model = "gpt-5-codex"
# プロジェクト設定:model = "deepseek-coder"
# 環境変数:CODEX_MODEL="gpt-4o"

# 最終:gpt-4o(環境変数 > プロジェクト設定 > グローバル設定)
CODEX_MODEL="gpt-4o" codex

# CLI 引数が最高優先順位
codex --model o3
# 最終:o3

❓ よくある質問

Q プロジェクト設定とグローバル設定が競合した場合はどうなりますか?
A プロジェクト設定が優先されます。Codex はグローバル設定を先に読み取り、プロジェクト設定で上書きします。
Q AGENTS.md と config.toml の違いは何ですか?
A config.toml は技術的な設定(モデル、サンドボックス、承認ポリシー)であり、AGENTS.md は自然言語のルール(コードスタイル、禁止操作、プロジェクト規約)です。互いに補完し合います。
Q API Key をプロジェクト設定に置くことはできますか?
A 推奨されません。API Key は ~/.codex/auth.json または環境変数に置くべきで、git リポジトリへの漏洩を防ぎます。
Q 現在の有効な設定を確認するにはどうすればよいですか?
A codex --show-config を実行して統合された完全な設定を確認できます。
Q 設定を間違えた場合はどうすればよいですか?
A 設定ファイルを直接編集するか、削除してデフォルトに戻します。Codex は次回の起動時に設定を再読み込みします。

📖 まとめ


📝 練習問題

  1. 基本 (⭐):グローバル設定ファイルを作成し、デフォルトモデルと承認ポリシーを設定する。
  2. 中級 (⭐⭐):プロジェクトにプロジェクトレベルの設定と AGENTS.md を作成し、コードスタイルと禁止操作を定義する。
  3. 上級 (⭐⭐⭐):マルチ環境設定スキームを設計する — 開発には DeepSeek、本番関連タスクには OpenAI — 自動切り替えを実装する。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%