RL RanceLee Tutorials
← Tutorialsへ戻る

Codex CLI: 実践入門

前章ではClaude Codeを紹介しました。この章では、もう一つ同様に強力なターミナルAIコーディングツールであるCodex CLIを扱います。

注記: Codexにはデスクトップアプリ版(GUI)もありますが、それは後の章で扱います。この章ではターミナル版のCodex CLIに焦点を当てます。

ターミナル版のCodex CLIは、Claude Codeと同様に、ターミナル上で動作するAIコーディングアシスタントです。前章でClaude Codeをすでに学んだ方なら、操作ロジックがほぼ同じなので、Codex CLIを非常に簡単に習得できるでしょう。


Codex CLIとは?

一言で言うと

Codex CLI = OpenAIのターミナルAIコーディングアシスタント

Claude Codeと同様に、ターミナル上で動作するAIツールです。自然言語でやりたいことを伝えると、以下のことができます:

  • 新しいプロジェクトの作成
  • コードの作成
  • コードの修正
  • バグの修正
  • コマンドの実行
  • ウェブ検索による最新情報の取得

Codex CLIとClaude Codeの違いは?

項目 Claude Code Codex CLI
開発元 Anthropic (Claude) OpenAI (ChatGPT)
基盤モデル Claudeシリーズ GPTシリーズ (GPT-5-Codex)
インストール方法 npm install npm install
設定ファイル ~/.claude/settings.json ~/.codex/config.toml
メンバーシップ Claude Pro/Max ChatGPT Plus/Pro
対応OS Mac/Linux/Windows Mac/Linux (Windows via WSL)

核心的な違い:基盤モデルの違い。 Claude CodeはClaudeモデルを、Codex CLIはプログラミングに最適化されたOpenAIのGPT-5-Codexモデルを使用します。どちらのツールにも強みがあります。両方をインストールして、タスクに応じて使い分けることをお勧めします。


Codex CLIのインストール方法

前提条件

  1. Node.js: Claude Codeと同様に、Node.js環境が必要です
    • すでに(前章でClaude Codeをインストールした際に)お持ちの場合は、再インストールは不要です
    • ない場合は、https://nodejs.org にアクセスしてLTS版をダウンロードしてください
  2. ネットワーク: OpenAIサービスへのアクセスが必要です(プロキシが必要な場合があります)

インストール手順

ターミナルを開いて実行:

npm install -g @openai/codex

完了するまで待ちます。

インストールの確認:

codex --version

バージョン番号(例:codex-cli 0.98.0)が表示されれば、インストール成功です。

MacユーザーはHomebrewでもインストール可能:

brew install codex

いくつかの利用方法

Claude Codeと同様に、Codex CLIはAI機能にアクセスする複数の方法をサポートしています。

方法1: ChatGPTメンバーシップを購入(最も簡単)

Codex CLIはChatGPTの有料プランに含まれています。

対応メンバーシップの種類:

メンバーシップ 価格 備考
ChatGPT Plus $20/month 利用枠に制限あり
ChatGPT Pro $200/month より多くの利用枠
ChatGPT Business チームプラン 企業向け

設定手順:

  1. ChatGPTメンバーシップを購入したら、ターミナルを開く
  2. codex を実行して起動
  3. 指示に従ってChatGPTアカウントにログイン(ブラウザが開いて認証されます)
  4. ログイン後、使用可能

手動でログインすることもできます:

codex login

方法2: OpenAI APIキーを使用

OpenAI APIキーをお持ちの場合は、直接使用できます:

  1. 環境変数を設定:
export OPENAI_API_KEY="your API Key"
  1. その後 codex を実行

方法3: サードパーティAPIを使用(国内モデル連携)

これは多くの国内ユーザーが最も気にするポイントです!

Claude Codeと同様に、Codex CLIもサードパーティAPIと連携可能で、DeepSeekやVolcengineなどの国内モデルを利用できます。

設定は ~/.codex/config.toml ファイルを編集して行います(詳細は次のセクション)。


国内モデル連携: config.tomlの編集

config.tomlの場所

設定ファイルのパス: ~/.codex/config.toml

  • Mac/Linux: /Users/yourusername/.codex/config.toml
  • Windows (WSL): ~/.codex/config.toml

ヒント: このファイルが存在しない場合は、まず codex を一度実行してください。自動的に .codex フォルダが作成されます。その後、手動で config.toml ファイルを作成できます。

基本設定構造

