OpenAI Codex 詳解:ターミナル型コーディングエージェントの構造と安全な使い方
Rust ワークスペース、ツール実行ループ、app-server プロトコル、OS ごとのサンドボックス、承認設定、導入方法と運用上の限界を公式資料から整理する。
位置付けと現在の注目度
Codex CLI はローカルのターミナルで動くコーディングエージェントである。リポジトリを読み、ファイルを編集し、コマンドを実行して、その結果から次の作業を決める。取得時点の GitHub は 100,198 Star、直近 30 日の既定ブランチは約 755 コミット、最新リリースは rust-v0.144.6 だった。重要なのは、モデル応答、実ツール、OS 権限が一つの開発ループに入る点だ。
主な用途と機能
リポジトリの把握、不具合修正、テスト追加、複数ファイルのリファクタリング、ビルド障害の調査、反復スクリプトに使える。対話モードでは計画と差分を途中で確認でき、非対話実行は範囲を限定した自動処理に向く。app-server は他の画面に共通プロトコルを提供し、MCP は外部ツールを追加する。ツールを増やすほど、扱うデータと権限の範囲も広がる。
アーキテクチャと実行モデル
主要部分は Rust ワークスペースで構成される。codex-core がセッション、モデル応答、ツール調整のロジックを担当し、CLI と TUI がターミナルの入口になる。protocol crate は core、TUI、app-server クライアントで共有する型を定義する。処理は、文脈の読取、モデル要求、ツール呼出、結果回収、次の判断を繰り返し、完了、中断、承認拒否、復旧不能なエラーで止まる。
技術構成とシステム境界
中核は Rust で実装され、実行隔離は OS ごとに異なる。macOS は sandbox-exec を通じて Seatbelt を使い、Linux は bubblewrap を優先しつつ互換経路を持つ。Windows では制限付きトークンとプラットフォームのサンドボックスを使う。プロトコルと UI の分離により、ターミナル、デスクトップ、外部クライアントが同じ中核を利用できる一方、設定、権限、バージョン互換をまとめて管理する必要がある。
最小の導入手順
公式インストーラは macOS と Linux に対応する。`npm install -g @openai/codex` でも導入でき、macOS では `brew install --cask codex` も選べる。`codex` を起動し、ChatGPT でログインするか、認証文書に従って API キーを設定する。本番リポジトリを開く前に、作業ディレクトリ、サンドボックス、ネットワーク、承認方針を確認し、テスト付きの小さな課題で編集と復旧の挙動を確かめたい。
利点、制約、運用コスト
普段の作業ディレクトリで動くため、ソース、コマンド出力、テスト失敗を同じ文脈で扱える。制約も具体的だ。大規模リポジトリは文脈コストが増え、長い作業は目的からずれやすい。コマンドは実ファイルや資格情報に触れ、モデルの出力は誤ることがある。課題を狭く区切り、小さくコミットし、lint、型検査、テスト、人による差分確認を完了条件にするべきだ。