はじめに

OpenAI Codexは、ChatGPTのインターフェースから直接アクセスできるクラウドベースのソフトウェアエンジニアリングエージェントです。本記事では、Codexを初めて使う方向けに、ChatGPTからのアクセス方法からGitHubリポジトリの接続、タスクの実行、そして最初のプルリクエスト作成までの基本的な操作フローを解説します。

この記事を読み終える頃には、Codexに簡単なタスクを委任し、その結果をPRとしてGitHubにプッシュできるようになります。

前提条件

Codexを利用するには、以下の条件を満たす必要があります。

要件 詳細
ChatGPTプラン Plus($20/月)、Pro($200/月)、Business、Edu、Enterpriseのいずれか
GitHubアカウント リポジトリとの連携に必要
対象リポジトリ GitHubでホストされているリポジトリ

無料版やGoプランではCodexは利用できません。プランの詳細については、料金プランの記事を参照してください。

ChatGPTからCodexへのアクセス

Codexダッシュボードを開く

Codexへのアクセス方法は非常にシンプルです。

  1. ChatGPT(https://chatgpt.com)にログインする
  2. 左側のサイドバーから「Codex」を選択する
  3. Codexダッシュボードが表示される

初回アクセス時には、GitHubアカウントとの連携を求められます。これはCodexがリポジトリのコードを読み取り、PRを作成するために必要な設定です。

GitHubリポジトリの接続設定

GitHubとの連携は以下の手順で行います。

flowchart TD
    A[Codexダッシュボードを開く] --> B[GitHubアカウント連携をクリック]
    B --> C[GitHubの認証画面でログイン]
    C --> D[アクセス権限を確認して承認]
    D --> E[連携するリポジトリを選択]
    E --> F[接続完了]

Step 1: GitHubアカウント連携

「Connect GitHub」ボタンをクリックすると、GitHubの認証画面にリダイレクトされます。

Step 2: アクセス権限の確認

Codexは以下の権限をリクエストします。

  • リポジトリの読み取り(コードの取得)
  • プルリクエストの作成
  • ブランチの作成

これらの権限は、Codexがタスクを実行し、結果をPRとして提出するために必要です。

Step 3: リポジトリの選択

連携するリポジトリを選択します。すべてのリポジトリに対するアクセス権を付与することも、特定のリポジトリのみを選択することもできます。セキュリティの観点から、必要なリポジトリのみを選択することをおすすめします。

環境(Environment)のセットアップ

GitHubとの連携が完了したら、Codexが作業する環境を設定します。

環境とは

環境(Environment)は、Codexがタスクを実行するためのクラウドサンドボックスです。各環境は以下の要素で構成されます。

要素 説明
リポジトリ 作業対象のGitHubリポジトリ
ブランチ 作業のベースとなるブランチ
セットアップスクリプト 依存関係のインストールなどの初期化処理
シークレット APIキーなどの機密情報(オプション)

新しい環境の作成手順

  1. Codexダッシュボードで「New Environment」をクリック
  2. 連携済みのリポジトリから作業対象を選択
  3. ベースブランチを選択(通常はmainまたはdevelop
  4. セットアップスクリプトを設定(オプション)

セットアップスクリプトの例

Node.jsプロジェクトの場合、以下のようなセットアップスクリプトを設定できます。

1
2
npm install
npm run build

Codexは、yarn、pnpm、npm、go mod、gradle、pip、poetry、uv、cargoなどの一般的なパッケージマネージャーを自動的に検出し、標準的なインストールコマンドを実行します。多くの場合、手動でセットアップスクリプトを設定する必要はありません。

「コード」と「質問する」の使い分け

Codexには2つの主要な操作モードがあります。タスクの性質に応じて適切なモードを選択することで、より効率的に作業を進められます。

「コード」モード

「コード」ボタンをクリックすると、Codexにコーディングタスクを依頼できます。このモードでは、Codexは以下のような作業を自律的に実行します。

  • 新機能の実装
  • バグの修正
  • リファクタリング
  • テストの追加
  • ドキュメントの更新

使用例

ユーザー認証機能にパスワードリセット機能を追加してください。
メールでリセットリンクを送信し、24時間で有効期限が切れるようにしてください。

「コード」モードでタスクを実行すると、Codexはクラウドサンドボックス内で以下のプロセスを実行します。

  1. コードベース全体を読み込んで理解
  2. 問題を分析し、解決策を計画
  3. ファイルを編集してコードを実装
  4. テストを実行して結果を検証
  5. 失敗した場合は修正を繰り返す
  6. 最終的な変更をコミットとしてまとめる

「質問する」モード

「質問する」ボタンをクリックすると、Codexにコードベースに関する質問ができます。このモードでは、Codexはコードを変更せずに情報を提供します。

  • コードの説明
  • アーキテクチャの解説
  • 依存関係の調査
  • 実装方針の相談

使用例

認証モジュールはどのように動作していますか?
リクエストの流れと、各モジュールの役割を説明してください。

モード選択の判断基準

flowchart TD
    A[タスクの種類を判断] --> B{コードの変更が必要?}
    B -->|はい| C[「コード」モードを選択]
    B -->|いいえ| D{情報収集が目的?}
    D -->|はい| E[「質問する」モードを選択]
    D -->|いいえ| F[タスクを明確化して再検討]
    C --> G[タスク実行]
    E --> H[回答を確認]
状況 推奨モード
新機能を追加したい コード
バグを修正したい コード
テストを書きたい コード
コードの動作を理解したい 質問する
実装方針を相談したい 質問する
依存関係を調べたい 質問する

タスクの実行とリアルタイム進捗監視

タスクの作成

「コード」モードでタスクを作成する際は、以下のポイントを押さえると効果的です。

良いタスク記述の例

バグ: 設定画面で「保存」をクリックしても、変更が保存されないことがある

再現手順:
1) npm run dev でアプリを起動
2) /settings に移動
3) 「通知を有効にする」をトグル
4) 保存をクリック
5) ページをリロードするとトグルが元に戻っている