config.tomlの設定は、いくつかのコア部分に分かれています:

# ===== Basic settings =====
model = "gpt-5.3-codex"              # Model to use
model_provider = "openai"             # Model provider (default openai)
approval_policy = "on-failure"        # Approval policy
sandbox_mode = "workspace-write"      # Sandbox mode

# ===== Custom model providers =====
[model_providers.custom_name]
name = "Display name"
base_url = "API URL"
env_key = "API_KEY environment variable name"
wire_api = "responses"

# ===== Profiles =====
[profiles.profile_name]
model_provider = "custom_name"
model = "model name"

重要: wire_apiは"responses"を使用する必要があります

これはよくある落とし穴です!

Codex CLIは2つのAPIプロトコルをサポートしています:"chat"(従来のChat Completions)と"responses"(新しいResponses API)です。

2026年2月以降、OpenAIは"chat"プロトコルを非推奨とし、完全に"responses"に移行しました。 そのため、サードパーティモデルを設定する際は、wire_api"responses"に設定する必要があります。サードパーティのAPIプロバイダーがResponses API形式をサポートしていない場合、Codexと直接連携することはできません。

幸い、主要なAPIリレープラットフォーム(OpenRouterなど)はすでにResponses APIをサポートしています。

詳細な議論はこちらを参照:https://github.com/openai/codex/discussions/7782

実践: DeepSeekの連携

DeepSeekを例に、設定方法を説明します:

ステップ1: config.tomlを編集

# Default to DeepSeek
model_provider = "deepseek"
model = "deepseek-chat"

# Define DeepSeek provider
[model_providers.deepseek]
name = "DeepSeek"
base_url = "https://api.deepseek.com/v1"
env_key = "DEEPSEEK_API_KEY"
wire_api = "responses"

ステップ2: 環境変数を設定

ターミナルでDeepSeek APIキーを設定:

export DEEPSEEK_API_KEY="your DeepSeek API Key"

永続的にするには、~/.zshrc(Mac)または~/.bashrc(Linux)の末尾に行を追加します:

echo 'export DEEPSEEK_API_KEY="your DeepSeek API Key"' >> ~/.zshrc
source ~/.zshrc

ステップ3: Codexを起動

codex

これでCodexはDeepSeekモデルを使用します。

注記: DeepSeekの公式APIがまだResponses API形式をサポートしておらず、接続に失敗する場合は、Responses APIをサポートするリレープラットフォーム(OpenRouterなど)に切り替え、base_urlをリレープラットフォームのアドレスに変更してください。

実践: Volcengine(Doubao)の連携

model_provider = "volcengine"
model = "doubao-pro-32k"

[model_providers.volcengine]
name = "Volcengine"
base_url = "https://ark.cn-beijing.volces.com/api/v3"
env_key = "VOLCENGINE_API_KEY"
wire_api = "responses"

環境変数の設定も必要:

export VOLCENGINE_API_KEY="your Volcengine API Key"

プロファイルを使用した複数モデルの切り替え

複数のモデルを設定している場合、プロファイルを使用して素早く切り替えられます:

# Default to OpenAI
model_provider = "openai"
model = "gpt-5.3-codex"

# Define DeepSeek provider
[model_providers.deepseek]
name = "DeepSeek"
base_url = "https://api.deepseek.com/v1"
env_key = "DEEPSEEK_API_KEY"
wire_api = "responses"

# Define Volcengine provider
[model_providers.volcengine]
name = "Volcengine"
base_url = "https://ark.cn-beijing.volces.com/api/v3"
env_key = "VOLCENGINE_API_KEY"
wire_api = "responses"

# DeepSeek profile
[profiles.ds]
model_provider = "deepseek"
model = "deepseek-chat"

# Volcengine profile
[profiles.volc]
model_provider = "volcengine"
model = "doubao-pro-32k"

使用時の切り替え:

# Use default OpenAI
codex

# Use DeepSeek
codex --profile ds

# Use Volcengine
codex --profile volc

これで異なるモデルを自由に切り替えられ、非常に便利です!

より簡単な方法: OPENAI_BASE_URL

config.tomlを編集せずに一時的にサードパーティAPIを使用したい場合は、環境変数を直接設定できます:

export OPENAI_BASE_URL="https://api.deepseek.com/v1"
export OPENAI_API_KEY="your DeepSeek API Key"
codex

この方法はより簡単ですが、ターミナルを閉じると無効になります。


