2025-10-28 AIの比較をしている

火曜日。9:30起床。起きてからずっとワールドシリーズ観てた、マジでいつまでやるんだよ。
15:00まで完全に潰れてしまったので、焦ってコーディングに取り掛かる。Expoを使ったReact Nativeの開発を学ぶのは10月末までと決めているのでそろそろ片付けないと次に行けない。
今日はAIにコンポーネントテストを書かせる実験をやる事にした。

WebstormにAIアシスタントとして実装されているのは、ChatGPTとGoogleのGemini、あとClaudeがある。また、Codexも使えるのでこちらも試してみる事に。
生成結果はほとんど変わらないのかなあと思ったのだが、実はエージェントによって結構な違いがある。一番驚いたのはChatGPTとCodexではまるで違うテストを書いてきた事だ。どちらもOpenAIが提供するサービスでも、同じモデルを使用しているわけではないらしい。

ChatGPTは正直、使い物にならないものを書いてきた。React Native版のTesting Libraryには、そもそもそんなマッチャーが存在していない、とか、それはいつのバージョンのTesting Libraryなんだよ?とか。要するに現在のプロジェクトのテスティングフレームワークのバージョンさえ理解せずにコードを提案してきている。
それに対してCodexは日本語でこそ返答してこないものの、非常に正確だ。こちらもマッチャー部分でエラーが出たので調べてみると、使っているコンポーネントのライブラリの仕様の方がマッチしていないだけだと分かった。これならtestIDを使うだけであとは要望どおりのテストが実行できた。
Geminiはこちらから「どういうテストをやるか」というテストの具体的な内容を伝えないと表示テストしか作らなかった。Claudeをそもそも待ち時間が長すぎて使えなかった。何か登録が必要なのかもしれない。
もうちょっといろいろ触ってみるつもりだが、今のところコーディングにはCodexを使うのが一番理に適っているのかも。(コメントが全部英語なので、そこをどうするかなのだが)

一通りテストを書いて、そろそろビルドの方法を一通り学ばないととなり、チュートリアルに沿って、シミュレーター用ビルド、開発ビルド(実機デバイスで動作させていてもホットリロードでコードの更新内容が反映される)、プロダクションビルドを作ってみた。1つの設定ファイルで、この3つのビルド環境の設定が出来るのはとてもよく出来ているなと感心した。Expoは凄いぞ。