制約:
- APIの形式は変更しない
- 最小限の修正に留める
- 可能であれば回帰テストを追加する

タスク記述のベストプラクティス

項目 説明
具体的な問題/目標 何を達成したいのかを明確に
再現手順 バグの場合は具体的な再現ステップ
制約条件 変更してはいけない部分、守るべきルール
検証方法 どうやって成功を判断するか

リアルタイム進捗監視

タスクを開始すると、Codexの作業状況をリアルタイムで監視できます。

進捗画面の構成

flowchart LR
    subgraph "進捗監視画面"
        A[ステータスインジケーター]
        B[実行中のアクション]
        C[ターミナルログ]
        D[変更されたファイル]
    end

ステータスの種類

ステータス 意味
Starting 環境のセットアップ中
Reading コードベースの読み込み中
Thinking 解決策の検討中
Editing ファイルの編集中
Testing テストの実行中
Completed タスク完了

タスクの複雑さに応じて、完了までに1〜30分程度かかります。シンプルなバグ修正であれば数分で完了しますが、大規模な機能追加には時間がかかることがあります。

タスクのキャンセルと再開

タスクの実行中に問題が発生した場合、いつでもキャンセルできます。

  • キャンセル: 「Cancel」ボタンをクリックすると、現在のタスクを中止
  • 再開: キャンセル後、プロンプトを修正して再度実行可能

タスク完了後のレビュー

タスクが完了すると、Codexは以下の情報を提供します。

変更内容の確認

コードDiff

変更されたファイルの差分(diff)が表示されます。追加された行は緑、削除された行は赤でハイライトされます。

ターミナルログ

Codexが実行したコマンドとその出力が時系列で表示されます。テストの実行結果やエラーメッセージもここで確認できます。

引用(Citations)

Codexは、変更の根拠となったファイルやテスト結果への参照を提供します。これにより、なぜその変更が行われたのかを追跡できます。

フォローアップの依頼

変更内容を確認した後、追加の修正が必要な場合はフォローアップを依頼できます。

テストを追加してください。特にエッジケースとして、
空の入力値と極端に長い文字列のケースをカバーしてください。

フォローアップは同じスレッド内で実行されるため、前のコンテキストが維持されます。

最初のPRを作成する

タスクの結果に満足したら、プルリクエストを作成しましょう。

