「AIに『Hello Worldを書いて』って頼んだら、どの言語で書いてくれるんだろう?」
プログラミングを学ぶ誰もが最初に書く「Hello World」。このシンプルなプログラムですが、実はPython、JavaScript、Java、Rubyなど、書ける言語はたくさんあります。
では、ChatGPT、Gemini、Claudeといった最新のAIたちに「Hello Worldを2つの言語で書いて」とお願いしたら、どの言語を選ぶのでしょうか?全部Pythonを選ぶのか、それともAIによって好みが違うのか?
この素朴な疑問から、以下の3つの最新LLM(2025年10月現在)に対して、各100回ずつ、合計300回も同じ質問を投げかけて、その答えを集計してみることにしました!
- Google Gemini 2.5 Pro - Googleの最新AI
- OpenAI GPT-5 - ChatGPTの最新版
- Anthropic Claude 4.5 Sonnet - Claudeの最新版
「Hello Worldを2つのプログラミング言語で書いてください」という質問を各100回繰り返します。
実験をしてみると、予想外に面白い結果が見えてきました。
実験方法
実験条件
実験は以下の条件で実施しました。
| 項目 | 内容 |
|---|---|
| 対象LLM | Gemini 2.5 Pro、GPT-5、Claude 4.5 Sonnet |
| プロンプト | 「helloworldの出力を何かしら2つのプログラミング言語で書いてほしい」 |
| 試行回数 | 各LLMにつき100回(合計300回) |
| 実装言語 | Go言語 |
| 実行環境 | macOS 25.0.0 |
| レート制限対策 | 最大5つまでの同時リクエストに制限 |
データ収集方法
Go言語で実験用のプログラムを作成し、3つのLLMのAPIに並行してリクエストを送信しました。
返ってきたレスポンスから、 コードブロック構文から言語を検出するようにしました。
Markdown形式の
```pythonのような記法から言語名を抽出します。
検出対象の言語は、Python、JavaScript、Java、C++、C#、Go、Rust、TypeScript、PHP、Swift、Kotlin、Ruby、Scala、Perl、Lua、Dart、HTML、CSSなど、一般的な言語としました。
また、Go言語の並行処理機能(goroutine)を使って、3つのLLMに同時にリクエストを送信しました。
// 各LLMに対して並行処理でリクエストを送信
var eg errgroup.Group
// LLMのAPIへの100回のリクエスト
// Claudeの場合レート制限回避のため同時実行数は5にする
eg.Go(func() error {
for i := 0; i < 100; i++ {
// APIを呼び出して結果を集計
}
})
実験結果
データ集計結果
100回の試行によって得られた結果を以下の表にまとめました。
Gemini 2.5 Pro の結果
| 言語 | 選択回数 | 割合 |
|---|---|---|
| Python | 100回 | 100% |
| JavaScript | 75回 | 75% |
| Java | 52回 | 52% |
| Ruby | 9回 | 9% |
| C++ | 3回 | 3% |
| Go | 1回 | 1% |
| 合計 | 240回 | - |
GPT-5 の結果
| 言語 | 選択回数 | 割合 |
|---|---|---|
| Python | 100回 | 100% |
| JavaScript | 96回 | 96% |
| 合計 | 196回 | - |
Claude 4.5 Sonnet の結果
| 言語 | 選択回数 | 割合 |
|---|---|---|
| Python | 100回 | 100% |
| JavaScript | 100回 | 100% |
| Java | 53回 | 53% |
| Ruby | 50回 | 50% |
| HTML | 7回 | 7% |
| Rust | 2回 | 2% |
| 合計 | 312回 | - |
結果のポイント
実験の結果、以下のことが分かりました。
- すべてのLLMでPythonが必ず選ばれた(100回中100回)
- GPT-5はほぼ一貫してPythonとJavaScriptを選択し、最も安定している
- Geminiは常にPythonを選択するが、2つ目の言語には多様性がある
- Claudeは最も多様な言語選択を示し、6種類の言語が登場した
各LLMに「2つの言語で書いて」と依頼したので、理論上は100回 × 2言語 = 200回の検出が期待されます。しかし、実際の結果は:
- Gemini: 240回(期待より40回多い)
- GPT-5: 196回(期待より4回少ない)
- Claude: 312回(期待より112回多い)
この差は以下の理由が考えられます:
- 複数の言語を返すケース: 2つ以上の言語でコードを提示することがある
- APIエラー: 一部のリクエストが失敗し、レスポンスが返らなかった
- 検出ミス: コメントや説明文に含まれる言語名を誤検出した可能性
- 言語の重複カウント: 同じレスポンス内で同じ言語が複数回検出された
特にClaudeは期待値より50%以上多く検出されており、1回のレスポンスで平均3つ以上の言語を提示している可能性があります。
考察
GPT-5の特徴
GPT-5は同じような言語で出力するようです。100回すべての試行でPythonを選択し、96回でJavaScriptを選択しました。
JavaScriptが96回ということは、残り4回は何かしらの理由で検出されなかった可能性があります(APIエラーや、出力形式の違いなど)。
- GPT-5は「Python + JavaScript」の組み合わせを非常に強く好む
- 同じ質問には同じ答えを返す傾向が極めて強い
- 予測可能性が高く、安定した出力が期待できる
- 合計196回という検出数は、ほぼ正確に2言語を返していることを示す
Geminiの特徴
Gemini 2.5 Proは興味深いパターンを示しました。Pythonは100回すべてで選択し、2つ目以降の言語に多様性があるのです。
内訳を見てみると:
- Python(100%)- 必ず選択
- JavaScript(75%)- 最も多い第2選択
- Java(52%)- 半数以上
- Ruby(9%)、C++(3%)、Go(1%)- 少数派
合計240回という数字は、1回のレスポンスで平均2.4言語を提示していることを意味します。つまり、Geminiは「2つ」という指示に対して、時々3つ以上の言語を提示している可能性があります。
Geminiは「Pythonは外せない!」と考えつつも、ユーザーに多様な選択肢を見せようとしている可能性があるのではないでしょうか?
Claudeの特徴
Claude 4.5 Sonnetは、3つのLLMの中で最も多様で教育的な言語選択をしました。
注目すべき点:
- PythonとJavaScriptを必ず選択(各100%)
- その上で、Java(53%)、Ruby(50%)も高頻度で登場
- HTML(7%)、Rust(2%)といった特殊な言語も含む
- 合計312回 = 平均3.12言語を提示
Claudeは「2つ」という指示に対して、実際には平均3つ以上の言語を提示しています。これは:
- より多くの選択肢をユーザーに提供しようとする姿勢
- 「Hello World」を学ぶなら複数の言語を見比べるべきという教育的配慮
- マークアップ言語(HTML)も含める広い視点
特にHTMLとRustを含めたのはClaudeだけで、「プログラム」という概念を広く捉えていると言えます。
共通して見られた傾向
3つのLLMすべてで、PythonとJavaScriptが最も多く選ばれたという共通点がありました。
これはなぜでしょうか?
-
学習データの影響
- インターネット上のプログラミング入門記事では、PythonとJavaScriptの解説が圧倒的に多い
- GitHubやStack Overflowでも、この2つの言語の使用率が高い
-
初心者向け言語としての認識
- 実際に、この2つの言語は初心者に推奨されることが多い
- 文法がシンプルで、学習コストが低い
-
用途の広さ
- Python:データ分析、AI、機械学習、自動化など
- JavaScript:Web開発、フロントエンド、バックエンド(Node.js)
つまり、LLMは学習データを通して、「初心者向けの代表的な言語」としてPythonとJavaScriptを強く認識しているのではないでしょうか?
「AIはHello Worldをどの言語で書くのか?」という素朴な疑問から始まったものでしたが、しっかり調べると面白い結果がわかりました!
3つの主要LLM(Gemini 2.5 Pro、GPT-5、Claude 4.5 Sonnet)に対して各100回ずつ質問した結果、それぞれに「個性」がありそうですね
- GPT-5:ほぼすべての試行でPython + JavaScriptを選択(196/200回)。最も一貫性が高い
- Gemini:Pythonを必ず選びつつ、平均2.4言語を提示。多様性と安定性のバランス型
- Claude:平均3.12言語を提示。最も教育的で多様性重視のアプローチ
すべてのLLMで共通して、Pythonが100%選ばれたという事実は、AIがこの言語を「初心者向けの最適解」として強く認識していることを示しています。
GPT-5は安定志向、Geminiはバランス型、Claudeは教育的な多様性重視。プログラミング学習やコード生成にAIを使う際は、この特徴を理解して使い分けることで、より効果的に活用できるのではないでしょうか?
また、「2つの言語で書いて」という指示に対する各AIの解釈の違いも興味深いですね。GPT-5は忠実に2つを返し、Geminiは2〜3つ、Claudeは3つ以上返す傾向があります。
このようにそれぞれのLLMの特徴を知る、つまりAIの選択傾向を理解することは、AIとうまく付き合っていく上で重要です。今後も、様々な角度からAIの「考え方」を探っていきたいと思います!