RL RanceLee Tutorials
← Tutorialsへ戻る

Codex App:ターミナルとIDEの間

この章では、OpenAIのデスクトップアプリ「Codex」について解説します。Codex CLI(ターミナル)とCursor / VS Code(IDE)の中間に位置するツールです。

ターミナルでCodex CLIを使ったことがあるかもしれません。強力ですが、テキストのみのインターフェースは初心者には優しくありません。一方、CursorやVS CodeのようなIDEは機能が多すぎて、コードパネルだらけの画面に圧倒されることもあります。

Codex APPは、ターミナルとIDEの中間的な存在です。 ターミナルと比べて視覚的要素が追加され、IDEと比べて複雑なコードの詳細が削ぎ落とされています。


Codex APPとは?

一言で言えば:Codex APP = Codex CLIのGUI版です。

同じCodexですが、「シェル」が異なります。CLIはターミナルで入力して操作するのに対し、APPはデスクトップウィンドウでクリックして操作します。内部的な機能は同一で、設定ファイル ~/.codex/config.toml も共有します。

現在の制限事項:

  • macOS(Apple Silicon) のみ対応 – M1以降のMacが対象
  • Windows版とLinux版は開発中

ダウンロード: OpenAIのWebサイトからDMGインストーラーを入手し、直接インストールします。

ログイン方法:

ログイン方法 説明
ChatGPTアカウント Plus/Pro/Business/Enterprise/Eduのサブスクリプションが必要。クラウドスレッドやモデル切り替えなど全機能を利用可能。
APIキー 機能が制限される。クラウドスレッドは利用不可。モデルは手動で config.toml に指定する必要あり。

インターフェースの機能

現在Codex APPに日本語インターフェースはありません。そのため、各機能の日本語訳と対応するボタンの場所を説明します。

新規スレッド

新しいAIタスクの会話を作成します。作成時に3つのモードを選択できます:

  • Local – プロジェクトフォルダ内で直接作業
  • Worktree – メインブランチに影響を与えず、隔離されたGit Worktree内で作業
  • Cloud – リモートクラウド環境で実行(ChatGPTアカウントログインが必要)

初心者はLocalモードから始めるのがおすすめです – 最もシンプルでわかりやすいです。

スキル

Codex CLIと同じスキルシステムです。ここで利用可能なすべてのスキルを表示・管理し、会話内で /スキル名 と入力して呼び出すことができます。

スキルはAPPとCLIで共有されます – CLIで作成したスキルはAPPでもすぐに利用できます。

自動化

この機能はAPPのみで、CLIにはありません。

AIに目覚まし時計をセットするイメージです。

「毎朝9時にこのタスクを実行して」とAIに指示すると、スケジュールに従って実行され、結果が受信箱に届いて確認できます。

仕組み:

  1. 実行頻度を設定(例:毎日、毎週)
  2. 指示を書く(AIに何をするか伝える)
  3. オプションでスキルをバインド($スキル名 構文を使用)
  4. AIが時間通りに実行し、結果は確認キューに入る

よくある使用例:

  • 最近のコミットを毎日スキャンしてバグをチェック
  • 週次のコード変更レポート
  • 依存関係のセキュリティ脆弱性を定期的にチェック
  • CI失敗の原因を自動要約

注意: 自動化はローカルで実行されるため、APPを開いたままにする必要があります。Gitプロジェクトの場合、各自動化は独立したWorktreeで実行されるため、現在の作業に干渉しません。

設定

ここで設定できる項目:

  • モデル選択 – ChatGPTアカウントユーザーはインターフェース上で直接モデルを切り替え可能
  • 承認ポリシー – AIが自動で行えることと、手動確認が必要なことの範囲を制御
  • サンドボックス設定 – AIの権限を制限(読み取り専用 / ワークスペース書き込み / フルアクセス)

これらの設定はCLIが使用する config.toml と共有されるため、どちらかで変更すると他方にも反映されます。

パーソナライゼーション

AIの「性格」を選択:

オプション 効果
Friendly AIの返信がより親しみやすく詳細になる
Pragmatic AIの返信がより簡潔で要点を押さえたものになる
None 性格設定なし

カスタム指示 も追加できます。例えば「日本語で返信して」「コードのコメントは英語で」など。これらの指示は AGENTS.md ファイルに書き込まれます。

MCPサーバー

前述のMCP設定と同じです。APP、CLI、IDEプラグインはすべて同じMCP設定を共有します。CLIで設定したMCPサーバーはAPPでも自動的に利用可能です。

Git

