How AI Coding Agents Modify Code: A Large-Scale Study of GitHub Pull Requests
この論文は、GitHub のマージされたプルリクエストを大規模に分析し、AI コーディングエージェントが人間と比べてコミット数に顕著な違いを示し、PR 説明とコード変更の間の整合性がやや高いことを実証的に明らかにしたものである。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
🤖 AI 職人と人間職人の「改造日記」:GitHub 大調査の物語
この論文は、**「AI がコードを書くとき、人間とはどう違うのか?」**という大きな疑問に答えるための、大規模な調査レポートです。
想像してみてください。ソフトウェア開発の現場は、巨大な「街の建設現場」のようなものです。そこで、人間職人と、新しく雇われたAI 職人が、それぞれ「プルリクエスト(PR)」という「改修申請書」を出して、建物を直したり増築したりしています。
この研究は、その「申請書」と「実際の工事内容」を 2 万 4000 件以上も分析して、AI と人間の違いを浮き彫りにしました。
🔍 調査の舞台:「AIDev」という巨大な倉庫
研究者たちは、MSR 2026 というイベントのために用意された、**「AIDev」**という巨大なデータセットを使いました。
- 人間が書いた申請書:約 5,000 件
- AI が書いた申請書:約 24,000 件
これらはすべて、実際にプロジェクトに「採用(マージ)」された、成功した工事記録です。
🧐 発見その 1:工事の「やり方」が全然違う!
🏗️ 人間職人:「大掛かりな改修」
人間は、一度に**「大きな工事」**をしようとします。
- 特徴:多くのファイルをまたがって作業し、何回も「コミット(保存)」を繰り返します。
- 例え:まるで「家の壁を塗り直しながら、同時に屋根も直して、配線も変える」といった、大規模なリフォームのような感じ。
- 結果:変更するファイル数や、保存回数が AI よりもはるかに多いです。
🤖 AI 職人:「ピンポイントな修理」
AI は、**「小さな、しかし正確な修理」**を得意とします。
- 特徴:1 つのファイルに集中し、一度に済ませようとする傾向があります。
- 例え:「キッチンの蛇口が漏れているから、その部分だけパッと直して、すぐに帰る」という**「ピンポイント修理」**のような感じ。
- 例外:一部の AI(Claude Code や OpenAI Codex など)は、人間に近い大きな工事をすることもありますが、Copilot などは特に「小さくまとめる」のが得意です。
💡 重要な気づき:
AI と人間の最大の違いは、「どれだけコードを書き換えたか(行数)」ではなく、**「その変更をどう分割して、どこに集中させたか」**という「工事のスタイル」にあります。
📝 発見その 2:「申請書」と「工事」の一致度
次に、**「申請書(PR の説明)」と「実際の工事内容(コードの違い)」**が、どれだけ一致しているかを調べました。
- 人間の場合:説明と工事内容は、ある程度一致していますが、言葉の選び方によってズレが生じることがあります。
- AI の場合:驚くほど**「説明と中身がピタリと合っています」**。
🎯 例え話:
- 人間:「壁を白く塗ったよ(説明)」→ 実際には「壁を白く塗り、ついでに窓も拭いた(工事)」。少しズレがある。
- AI:「壁を白く塗ったよ(説明)」→ 実際には「壁を白く塗った(工事)」。説明がそのまま工事内容そのもの。
AI は、自分が何をしたかを言語化するのが非常に上手で、説明と実際のコード変更の「意味」が、人間よりも少しだけ高いレベルで一致していることがわかりました。
📊 統計的な「重さ」の比較
研究では、統計的な数値(クリフのデルタ)を使って、この差がどれくらい大きいのかを測りました。
- コミット数(保存回数):人間と AI で**「大きな差」**(AI ははるかに少ない回数で済ませる)。
- 触ったファイル数:「中くらいの差」(人間の方が広範囲を触る)。
- 追加・削除した行数:「小さな差」(結局、変えたコードの量はそれほど変わらない)。
つまり、**「AI は、人間よりも『少ない回数』で、より『狭い範囲』に集中して作業する」**というのが結論です。
🌟 この研究が教えてくれること
AI は「万能」ではなく「スタイル」が違う
AI は人間と同じように動くわけではありません。彼らは「小さな部品を正確に交換する職人」のような役割を果たしています。そのため、レビュー(検査)をする際も、「大きな工事」と「小さな修理」で見るポイントを少し変える必要があるかもしれません。AI は「説明」が上手い
AI が書いた申請書は、中身とよく合っています。これにより、自動で「変更履歴(リリースノート)」を作ったり、誰がレビューすべきか判断したりするシステムに、AI の成果を取り入れやすくなっています。今後の課題
AI が「小さな修理」ばかりする傾向があるため、もし「大きな改修」が必要になったとき、AI がどう振る舞うのか、あるいはその「小さな修理」が積み重なって、将来的に大きな問題(バグ)にならないかどうかは、まだ調査が必要な分野です。
🎉 まとめ
この研究は、**「AI 職人は、人間職人とは違う『ピンポイント・完璧主義』なスタイルで、非常に正確な説明をしながらコードを直している」**ことを証明しました。
これからのソフトウェア開発では、人間と AI がそれぞれの「得意分野」を理解し合い、協力してより良い街(ソフトウェア)を作っていく時代が来ているのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。