OpenAI Codex 基本的な使い方

AI

Codexを利用することで単なるコード補完の枠を超えて、設計・実装・テスト・レビューまでを一貫して支援してもらうことができます。
今回はChatGPTからCodexを利用するための最初の一歩の手順をお伝えしたいと思います。
(Codex CLIでの利用方法は別の機会に記事にしようかと思います)

何が必要?

✅️ ChatGPTアカウント
Codexを利用するにはChatGPTのPlusプラン以上が必要になります。
そのため、無料プランの場合は使用できません。

✅️ GitHubアカウント
ソースコードの管理用にGitHubアカウントが必要になります。
こちらは無料プランでかまいません。

大まかな仕組み

Codexへのインプットとしては、直接入力、ファイルを添付、GitHubリポジトリ読込があります。
プロンプトに指示を入力することで、コードの作成や修正などを行ってくれます。
ただし、これはあくまでCodex上で提示してくれるのみとなっています。
(Codexから直接、GitHubへの反映は行いません)
反映したい場合はGitHubへプルリクエストを送り、承認することで反映される手順となります。

実際の流れ

それでは次に、実際の流れを見ていこうかと思います。
GitHubにリポジトリだけ作成しておき、そのリポジトリに対してCodexで生成したソースをコミットする形になります。

先ず最初に、ブラウザのChatGPTのメニューから「Codex」をクリックすることで、Codexが表示されます。

GitHub側ではCodexで使用するリポジトリを作成しておきます。

プロンプトエリアにある「GitHubに接続する」をクリックします。

ダイアログが表示されるので「GitHubに進む」をクリックします。

GitHubのアクセス確認を行います。
「Verify via email」をクリックしてGitHubアカウントへメールを送り、認証コードを入力します。

Codexに戻ると「GitHubに接続する」が、「環境を選択」に変わっていると思います。
これは、GitHubへの接続は完了したものの、リポジトリが設定されていない状態です。
「環境を選択」をクリックして、プルダウンから「環境を管理する」を選択します。

設定メニューが表示されるので、右側にある「環境を作成する」をクリックします。

GitHubのリポジトリ一覧が表示されるので、最初に作成しておいたリポジトリを選択します。

スクロールして一番右下にある「環境を作成する」をクリックします。

結果画面に切り替わるので、右上の「これを使用する」をクリックします。

プロンプト画面に切り替わり、「環境を選択」となっていたところにリポジトリが設定されます。
これでCodexとGitHubのリポジトリが接続され、Codexから参照できるようになります。

それではプロンプトを入力して行きましょう。
リポジトリには何も無いので、基本的なファイル一式を作成してもらいましょう。

右下に「確認を求める」と「コード」というボタンがあります。これで指示を送るのですが、下記のような違いがあります。
 ☝️ 確認を求める
   対話しながらアイデア出しや方針検討を行い、深堀りして行くためのモード。
   不具合調査やリファクタリング検討などの用途に。
 ☝️ コード
   指示によって実際にコードを修正結果を提示してもらうモード。
   機能追加や不具合修正、リファクタリング実施などの用途に。
今回は結果だけでよいので「コード」を選択します。

実行するとタスクに追加され、バックグランドで処理が継続します。
完了を待たずに、次の指示を与えることも可能です。

タスクをクリックすると実行結果が表示されます。
実行結果には修正ファイル一覧や差分情報が表示されるので、何がどうなるのか一目瞭然ですね。
今はCodexで修正が提示されただけの状態なので、これをGitHubのリポジトリに反映させるため「PRを作成する」をクリックしてプルリクエストを送ります。

GitHubのリポジトリを見ると、Pull requestsに追加されているので選択します。

「Merge pull request」をクリックします。

「Confirm merge」をクリックします。

これでリポジトリにCocexから送られた修正内容が反映されました。
ローカルにチェックアウトした環境でも、作成されたファイルが確認できました。

まとめ

最初にGitHubとの接続設定がありましたが、設定は簡単でした。
プロンプト入力からソース一式作成まで、ほんの数分で完了していまいます。
ChatGPTでも同様のことはできますが、今後このソースを拡張していくうえでCodexは非常に強力な存在です。
これにより機能追加やバグ修正、テストやリファクタリングなど、常にAIを活用できる環境が整いました。
今後はこの最小限の環境をもとに、Codexをフル活用してみたいと思います。

コメント

タイトルとURLをコピーしました