CLIと比較したAPPの大きなハイライトです。視覚的なGitツールが組み込まれています:

  • 差分ビューア – コード変更をグラフィカルに表示し、インラインコメントを追加可能
  • ステージ / 元に戻す – コードブロックやファイル単位で選択的にステージ
  • コミット / プッシュ – APP内で直接コミットとプッシュを実行
  • PR作成 – ワンクリックでPull Requestを作成

CLIではこれらすべてをコマンドラインで操作する必要がありますが、APPではクリックするだけです。 WorktreeやGit統合の概念を完全に理解していなくても大丈夫。ざっくりと把握しておいてください。

環境

コードの実行環境を設定します。ローカル環境やクラウド環境のセットアップ、プロジェクトの依存関係のインストールなどが行えます。

Worktree

Git Worktreeの視覚的管理。簡単に言うと、複数のAIタスクが互いに干渉するのを防ぎます。

例えば、バグ修正、新機能の作成、コードリファクタリングの3つを同時にAIに依頼したとします。すべて同じディレクトリで作業すると、ファイルの変更が競合します。Worktreeは各タスクに独立した作業コピーを作成するため、並行して作業しても干渉しません。


スレッドとプロジェクト – コンテキストを理解する

この章全体で最も重要な部分です。よく読んでください。

2つの基本概念

プロジェクト = あなたのコードリポジトリまたはフォルダ。

プロジェクトは作業台と考えてください。そのプロジェクトに関するすべての作業をこの作業台で行います。

スレッド = プロジェクト内の特定のタスク。

各スレッドは作業台のタスクカードのようなものです。バグ修正は1枚のカード、ドキュメント作成は別のカードです。

1つのプロジェクトに多数のスレッドを持つことができますが、各スレッドは1つのプロジェクトにのみ属します。

なぜこれが重要なのか

ここで重要な概念を紹介します:コンテキスト(文脈)

コンテキストとは何か?

WeChatで友達とチャットしている場面を想像してください。「あの件、どうなった?」と言うと、友達は何のことを言っているかわかります。なぜなら、以前その話をしたからです。その「以前の会話」がコンテキストです。

AIも同じです。会話の中で発言したことや送信したファイルはすべてAIに記憶され、その後の質問を理解するために使われます。AIが「覚えている」こと、それがコンテキストです。

コンテキストウィンドウ = AIの記憶容量

しかし、AIの記憶には限界があります。記憶できる上限があり、それをコンテキストウィンドウと呼びます。

現在Codexはデフォルトで GPT-5.3-Codex を使用し、コンテキストウィンドウは約 40万トークン です。ざっくり言うと、約30万文字の会話に相当します。

多いように思えますが、すべてのタスクを同じ会話で行うとすぐにいっぱいになります。

スレッド分離の利点

異なるスレッドの会話は互いに分離されており、干渉しません。

次のように考えてください:3つのタスクをすべて同じ紙に書き込むと、バグ修正のメモ、ドキュメントのメモ、要件議論がごちゃ混ぜになり、あなたもAIも混乱します。

3つのスレッドに分割すれば、すっきりします:

  • スレッド1:バグ修正専用 – AIはバグ関連の会話だけを記憶
  • スレッド2:ドキュメント専用 – AIはドキュメント関連の会話だけを記憶
  • スレッド3:要件議論専用 – AIは要件関連の会話だけを記憶

これは特にナレッジベース系プロジェクトで重要です。 例えばObsidianでノートを管理している場合、情報検索用のスレッドと文書整理用のスレッドを分ければ、相互汚染が起きません。文書整理中に研究セッションのコンテキストが突然混ざることはありません。

例えば、下のObsidianノートブックのスクリーンショットのように、同じリポジトリでも異なるタスクに異なるスレッドを使っています。これはWeb版ChatGPTの会話概念と同じだと考えてください。


Codex APP vs Codex CLI

両者は同じ基盤を共有していますが、どちらを選ぶべきでしょうか?比較表です:

項目 Codex CLI(ターミナル) Codex APP(デスクトップ)
インターフェース テキストのみ グラフィカル
会話管理 resume で履歴を探す必要あり 会話リストが視覚的に表示され、クリックで切り替え
定期タスク なし(cronなどが必要) 組み込みの自動化機能
Git操作 コマンドライン 視覚的差分表示+ワンクリックコミット/PR
モデル切り替え config.toml を編集 有料アカウントはインターフェース上で直接選択可能
体感速度 速く感じる やや遅く感じる(個人の感想)
最適なユーザー ターミナルに慣れている開発者 視覚的な操作を求めるユーザー

主な違い

1. 視覚的な会話管理 – 会話を探すために resume を使う必要なし