PRの作成手順

flowchart TD
    A[タスク完了] --> B[変更内容をレビュー]
    B --> C{修正が必要?}
    C -->|はい| D[フォローアップを依頼]
    D --> B
    C -->|いいえ| E[「Create PR」をクリック]
    E --> F[PRタイトルと説明を確認]
    F --> G[PRを作成]
    G --> H[GitHubでPRを確認]

Step 1: 「Create PR」ボタンをクリック

タスク完了画面の下部にある「Create PR」ボタンをクリックします。

Step 2: PRの詳細を確認

  • ブランチ名: Codexが自動生成(例: codex/add-password-reset-feature
  • PRタイトル: タスクの内容に基づいて自動生成
  • PR説明: 変更内容のサマリーが自動生成

Step 3: PRを作成

内容を確認し、必要に応じて編集した後、「Create Pull Request」をクリックします。

作成されたPRの確認

PRが作成されると、GitHubのリポジトリに新しいプルリクエストが表示されます。

PR画面で確認できる内容

項目 説明
Files changed 変更されたファイルの一覧とdiff
Commits Codexによるコミットの履歴
Checks CI/CDパイプラインの実行結果

通常のPRと同様に、レビュー、コメント、マージを行えます。

ローカルへの変更の取り込み

PRを作成せずに、変更をローカル環境に直接取り込むことも可能です。

1
2
3
4
5
6
7
8
# Codexが作成したブランチをフェッチ
git fetch origin

# ブランチをチェックアウト
git checkout codex/add-password-reset-feature

# または、パッチをダウンロードして適用
git apply codex-changes.patch

実践例: 最初のタスクを実行してみよう

ここでは、実際にCodexを使って簡単なタスクを実行する例を紹介します。

シナリオ: READMEにバッジを追加

プロジェクトのREADME.mdにCI/CDステータスバッジを追加するタスクを実行します。

Step 1: 環境を選択

Codexダッシュボードで対象のリポジトリと環境を選択します。

Step 2: タスクを入力

「コード」モードで以下のプロンプトを入力します。

README.mdの先頭に以下のバッジを追加してください:
- GitHub Actionsのビルドステータスバッジ
- ライセンスバッジ
- Node.jsのバージョンバッジ

既存のフォーマットに合わせて、見栄えよく配置してください。

Step 3: 進捗を監視

Codexがコードベースを読み込み、README.mdを編集する様子をリアルタイムで確認します。

Step 4: 結果をレビュー

1
2
3
4
5
6
7
8
<!-- Codexによる変更例 -->
# プロジェクト名

[![Build Status](https://github.com/username/repo/workflows/CI/badge.svg)](https://github.com/username/repo/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)

プロジェクトの説明...

Step 5: PRを作成

変更内容に問題がなければ、「Create PR」をクリックしてプルリクエストを作成します。

トラブルシューティング

よくある問題と解決策

GitHub連携が失敗する

  • GitHubの認証トークンが期限切れの可能性があります
  • Codex設定画面からGitHub連携を解除し、再度連携してください

タスクが長時間完了しない

  • 複雑なタスクは30分以上かかることがあります
  • タスクをより小さな単位に分割することを検討してください

テストが失敗する

  • セットアップスクリプトで必要な依存関係がインストールされているか確認
  • 環境変数やシークレットの設定が必要な場合があります

PRの作成に失敗する

  • リポジトリへの書き込み権限があることを確認
  • ブランチ保護ルールが設定されている場合、それに従った設定が必要です

まとめ

本記事では、OpenAI Codexの基本操作について解説しました。

学んだこと

  • ChatGPTサイドバーからCodexにアクセスする方法
  • GitHubリポジトリとの接続設定
  • 「コード」と「質問する」モードの使い分け
  • タスク実行とリアルタイム進捗監視
  • PRの作成方法

Codexは、明確な指示と適切なコンテキストを与えることで、その能力を最大限に発揮します。最初は簡単なタスクから始めて、徐々に複雑なタスクに挑戦していくことをおすすめします。

次のステップとして、複数タスクの並列実行やAGENTS.mdによるCodexの最適化について学ぶと、より効率的な開発ワークフローを構築できます。

参考リンク