An Exploratory Study on LLM-Generated Code and Comments in Code Repositories
この探索的研究は、2021年から2025年までの企業およびコミュニティによって維持されているリポジトリにおけるLLM生成のコードとコメントを分析しており、検出されたLLM生成コードは時間の経過とともに減少しており、高いクローニング率を伴うテストケースにおいて普及している一方で、LLM生成のコメントは安定しているものの文法的な誤りが多く、また人間がラベル付けしたバグはLLM生成コードとの関連性がわずかであるということを明らかにしている。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
膨大な、そして活気にあふれる図書館を想像してみてください。そこでは毎日、何百万もの本(ソフトウェアコード)が書かれています。最近、この場所に新しい種類の「ゴーストライター」、つまり人工知能(LLM)が登場しました。これらのゴーストライターは、驚異的なスピードで文章や物語(コードやコメント)を書き上げることができます。
この論文は、ある司書チームによる調査報告のようなものです。彼らはこう問いかけました。「私たちの図書館にある執筆物のうち、実際にこれらのゴーストライターによって書かれたものはどれくらいあり、その内容はどのようなものなのか?」
彼らが発見したことを、分かりやすい物語に分解して説明します。
1. 「ゴースト」執筆の謎
司書たちは、本のページをスキャンするために特別な「金属探知機」(ソフトウェアツール)を使用しました。これらの探知機は、人間が書いたのかロボットが書いたのかを確実に判断できるわけではありませんが、ロボットの執筆に見られるような「パターン」を察知することができます。
- コード(指示書): 彼らは、「ロボットが書いた」と思われるコードの割合が、時間の経過とともに減少していることを発見しました。まるで、ゴーストライターがより人間らしく振る舞う術を身につけたか、あるいは人間の司書たちがロボットの作品を徹底的に編集しているため、ロボットの指紋が消えてしまっているかのようです。興味深いことに、彼らが見つけたロボット作成のコードの多くは、「テストケース」——つまり、練習用のクイズやリハーサルの台本のようなもの——に含まれていました。ロボットは、こうした反復的な練習ドリルを書くことを好むようです。
- コメント(メモ): ロボットが書いたコードは減っていますが、ロボットが書いたメモ(コードの内容を説明するもの)は横ばいの状態です。ロボットは、指示の内容を説明する「付箋」を書くことには依然として長けているようですが、実際の機械の組み立て自体は人間が引き継いでいるようです。
2. 企業の図書館 vs コミュニティの図書館
研究者たちは、2種類の図書館を比較しました。
- 企業の図書館: 大手テック企業(GoogleやMetaなど)によって運営されているもの。
- コミュニティの図書館: ボランティアグループ(オープンソースプロジェクト)によって運営されているもの。
発見: 企業の図書館の方が、「ゴースト執筆」された素材の割合がはるかに高いことが分かりました。大きな企業ほど、内部システムを円滑かつ一貫して稼働させるために、ゴーストライターをより集中的に活用しているようです。一方、コミュニティの図書館ではロボットによる執筆は少なく、ロボットの記述が見つかった場合でも、そのメモは企業の図書館のものよりも文法的に整っており、洗練されていました。
3. 「コピー&ペースト」問題
研究者たちは、ロボットのコードにある奇妙な点に気づきました。それは「クローン」だらけだったことです。
もし、ゴーストライターがある物語を書いた後、その同じ物語を図書館にある本の70%にコピー&ペーストしたとしたら、どうなるでしょうか。まさにそれがコードに起きていました。ロボットは、同じ図書館内の他のコードとほぼ同一に見えるコードを生成していたのです。しかし、これを既知の「純粋なロボットコード」のデータベースと比較したところ、重複はほとんど見られませんでした。このことは、人間が単にロボットの生の出力をそのままコピー&ペーストしているのではなく、おそらく修正を加えていることを示唆しています。その修正によって、一見ユニークに見えつつも、依然として反復的なパターンが残っているのです。
4. ゴーストライターは何かを壊したのか?
大きな懸念は、ロボットがコードを書くと、ソフトウェアを壊してしまうバグ(エラー)を導入するのではないか、ということです。
- 発見: 研究者たちは、既知の「壊れた本」(バグ)のリストを確認し、「これはロボットが書いたのか?」と問いかけました。
- 結果: 驚くべきことに、壊れた本のほとんどはロボットによって書かれたものではありませんでした。既知のエラーのうち、ゴーストライターに起因すると見られるものは、わずか**5%から10%**程度でした。
- 比喩: これは、ゴーストライターが下書きを書くことは許されているものの、人間の編集者が非常に厳格であるようなものです。人間は、本が印刷される前にロボットのミスを見つけ出し、修正しています。人間は、コードが保存される前にロボットの誤りを修正している可能性が高いのです。
5. 大きな注意点(「探偵の警告」)
著者たちは、自分たちの限界についても非常に正直に述べています。彼らは、特定の行を人間が書いたのかロボットが書いたのかを確定させる「真実の血清」を持っていないことを認めています。彼らの「金属探達機」は、パターンに基づいた推測に過ぎません。
- 比喩: これは、絵画の筆致を見て、それが人間によって描かれたのかロボットによって描かれたのかを推測しようとするようなものです。時にはロボットがあまりに上手すぎて人間に見えることもあれば、時には人間が非常に反復的な描き方をするためにロボットのように見えることもあります。
- 結論: このため、彼らは自分たちの発見を**「プロキシ観測(代理観測)」**と呼んでいます。彼らは「これは間違いなくロボットのコードである」と言っているのではなく、「我々のツールに基づけば、これは非常に強くロボットのコードのように見える」と言っているのです。
まとめ
要約すると、この研究は、AIがソフトウェアの執筆を支援している一方で、依然として人間が船のキャプテンであることを示唆しています。AIは、特に大企業において、反復的な「テスト走行」やメモ作成を多くこなしています。しかし、人間は作業を徹底的に編集し、ミスを修正し、最終製品がロボットによって書かれたように見えないようにしています。「ロボットの指紋」は、説明文(コメント)においては依然として活発であるものの、コードそのものの中では、むしろ見つけるのが難しくなっているのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。