CLIでは過去の会話を再開するために codex --resume を使う必要があります。会話が多くなると目的のものを探すのが面倒です。

APPではすべてのスレッドが一目でわかる会話リストが表示され、クリックで切り替えられます。複数のタスクを同時にこなす人にとっては、これだけでも価値があります。

2. 自動化 – APPのみの機能

CLIにはこの機能はありません。CLIで同様のことを実現するには、cronなどのスケジューリングツールを自分で設定する必要があり、ハードルが高いです。APPでは直接設定でき、はるかに便利です。

3. モデル切り替えが容易

有料ChatGPTアカウントでログインすれば、設定ファイルを編集することなくAPPのインターフェース上で直接モデルを切り替えられます。

私のようにAPIキーを使っている場合: APPとCLIは同じ ~/.codex/config.toml を共有します。tomlファイルにモデルを指定すれば、APPが自動的に読み取ります。例:

model = "GPT-5.3-Codex"

4. 位置づけ:ターミナルとIDEの中間

ターミナルと比較すると、APPは視覚的な会話管理、Git操作、定期タスクを追加しています。

IDE(Cursorなど)と比較すると、APPはごちゃごちゃしたコードパネルや複雑なエディタ機能を取り除き、AI会話とプロジェクト管理に集中しています。

ターミナルは難しすぎる、IDEは複雑すぎると感じるなら、APPは「ちょうどいい」ツールかもしれません。


個人的な感想

正直なところ:私はまだターミナルの方が好きです。

気のせいかもしれませんが、APPはCLIより若干遅く感じます。グラフィカルインターフェースのオーバーヘッドかもしれませんし、単なる心理的なものかもしれません。確かなことはわかりません。

しかし、APPの方が初心者にとっては明らかに優しいことは認めざるを得ません。特に会話管理とGit操作では、視覚的な体験はターミナルでコマンドを打つよりはるかに快適です。

私のアドバイス:両方試して、自分に合うツールを見つけてください。 設定は共有されているので、切り替えにコストはかかりません。


まとめ

今日学んだこと:

  1. Codex APPとは何か – Codex CLIのGUI版。現時点ではmacOS Apple Siliconのみ対応
  2. コア機能 – スレッドによる会話管理、自動化による定期タスク、視覚的なGit統合、Worktreeによる分離
  3. スレッドとプロジェクト – プロジェクトは作業台、スレッドはタスクカード。タスクを分離してコンテキスト汚染を防ぐ
  4. CLIとの違い – 視覚的な会話と自動化が最大の利点だが、体感速度はやや遅い可能性あり
  5. 位置づけ – ターミナルとIDEの中間。視覚的操作を求めるがフルIDEは不要なユーザー向け

重要なポイント:

  • Codex APPとCLIは同じ基盤と設定を共有しているため、どちらを選んでも間違いはない
  • スレッド分離が鍵 – 異なるタスクは別々の会話で行い、コンテキスト汚染を防ぐ
  • 自動化はAPPのキラー機能 – AIに目覚まし時計をセットするイメージ
  • おまけ:APPは音声入力としても使える – ショートカットキーを押しながら話す(次のセクションを参照)

おまけ:Codex APPを音声入力として使う

最近、Codex APPに音声機能が追加されました。素晴らしいのは、アプリ内だけでなく外部でも動作することです。グローバルショートカットキーを押しながら話すだけで使えます。

最新版のCodex APPにアップデートし、サブスクリプションアカウントでログインすれば使用可能です。Codex APPを常時起動している人にとっては、実質的に無料の音声入力方法です。

OpenAIは以前、オープンソースの音声認識モデルWhisperを公開し、音声認識のハードルを大幅に下げ、その後も改良を続けています。その基盤の上に構築されたCodex APPの音声機能が非常に優れているのは当然のことです。

使い方は簡単:アプリを開き、一般設定でショートカットキーを割り当てます(私は右Optionキーを使っています)。テキストを入力したいときに、そのショートカットキーを押しながら話すだけです。

キーを押している間、デスクトップの下部に小さなウィンドウが表示されます(ショートカットキーの競合のためスクリーンショットは撮れません)。

実際に使ってみると、高速で正確です。小さな欠点が2つ:

  1. 辞書機能がない – 辞書があれば、よく使う単語をカスタム設定して認識精度をさらに向上できる
  2. キーを押し続けて録音する必要がある – 他の製品のようにトグル方式(一度押すと開始、もう一度押すと停止)にはまだ対応していない

これはまったく新しい機能なので、これらの改善は将来のアップデートで実装されるでしょう。

月額料金を払っても構わないのであれば、他の人気音声入力方法としてはWispr FlowやTypelessがあります。