Codex CLIの使い方

基本起動

Claude Codeと同じ:

  1. ターミナルを開く
  2. cd でプロジェクトフォルダに移動
  3. codex と入力してEnterキーを押す
cd /path/to/your/project
codex

Codexが全画面のターミナルインターフェースを起動し、要件の入力を開始できます。

3つの操作モード

Codex CLIには「自律度」を制御する3つのモードがあります:

モード コマンド 説明
Suggest codex --suggest 最も保守的:すべての変更に確認が必要
Auto Edit codex --auto-edit 中程度:ファイルの自動編集は行うが、コマンド実行には確認が必要
Full Auto codex --full-auto 最も自由:確認なしですべてを自動実行

初心者はSuggestモード(デフォルト)の使用をお勧めします。各ステップでCodexが何をしているか確認できます。

慣れてきたら、Full Autoモードを使用できます:

codex --full-auto "Run tests and fix all failing cases"

直接タスク指定(非対話モード)

コマンドの後にタスクの説明を直接追加することもできます:

codex "Create a Snake game for me"

これにより、対話インターフェースに入らずに、Codexが直接タスクを実行し始めます。

前回の会話を再開

Claude Codeの--resumeと同様に、Codexも前回のセッションの再開をサポートしています:

codex resume

これにより、中断したところから続行できます。


実践: Codexにスネークゲームを作成してもらう

ステップ1: プロジェクトフォルダを作成

  1. デスクトップに新しいフォルダ(例:codex-demo)を作成
  2. ターミナルでこのフォルダを開く

ステップ2: Codexを起動

codex

ステップ3: 要件を入力

Codexで次のように入力:

Create a Snake game for me with the following requirements:

1. Features:
   - Classic Snake gameplay
   - Control snake movement with arrow keys
   - Snake grows longer when eating food, score increases
   - Game over when hitting wall or itself
   - Start and restart buttons

2. Interface:
   - Clean and beautiful, pixel style
   - Display current score and high score
   - Support dark theme

3. Technical requirements:
   - Use only HTML, CSS, JavaScript
   - All code in a single HTML file
   - Use Canvas for game rendering

Please create this HTML file directly.

Snake game example

ステップ4: Codexが完了するのを待つ

Codexが自動的にHTMLファイルを作成し、すべてのコードを記述します。選択したモードに応じて:

  • Suggestモード: 各ステップで確認を求められます。実行前に確認します
  • Full Autoモード: 直接すべてを完了します

ステップ5: ゲームを開く

生成されたHTMLファイルをダブルクリックして、ブラウザでプレイしましょう!


Codex CLI vs Claude Code: どちらを選ぶべきか?

両方インストールすることをお勧めします。それぞれに強みがあります:

項目 Claude Code Codex CLI
コーディング能力 非常に強力、特に複雑なロジック 非常に強力、プログラミングに最適化されたGPT-5-Codex
中国語理解 非常に良い 非常に良い
ウェブ検索 MCPが必要 内蔵サポート
無料枠 なし なし
最低メンバーシップ Claude Pro $20/month ChatGPT Plus $20/month
国内モデル連携 settings.json経由 config.toml経由
Windowsサポート ネイティブサポート WSLが必要

私の提案:

  • 両方インストールし、タスクに応じて最適なものを選ぶ
  • 簡単なプロジェクト: どちらでも対応可能、好きな方を選ぶ
  • 複雑なプロジェクト: まず一方を試し、結果が良くなければもう一方に切り替える
  • 国内モデルユーザー: 両方ともサードパーティAPI連携をサポート、設定も似ている

核となる考え方は変わりません:コーディング方法を知る必要はなく、要件を説明する方法を知っていれば十分です。


まとめ

今日学んだこと:

  1. Codex CLIとは: OpenAIのターミナルAIコーディングアシスタント、Claude Codeと類似
  2. インストール方法: npm install -g @openai/codex、ワンコマンド
  3. 使い方: Claude Codeと同じ操作ロジック、cdでプロジェクトディレクトリに移動しcodexで起動
  4. 国内モデル連携: ~/.codex/config.tomlを編集し、model_providersを設定
  5. 3つのモード: Suggest(保守的)、Auto Edit(中程度)、Full Auto(完全自動)
  6. プロファイル切り替え: 複数モデルを設定し、--profileパラメータで自由に切り替え

これで、Claude CodeとCodex CLIという2つの強力なAIコーディングツールを手に入れました!