OpenAI Codex を使ってみた

目次

  1. 1. Codex とは
  2. 2. 導入のきっかけ
  3. 3. 感想
    1. 3.1. 第一印象
    2. 3.2. CLI 版を使う
    3. 3.3. 最初につまずいたポイント
  4. 4. 普段の使いどころ
    1. 4.1. 小さいタスクを依頼する
    2. 4.2. リファクタリング
    3. 4.3. 実例
  5. 5. これからの使い方
    1. 5.1. Issue消化
    2. 5.2. Skills への移行
    3. 5.3. まとめ
  6. 6. 余談
mv

ここ半年くらい Codex を使ってこのサイトの改修などをやっています。今日はその感想とか思うところを書いてみようかと思います。

Codex とは

OpenAI が開発したコーディングエージェントです。公式ヘルプによると以下のとおりです。

Codex とは?

Codex は、コードの作成・レビュー・リリースをより速く行えるよう支援する AI コーディングエージェントです。ローカルのツールで一緒に作業することも、クラウド上で完了する作業を任せることもできます。
ChatGPT プランで Codex を使う | OpenAI Help Center

当時は Codex は ChatGPT の有料プランに含まれる形でユーザーへ提供されていました。そのため自分は月$20の Plus プランを契約して今日に至ります。

導入のきっかけ

そろそろ何かしらAIに課金してみようとは思っていました。周りでは Claude に課金しているケースが多かったので、じゃあ自分は ChatGPT に課金してみるかー、ぐらいの軽いノリです。

感想

第一印象

正直どういうツールかわからなかったので、ひとまずはブラウザ上の Codex を使ってみました。ここでは Playwright によるこのサイトのテストコードを書かせてみました。

GitHub と連携してリポジトリを見ながら提案してくれるのは非常によかったですし、AIはリポジトリやアプリをぶっ壊すというような話を当時よく聞いていてこれも同様のイメージで使い始めてみましたが、思ったより余計なことはしないなーという印象でした。

CLI 版を使う

ブラウザ上の Codex を使ったのは本当に最初だけで、以降はほぼCLIツールである Codex CLI を使っていました。

codex-cli

特に何と比べてどうということはないですが、VSCode の統合ターミナル上で AI に指示出しながら作業できるほうがやっぱり楽です。

最初につまずいたポイント

Codex に限らないですが、結局依頼のスコープを広く取りすぎると期待した効果は得られにくいことです。もっと雑に頼んでもどうにかしてくれるかなーと思っていましたが、さすがに望みすぎでした。(たとえば「この画面をいい感じに直して」のような投げ方だとだめでした。まあそりゃそうすね)

ということで、基本はタスクを小さく切りつつ、イメージを具体的に伝えるのは必要ですね。

普段の使いどころ

小さいタスクを依頼する

自分はこのサイトについてそのうちやろうと思っていたことをちょくちょく GitHub の Issue を切っておくようにしています。見た目を変えるとか、小さいバグの修正とかそういうのが多いです。

ほとんどはゴールが具体的に定まっており、Issue に書いておいた内容をそのまま依頼するとほぼ期待どおりの結果を出してくれてました。

あとはトラブル原因の切り分けで使うこともしばしばあります。再現手順の整理、関連しそうなコードの探索、修正案の比較あたりは特に相性がいいと感じました。

逆に、要件が固まっていない大きな実装を丸ごと任せるのには向かないです。不具合であれば現在わかっている情報をそのまま与えつつ、一気に答えを出してもらうよりは現時点で考えられる原因を3点挙げてほしい、あるいはどこから調査していくとよいかポイントを挙げてほしい、というぐらいのほうがちょうどよさそうな印象です。

リファクタリング

以前に自分で書いたコードのリファクタなんかも効果が高く感じました。ただ、雑にリファクタをお願いするよりはパフォーマンスなのか、可読性なのか、など何を改善したいのかを添えて指示をするとだいたい期待どおりに動いてくれました。

あとは「見落としがちな観点がないか」を確認する際にもよいです。例えば境界値、例外系、命名の一貫性とか、そういうかんじですね。

テストコードなんかが既にあると AI へのリファクタリング依頼も安心してできるので、先にテストコードを用意させるとよさそうです。

実例

一番恩恵にあずかることができたのは、このサイトの Font Awesome のバージョンアップでした。これほんとに助かりました。

自分が指示したのは主に下記のあたりです

  1. Font Awesome を 6 にアップデート
  2. FA4依存のクラスと擬似要素を新しいCSSに合わせて調整
  3. CDNは使わずローカルCSSを使う(Font Awesome 本体はさすがに自分でダウンロード)
  4. min.css は重いのでCSSをサブセット化
  5. FOIT回避のため font-display: swap を追加
  6. h3アイコンの変更(FA6だとちょっとデザイン変わってサイトに合わなくなっていた)

これだけでほぼ現在の状態が完成しました。これはほんと Codex 様々でした。

これからの使い方

Issue消化

引き続きこのサイトの細かい Issue をいろいろやってもらおうとおもいます。今までと変わらないですね。

まだいろいろ直したいところはあるので、もうしばらくはお世話になるとおもいまs。

Skills への移行

依頼テンプレートをもう少し固めつつ、最終的には Skills に落ち仕込めるといいかなと考えてます。
今のところ Codex の挙動は安定してて、特に細かい設定をしなくてもわりと期待どおりの動きをしてくれてはいますが、より回答のぶれをなくしていきたいなという狙いです。

Agent Skills – Codex | OpenAI Developers

Codex に限りませんが、今のところ毎回のやり取りで「うまくいった指示」をメモして再利用を図っています。が、これをもっと仕組み化していきたいです。ツールの性能だけでなく、使う側の設計も問われますね。

まとめ

いまのところ非常に便利な Codex ですが、まだ試行錯誤の段階は出てないかなという印象です。とはいえ少なくとも「ひとりで詰まって時間を溶かす」場面は確実に減ったのでこれからも様子をみながら使っていこうと思います。

余談

OpenAI への毎月の支払いで否が応でも円安の現実を知ります

課金

スポンサーリンク
share