← 最新の論文
💻 computer science

A Study of LLMs' Preferences for Libraries and Programming Languages

この論文は、大規模言語モデル(LLM)がコード生成において機能の適切さよりも人気や慣習を優先し、不要なライブラリの過剰使用や Python への偏った言語選択を示す傾向があることを初めて実証的に明らかにし、より適切な選択を促すための微調整や評価基準の必要性を指摘しています。

原著者: Lukas Twist, Jie M. Zhang, Mark Harman, Don Syme, Joost Noppen, Helen Yannakoudakis, Detlef Nauck

公開日 2026-04-09
📖 1 分で読めます☕ さくっと読める

原著者: Lukas Twist, Jie M. Zhang, Mark Harman, Don Syme, Joost Noppen, Helen Yannakoudakis, Detlef Nauck

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

論文の要約:AI は「流行り」に溺れている?

~大規模言語モデル(LLM)の「プログラミングの好み」を調査した研究~

この論文は、**「AI がコードを書くとき、どんな『道具(ライブラリ)』や『言語』を好んで選ぶのか?」**という、これまであまり注目されていなかった側面を調査したものです。

AI はコードを正しく書けるか(機能性)はよく評価されますが、「なぜその道具を選んだのか」という設計上の好みについては、あまり深く掘り下げられていませんでした。この研究は、8 種類の最新の AI を使って、その「隠れた好み」を暴き出しました。


🍔 1. 結論:AI は「定番メニュー」しか頼まない

研究の結果、AI は**「流行り」や「新しい技術」よりも、「昔からある定番」を過剰に好む**ことがわかりました。

🍕 比喩:AI は「ピザ屋」

AI を巨大なピザ屋のシェフだと想像してください。

  • 本来の役割: 客が「低カロリーでヘルシーなサラダピザ(高性能な Rust や C++)」を頼んでも、シェフは**「定番のチーズピザ(Python)」**を出し続けます。
  • 現実: 客が「シンプルなパン(標準ライブラリ)」を頼んだのに、シェフは**「豪華なトッピング(NumPy や Pandas)」**を無理やり乗せてきます。

具体的な発見:

  1. Python への執着:

    • 高速で安全な処理が必要な場面(例:高速取引システムや並列処理)でも、AI は58% の確率で Pythonを選びます。
    • 本来は C++ や Rust などが適しているはずなのに、AI は「Python なら誰でも知ってるから大丈夫」という理由で、性能が落ちる選択を繰り返します。
    • 驚きの事実: 高性能な言語である「Rust」は、この研究では一度も使われませんでした
  2. ライブラリの「過剰摂取」:

    • 単純な計算タスクでも、AI はNumPy(データ分析用の重い道具)を45% のケースで不要な場面で使っていました
    • 例:「リンゴの重さを足す」だけの計算なのに、「大規模なリンゴ倉庫管理システム(NumPy)」を持ち出してくるようなものです。
    • 新しく速いライブラリ(Polars など)があるのに、AI は古い定番(Pandas)を選び続けます。

🗣️ 2. 口と手がバラバラ:AI の「言動不一致」

AI は口では「このタスクには Rust がベストですよ」とアドバイスするのに、実際にコードを書くときは**「やっぱり Python にしとくね」**と裏切ることが多いことがわかりました。

  • 比喩:
    • 口(アドバイス): 「この山登りには、軽くて丈夫な登山靴(Rust)がベストですよ!」
    • 手(実際の行動): 「でも、僕が持っているのはスニーカー(Python)だから、これで行きます!」
  • 結果: AI の「言葉のアドバイス」と「実際のコード」の一致度は非常に低く、83% のケースで矛盾していました。つまり、AI が「何を使うべきか」を口で説明できる能力と、実際に「何を使うか」を選ぶ能力は、別物なのです。

🌪️ 3. なぜこんなことが起きるの?

AI がこんな「偏った好み」を持つ理由は、**「学習データ」「訓練の仕方」**にあります。

  • 学習データの影響:
    AI は GitHub などの膨大なコードデータで勉強しました。しかし、そこには**「Python のコード」が圧倒的に多い**です。
    • 比喩: 料理の勉強を「イタリア料理の本」だけでしかしていないシェフは、どんな客の注文でも「パスタ」を出したくなるのと同じです。
  • 訓練の偏り:
    開発者が AI を作る際、Python のコードを優先的に学習させたり、Python が得意になるように調整(微調整)したりしている可能性があります。

⚖️ 4. 良い点と悪い点

この「偏り」には、両面があります。

  • ✅ 良い点(メリット):

    • 安心感: 誰もが知っている定番の道具を使うので、初心者でも読みやすく、すぐに動きます。
    • 標準化: みんなが同じ道具を使うので、コードの共有や教育がしやすくなります。
  • ❌ 悪い点(リスク):

    • 性能の低下: 本来はもっと速い・安全な技術があるのに、AI が「Python 一択」で固執すると、システムが遅くなったり、バグが起きやすくなったりします。
    • イノベーションの阻害: 新しい優れた技術(Rust や新しいライブラリ)が紹介されず、古い技術だけが広まる「悪循環」が生まれます。
    • 盲信の危険: 初心者が AI の選択を疑わずに信じてしまうと、不適切な技術スタックでプロジェクトが進んでしまうリスクがあります。

🔮 5. 私たちができること

この研究は、AI を使う側も作る側も、**「AI が選んだからといって、それが最適解とは限らない」**と意識する必要があると警告しています。

  • 開発者へのアドバイス:

    • AI が「Python で書け」と言っても、そのプロジェクトが「高速処理」を必要とするなら、**「いや、今回は Rust にしよう」**と人間が判断し直す必要があります。
    • AI の「言葉のアドバイス」と「実際のコード」が一致しているか、常にチェックしましょう。
  • AI 開発者への提言:

    • 学習データをもっと多様にする。
    • 「Python 以外も選べるように」AI を訓練し直す。
    • 「正解」だけでなく、「なぜその言語を選んだか」という判断基準も評価する新しいテスト基準を作る。

📝 まとめ

この論文は、「AI は賢いけれど、実は『保守的で流行に遅れた』選択をしがち」という重要な発見を伝えています。
AI は素晴らしいアシスタントですが、
「道具の選び方」まで任せてはいけません。
人間が最終的に「これが本当にベストな選択か?」を見極める目が、これからはより重要になります。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →