の機能とSandboxを理解する Codex CLI 使ってみてどうだった?AIコーディングエージェント最前線Lunch Talk Codex
自己紹介 ラク 年にdely(現クラシル)株式会社に入社 バックエンドエンジニアとして「クラシル」「クラシルリワード」の バックエンド開発を担当した後、現在はSREとして新規事業のサービ ス立ち上げ AIツールの導入・推進 未踏スーパークリエイター’21 2023 X: @rakutek
9 月に書いたzenn 月中旬時点での基本的な設定などをリリースノートやPRを読んで記事化 9
なぜ今、Codex CLIが話題なのか? 📈 ChatGPTのサブスクリプションで利用可能に の公開(2025年8月7日)以降、ChatGPTの有料プラン加入者は追加料金なし・定額で利用できるように GPT-5 リリース当初はAPI Key前提だった Claude CodeもClaude Pro,Maxで定額で利用できるようになってから人気が爆発していた 🔄 Claude Codeの性能劣化 「挙動が以前と変わった」「性能が落ちた」という声が多数 X上でClaude Code → Codex CLIへの移行を検討する開発者が増加
の一次情報はどこから? Codex CLI のGitHubリポジトリからdocs/リリー スノートを見るのがおすすめ Codexの開発に携わっているOpenAIのエンジニ アのXから... ドキュメントもまだ不十分で最小限のことしか 書かれていない。わからないことがあれば 実装のPRを見にいく DeepWikiに聞く / CodexをCloneして Codex自身に聞く Codex CLI
Codex CLI の基本設定 での利用を前提に話します *Mac
で日本語対応などを設定 に共通プロンプトを記述すると、すべての会話に自動で読み込まれます AGENTS.md ~/.codex/AGENTS.md 日本語で簡潔かつ丁寧に回答してください 💡 AGENTS.mdとは? 多くのAIツールが共通して利用できるCustom Instructionsのファイル名 Codex Cursor GitHub Copilot Gemini CLI Roo Code も早く対応して欲しい… Claude Code
設定ファイル : ~/.codex/config.toml ⚠️ プロジェクトのディレクトリに ファイルを設定する機能はサポートされていません config model = "gpt-5-codex" model_reasoning_effort = "medium" hide_agent_reasoning = true sandbox_mode = "workspace-write" network_access = true notify = ["bash", "-lc", "afplay /System/Library/Sounds/Ping.aiff"] [tools] web_search = true [mcp_servers.context7] command = "npx" args = ["-y", "@upstash/context7-mcp@latest"] [mcp_servers.figma] command = "npx" args = ["-y", "mcp-remote", "http://127.0.0.1:3845/sse"]
便利な機能と設定詳説 実際に使って便利だった機能たち
🏆 GPT-5のreasoningを常に"medium"にする ⭐ このスライドの中で一番おすすめしたい設定! model_reasoning_effort = "medium" # デフォルトのまま推奨
なぜmediumが推奨なのか? 氏(OpenAI Codex) 「動的な推論努力を最大限活用するため」 GPT-5-codexはモデル内部で思考の長さをダイナミ ックに調整 すぐ回答できるものはすぐに、長考が必要なものは 長く思考する highだと簡単なタスクでも不必要に長く考えてしま う Alexander Embiricos https://x.com/embirico/status/1967655551762075861
🔔タスク完了時などに通知を受け取る設定 Notify(Claude Hooks相当)で音を鳴らす でサウンドを鳴らす例 macOS notify = ["bash", "-lc", "afplay /System/Library/Sounds/Ping.aiff"] 💡 長時間実行しがちなCodex特に便利 などと組み合わせればデスクトップ通知などより高度な通知も可能 AppleScript
🔌 MCP同様にを設定する に対応( Claude Code MCP config.toml に記述) mcp_servers.context7 command = "npx" args = ["-y", "@upstash/context7-mcp@latest"] [mcp_servers.figma] command = "npx" args = ["-y", "mcp-remote", "http://127.0.0.1:3845/sse"] ⚠️ 現時点の制限 通信のみサポート SSEのMCPサーバーは mcp-proxy や mcp-remote などのラッパーが必要 stdio
クライアントの実装 PR #4252: Rust SDK MCP 🎯 変更内容 新しい設定フラグ experimental_use_rmcp_client を追加 公式Rust SDKを使用した新しいMCPクライアントの実装 従来のstdio MCP機能と同等の動作を提供 もうすぐRemote MCPなどにも対応しそう 💡 独自実装のMCPクライアントから公式Rust SDKへの移行が進められている
🔍標準でWeb検索機能が組み込まれており、最新の情報に基づいた回答を生成可能 検索ツールを有効にする Web tools web_search = true デフォルトでは無効なので明示的に有効化が必要 o3-search-mcpなどでも話題になりましたが、OpenAIの作るWeb Searchは品質が良い
💻頻繁に使うプロンプトをカスタムコマンドとして登録 Custom Prompts(スラッシュコマンド) 設定方法 ~/.codex/prompts/ 配下にファイルを配置 ⚠️ 注意: プロジェクト配下の .codex/prompts/ には置けません(今後に期待) 使い方 / を入力するとファイル名が表示され、実行可能
のVSCode拡張 Codex メリット エディタ内で完結 GUI操作での直感的な使用 VS Codeで開いているファイルを参照可能 @ でファイル名を指定しなくてもOK Codex Cloudへのタスクを流せる diffの表示が見やすい!
主要コマンド解説 コマンド Claude Code 相当 /new /clear /mcp /mcp /compact /compact /status /status /review /review 説明 現在のセッションを破棄し、新しいセッションを開始 現在のセッションで有効になっているMCPを表示 長くなった対話履歴をモデルに要約させ、トークンを節約 現在の設定や制限状況を確認 コードレビュー
/status コマンドの詳細 🔧 設定情報 使用中のモデル(例:gpt-5-codex) reasoning_effort設定 ネットワークアクセスの有効/無効 Web検索機能の状態 📊 利用制限の状況 現在の利用量 残りのメッセージ数 リセットまでの時間 プランごとの制限詳細
コマンドについて コマンドを実行すると、以下の つのオプションから選択できる が表示される /review /review 4 TUI 現在の変更(staged、unstaged、untracked files)をレビュー Review a commit - 特定のコミットをレビュー(コミット選択画面が開く) Review uncommitted changes - Review against a base branch - Custom review instructions - ベースブランチとの差分をレビュー(ブランチ選択画面が開く) カスタムレビュー指示を入力
コマンドの実装について レビューのシステムプロンプト /review : https://github.com/openai/codex/blob/main/codex-rs/core/review_prompt.md モデル名"でレビュー用のモデルを指定可能(ドキュメントには記載なし)。デフォルトはGPT- review_model=" 5-codex はlowで固定 /reviewコマンドは親スレッドから独立した新しいスレッドを作成し、コードレビューを実行 親セッションの履歴が含まれない レビューの終了後、親スレッドにはレビュー結果のみが反映される 実装を見る限り現状ではAGENTS.mdなどで設定したinstructionsは反映されていなさそう 🤔 reasoning_effort
Codex CLI のSandbox機能
を安全に実行するためのsandbox Codex CLI sandbox モード のモードは3種類 説明 ファイルシステム全体への読み取り専用アクセスを許可。書き込みやネットワークアクセ read-only スの試行はブロックされる。 workspace-write 現在の作業ディレクトリへの書き込みアクセスを許可。 danger-fullaccess すべての制限を無効化。Dockerコンテナなど、既に隔離された環境での使用を想定。
Sandbox モードの決定 の起動時にバージョンコントロールされているディレクトリであればworkspace-writeモードが選択 バージョンコントロールされていないディレクトリではread-onlyモードが選択 codex の設定はconfig.tomlで設定可能 sandbox sandbox_mode = "workspace-write" sandbox_mode = "danger-full-access" sandbox_mode = "read-only"
の debugコマンドでseatbeltの挙動を試す モードで動作させると、 Codex CLI read-only > test % codex debug seatbelt touch hoge.txt touch: hoge.txt: Operation not permitted # 権限エラー > test % codex debug seatbelt ls ワークスペース内であれば書き込み可能)で動作させると、 –full-auto( > test % codex debug seatbelt --full-auto touch hoge.txt > test % ls hoge.txt # hoge.txtが作成されている
やってみたくなりますよね rm -rf ~ codex-findy % codex debug seatbelt --full-auto rm -rf ~ rm: /Users/raku/.claude.json.backup: Operation not permitted rm: /Users/raku/.config/zed/settings.json: Operation not permitted rm: /Users/raku/.config/zed/conversations: Operation not permitted rm: /Users/raku/.config/zed/prompts: Operation not permitted rm: /Users/raku/.config/zed/themes: Operation not permitted rm: /Users/raku/.config/zed: Operation not permitted rm: /Users/raku/.config/mise/config.toml: Operation not permitted rm: /Users/raku/.config/mise: Operation not permitted rm: /Users/raku/.config/gh/config.yml: Operation not permitted rm: /Users/raku/.config/gh/hosts.yml: Operation not permitted rm: /Users/raku/.config/gh: Operation not permitted ドキドキしましたが、sandboxのおかげでファイルは削除されませんでした👍
まとめ ✅ ChatGPTサブスクで定額利用可能になり導入しやすい ✅ model_reasoning_effort = "medium" おすすめ ✅ Sandboxを活用して安全に実行可能 ✅ Claude Codeからの移行も検討の価値あり 今後も急速な進化が期待される Codex CLIをぜひ試してみてください!
にクラシルオフィスで勉強会を開催します 10/27 イベント詳細・申込はこちら
✊ Thank You