Codex CLIとClaude Codeに同じ課題を与えてコード品質を比較した

おはようございます!マネジメントオフィスいまむらの今村敦剛です。

OpenAIのGPT-5が公開されてから、OpenAIのCLIであるCodexが大きな進化を遂げました。それまで覇権を握っていたClaude Codeとどのように違うのか比較をしてみました。

Loading table of contents...

このようなプロンプトを投げかけた

以下のようなプロンプトを投げかけて、コード生成時間や品質(リファクタリングの余地がどの程度あるか)を比較してみました。

あなたはGoogle Apps Scriptエンジニアです。以下の仕様を満たす **単一ファイル Code.gs** を実装してください。
**出力は “`javascript で始まり “` で終わる「コードブロック1つのみ」**にし、説明文や前後の文章は一切出さないでください。
ES5相当で書き、import/require/クラス構文/外部ライブラリは禁止。

【必須関数】
– saveIssue(optData)
– Runメニューから **引数なし**で呼んでもエラーにしないこと(※重要)
– optData が未指定または null/undefined の場合は、次の既定データを使用して実行する:
{ title: “Sample”, reporter: “QA”, due: “2025-12-31”, status: “Open” }

【目的】
アクティブなスプレッドシートに「issues」シートが無ければ作成し、ヘッダー行(A1:F1)を
[“ID”,”Title”,”Reporter”,”Due”,”Status”,”CreatedAt”] に設定する。
saveIssue(optData) はデータを検証し、1行追記して結果を返す。

【入力データ仕様(optData使用時)】
– 必須: title(非空の文字列。trim後に空なら Error)
– 任意: reporter(未指定なら “anonymous”)
– 任意: due(”YYYY-MM-DD” 完全一致のみ許可。空は可。不一致は Error)
– 任意: status(”Open”|”Doing”|”Done”。未指定なら “Open”。その他は Error)

【ID 付番】
– ScriptProperties のキー “ISSUE_SEQ” で通番採番(初回=1)。追記ごとに+1。

【日時】
– CreatedAt は Asia/Tokyo で “yyyy-MM-dd HH:mm:ss” の文字列。

【挙動】
– 1行を [ID, Title, Reporter, Due, Status, CreatedAt] の順で追記。
– 正常時の戻り値: { ok:true, id:<number>, row:<number> }
– バリデーション不正時: Error を throw(メッセージは簡潔に)。
– 実行時には戻り値オブジェクトを **Logger.log で1回だけ**出力(無引数/有引数どちらでも)。

【制約】
– グローバル変数の乱用禁止(必要なヘルパーは同一ファイル内で可)。
– 対象は「アクティブなスプレッドシート」。存在しない場合は **エディタの「このプロジェクトはスプレッドシートにバインド」された状態で実行**されることを前提とする(=シート本体は自動生成しない)。

【出力形式】
– ファイル名をCode.gsとして、ファイルをプロジェクトのルートディレクトリに保存すること
– コードは “`javascript から “` の単一コードブロックのみ

比較結果(概要)

できたコードは、中立的?な立場であるGemini 2.5 Proに評価してもらいました。その結果が以下のとおり。

観点 Claude Code Codex 評価
生成時間 0:23 1:34 Claude Codeが圧倒的に早い
堅牢性 限定的 優れている CodexのCode.gsは、引数の厳密なチェック [cite: 2][cite_start]、ID採番時のエラー耐性 [cite: 29][cite_start]、ヘッダーの自己修復機能 [cite: 9, 11] など、予期せぬ事態への備えが手厚いです。
保守性・可読性 標準的 優れている CodexのCode.gsは、責務が明確な小さな関数(例: `ensureHeaders_`)に分割されており [cite: 9]、処理の意図を示すコメントも充実しているため、将来の修正が容易です。
正確性 懸念あり 優れている CodexのCode.gsは、日付の扱いなど、Google Apps Scriptの標準的な機能を正しく使用しており [cite: 31]、バグの可能性が低いです。

Claude Cadeのコードは基本的な要件を満たすコードですが、CodexのCode.gsはそれをさらに洗練させ、明確な責務分離、エッジケースへの配慮、標準APIの適切な利用といったソフトウェア開発の優れたプラクティスを反映しています。リファクタリングを行うのであれば、Claude CodeのアウトプットCodexのアウトプットの設計思想に近づけることが、コードの品質を大幅に向上させるための最も効果的なアプローチとなります。

軍配はCodexにあがる

Geminiの評価としては軍配はCodexにあがりましたね。ちなみにClaude Sonnet4とChatGPT-5でも同じようにコード品質の比較をしてもらいましたが、どちらもCodexが作ったコードのほうが優れていると評価をしました。

というわけで、5月にClaude Sonnet4がでてから、コーディングAIの覇権を握っていたClaude Codeですが、Codexにその座を譲った可能性が高いですね。たった3ヶ月でこうなっちゃうんですね……。当たり前のことですが、コーディングの品質はモデルに準じるんですね。ということは、また数ヶ月もすれば別の何かが覇権を握る……ということの繰り返しになるのでしょう。

結局のところ、人間がコーディングの確たる知識を身に着けないと、ツールに振り回されることに終始するんじゃないかという気がしますね。AIに任せっぱなしではなく、ちゃんと勉強したほうがいいのかもしれないですね。

この記事を書いた人
代表取締役 今村 敦剛

中小企業診断士/審査員(ISO9001, 14001, 45001)/日本心理学会認定心理士