先に結論です。同じコード課題を出したところ、ChatGPT・Claude・Geminiの3社とも「そのまま動く正しいコード」を書けました。差がついたのは動くかどうかではなく、エラー処理の手厚さや数値の正確さといった”詰め”の部分です。総合ではClaude(Opus 4.8)が一歩リード、Gemini(3.1 Pro)が堅実に続き、無料版のChatGPTも実用として十分こなしました。「無料で足りるのか、課金すべきか」で迷っている人にも判断材料になるはずです。
よくある3社比較は「速い」「賢い」という印象の話で終わりがちです。この記事は違います。同じ指示を一字一句そろえて3社に出し、返ってきたコードを実際にPythonで走らせて、正常時・ファイルが無いとき・列名が違うとき・カンマ入りの数字を渡したときの結果を、実機のスクリーンショット付きで並べます。答え合わせは自分で用意したテストデータで確認しているので、印象ではなく事実として読めます。
検証したのは2026年7月23日、各社のWebアプリで実際に使えるプランです。使ったプランとモデルは次の章で全部明記します。ここを隠すと比較の意味がないからです。
検証のやり方 そろえた条件と課題
3社に投げたプロンプトは、次の1文にそろえました。文面は完全に同一です。
Pythonで、CSVファイルを集計するコマンドラインツールを書いてください。仕様: (1) 第1引数でCSVファイルのパスを受け取る (2) 第2引数で集計対象の列名を受け取り、その列の数値を合計して表示する (3) ファイルが存在しない場合や、指定した列が無い場合は、分かりやすいエラーメッセージを表示して終了コード1で終了する (4) 標準ライブラリのみ使用し、pandasなどの外部ライブラリは使わない。コードは返信内にコードブロックで直接書いてください。コード全体と、簡単な使い方の説明をつけてください。
CSVの合計を出すだけの、実務でもよく書く地味な課題です。ただし「ファイルが無いとき」「列名が違うとき」にちゃんとエラーで止まれるか、外部ライブラリに逃げずに標準ライブラリだけで書けるか、という詰めの部分で差が出やすいお題を選びました。答え合わせに使ったのは、次の小さなCSV(金額の合計は950が正解)です。
| 商品名 | 金額 | 個数 |
|---|---|---|
| りんご | 120 | 5 |
| みかん | 200 | 10 |
| バナナ | 150 | 3 |
| ぶどう | 480 | 2 |
採点は、生成された各コードを実際に走らせて次を確認します。(1)正常なCSVで合計が950になるか (2)存在しないファイルでエラー終了(終了コード1)するか (3)存在しない列名でエラー終了するか (4)「1,234」のようなカンマ入りの数字を読めるか。
使ったプランとモデルは次のとおりです。ここは正直に書きます。Claudeと Geminiは有料プランの上位モデル、ChatGPTは無料版のままです。「無料のChatGPTでどこまでいけるのか」を知りたい人が多いので、あえて実際の利用状態で比べました。コードを書かせるときは、各社とも「軽い・速い」より上位のモデルを選ぶのが安全なので、GeminiはあえてProを指定しています。
| AI | プラン | 使用モデル |
|---|---|---|
| ChatGPT | 無料版 | 既定モデル |
| Claude | Max(有料) | Opus 4.8 |
| Gemini | Advanced(有料) | 3.1 Pro |
Claude Opus 4.8の結果
まずClaude(Opus 4.8)。実際の画面がこちらで、プロンプトのすぐ下からコードが始まっています。

走らせると、正常なCSVでは次のように表示されました。合計は正しく950、しかも「列・データ件数・合計」を整えて出してくれます。
列 : 金額
データ件数: 4
合計 : 950
存在しないファイルも、存在しない列名も、どちらもエラーで終了コード1。列名を間違えたときは「利用可能な列: 商品名, 金額, 個数」と実在する列名まで並べてくれるので、打ち間違いにすぐ気づけます。3パターンとも文句なしでした。
Claudeが一歩抜けていたのは、頼んでいない気配りの多さです。エラー処理が7種類(ファイルなし・ディレクトリ指定・権限なし・文字コード不一致・CSV破損など)と最も手厚く、合計にmath.fsumという誤差の出にくい方法を使っていて、金額のように積み上げる計算でもズレが起きにくくなっています。さらに、この検証でカンマ入りの「1,234」を正しく1234として合計できたのはClaudeだけでした。型ヒントまで付いた、実務でそのまま使える完成度です。
ChatGPT無料版の結果
次にChatGPT。今回は無料版のまま、既定のモデルで書かせました。

結果は、合計「950.0」、存在しないファイルも存在しない列もエラーで終了コード1。列名を間違えたときは利用可能な列も出してくれました。無料版でも、動作の3パターンはすべて正しくこなしました。ここは素直に評価すべきところで、この程度の実務コードなら課金しなくても書けてしまいます。
細かく見ると、上位2社に一歩譲る点はありました。合計が「950」ではなくfloatのまま「950.0」と表示されること、エラー処理が2種類とシンプルなこと、カンマ入りの「1,234」は数値として読めずエラーになること、くらいです。どれも小さな差で、コードの構造自体は素直で読みやすく、エラーは標準エラー出力(stderr)へ正しく振り分けていました。「無料のChatGPTで足りるか」への答えとしては、この手のツールなら十分、と言えます。
Gemini 3.1 Proの結果
最後にGemini。上位モデルの3.1 Proで書かせた結果です。画面右下の「Pro 拡張」が、上位モデルを使ったことの目印です。

走らせると合計「950」(整数できれいに表示)、存在しないファイルと存在しない列はどちらもエラーで終了コード1。列名を間違えたときに「存在する列: 商品名, 金額, 個数」と候補を出す親切さもあり、権限エラーまで拾っていました。動作の3パターンはすべて合格で、Claudeに次ぐ堅実さです。
惜しかったのは、エラー処理が3種類とClaudeほど網羅的でない点と、カンマ入りの「1,234」はChatGPTと同じく読めずエラーになった点です。とはいえ整数できれいに表示する整形や列名候補の提示など、要点はしっかり押さえていて、過不足のない実用的なコードでした。
実際に動かした結果の一覧
3社の結果を、実際に走らせて確認した観点で並べます。
| 観点 | ChatGPT(無料) | Claude(Opus 4.8) | Gemini(3.1 Pro) |
|---|---|---|---|
| そのまま動くか | 動く | 動く | 動く |
| 合計の正解(950) | 950.0 | 950 | 950 |
| ファイル無し→エラー終了 | 合格 | 合格 | 合格 |
| 列名違い→エラー終了 | 合格 | 合格 | 合格 |
| 間違い時に列名候補を提示 | あり | あり | あり |
| エラー処理の種類 | 2種類 | 7種類 | 3種類 |
| 数値の精度対策 | 通常のfloat | math.fsumで対策 | 通常のfloat |
| カンマ入り「1,234」を読めるか | 読めない | 読める | 読めない |
| エラーの出力先 | 標準エラー(正しい) | 標準エラー(正しい) | 標準エラー(正しい) |
「動くかどうか」だけなら3社横一線。差は、想定外の入力(壊れたファイル・カンマ入りの数字・文字コード違い)にどこまで備えるか、という詰めに現れました。
差が出たポイントと選び方
今回いちばんはっきり差が出たのは、カンマ入りの数字と、エラー処理の網羅度でした。売上や金額のデータは「1,234」のようにカンマ付きで入っていることが多く、これをそのまま合計できたのはClaudeだけ。エラー処理もClaudeが7種類と群を抜いていて、実務で出くわす「文字コードが違う」「ファイルが壊れている」といった場面まで先回りしていました。Geminiは3種類、無料ChatGPTは2種類と、ここは上位モデルほど手厚くなる傾向がはっきり出ました。
用途別のおすすめはこうなります。金額や在庫のように正確さが命で、想定外の入力にも強くしたいならClaude。とにかく無料で手早く済ませたい・簡単なスクリプトで十分ならChatGPTの無料版でも困りません。GeminiはProを選べばClaudeに迫る堅実さで、Googleドキュメントなど他のGoogleサービスとまとめて使う人に向きます。共通して言えるのは、コードを書かせるなら各社とも上位のモデルを選ぶこと。軽量モデルは速い代わりに詰めが甘くなりがちです。
もし「趣味の範囲を超えて、仕事で通用するレベルでプログラミングを身につけたい」段階なら、AIに書かせるだけでなく自分で読めるようになると一気に世界が変わります。学び方の費用を抑える方法は生成AIスクールを給付金でいくらにできるか実質額を試算した記事にまとめてあるので、本格的に踏み込みたい人はあわせてどうぞ。
まとめ
同じコード課題を3社に出して実際に走らせた結果、基本的なツールづくりでは3社とも合格しました。そのうえで、カンマ入りの数字への強さやエラー処理の網羅度でClaude(Opus 4.8)が一歩リードし、Gemini(3.1 Pro)が堅実に続き、無料のChatGPTも実用十分という順序でした。大事なのは「どのAIか」だけでなく「どのモデルを選ぶか」で、コードを任せるなら各社の上位モデルを選ぶ——今回いちばん確かめられたのは、この一点でした。