← 最新の論文
🤖 machine learning

Learning from 53.6K Real-World Developer Edits of AI-Generated Code

本論文は、1,000人以上の開発者によるAI生成コードの、IDE内における53,600件の実世界の編集データであるDECODEを紹介するものであり、これはほとんどの修正が受理から15分以内に行われていることを明らかにし、このデータを用いて小型モデルをファインチューニングすることが、コード編集の予測においてフロンティアLLMを大幅に上回る性能を示すことを実証している。

原著者: Jenny T. Liang, Mihika Bairathi, Wayne Chi, Ameet Talwalkar, Nishant Subramani, Valerie Chen

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

原著者: Jenny T. Liang, Mihika Bairathi, Wayne Chi, Ameet Talwalkar, Nishant Subramani, Valerie Chen

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

ロボットに料理を教えているところを想像してみてください。あなたはレシピ本を見せ、ロボットはある料理を作ろうと試みます。時には完璧に仕上げることもありますが、多くの場合、塩を入れすぎたり、ニンニクを忘れたり、泡立て器の代わりにスプーンを使ったりしてしまいます。コンピュータサイエンスの世界では、このロボットは「AIプログラミング・アシスタント」であり、料理は「コードの行」です。長い間、科学者たちは完成したレシピ(「Gitコミット」と呼ばれる、料理本に載るような完璧な完成品)を見せることで、これらのロボットに教えようとしてきました。しかし、これはまるで、キッチンでのドタバタ劇や焦げたトースト、シェフの必死の修正を無視して、ただお皿の上に乗った料理だけを見て料理を学ぼうとするようなものです。

本当の魔法(そして本当の混乱)は、その中間にあるのです。人間であるシェフがスープを味見して、「いや、もっとコショウが必要だ」とか、「いっそ、これは捨てて最初からやり直そう」と言うとき、それが「コードの編集(code edit)」にあたります。これまで、私たちはこのプロセスを観察する良い方法を持っていませんでした。私たちは最終的な結果しか見ていなかったのです。この論文は、その混沌とした、しかし美しいキッチンへと踏み込みます。研究の問いはこうです。「人間は実際にどのようにAIのミスを修正しているのか? 少し微調整するのか、それとも丸ごとゴミ箱に捨てるのか? そして、修正が起こる前に、その修正を予測するようにロボットに教えることはできるのか?」

偉大なるコード探偵:DECODE

この研究の背後にいる研究者たちは、AIのコード作成能力を向上させるためには、完成品を見るのではなく、プロセスを観察する必要があることに気づきました。彼らは、DECODE(Developer Edits of Code Dataset)と呼ばれる大規模な新しいデータセットを作成しました。DECODEは、1,000人以上の実在するデベロッパーのIDE(デジタル作業空間)に設置された、巨大な高解像度監視カメラシステムだと考えてください。単に最終的なコードを保存するのではなく、このシステムは、AIがコードを提案した後にデベロッパーが行った、あらゆるタップ、削除、書き換えを記録しました。

彼らは、主にPython、TypeScript、JavaScriptを用いた、これら53,600件の実際の編集セッションを収集しました。これは、人間とロボットがどのように議論し、妥協し、協力してソフトウェアを構築していくかという、53,600の物語が集まったライブラリを持っているようなものです。

分かったこと:15分ルールと「ゴミ箱」

チームがデータを分析したところ、人間がAIの提案をどのように扱うかについて、いくつかの驚くべきパターンが見つかりました。

第一に、厳格な15分ルールを発見しました。編集のほとんどは非常に迅速に行われます。もしデベロッパーがAIのコードを変更しようとするなら、通常、提案を受け入れてから最初の15分以内にそれを行います。その後、コードは放置されるのが一般的です。

第二に、人間は驚くほど厳しいことが分かりました。約**31%**のケースにおいて、デベロッパーはコードを微調整しただけでなく、AIの提案全体を削除してゼロから書き直していました。これは、AIがあなたにサンドイッチを差し出したのに、パンが少し違っていたという理由ですぐにそれをゴミ箱に投げ捨てるようなものです。データは、AIの提案が最初からデベロッパーの意図に完璧に合致しなければ、すぐに放棄されてしまう運命にあることを示唆しています。

しかし、人間がコードを「使い続ける」場合、彼らはあまり変更を加えません。データによれば、生き残ったコードに対して、デベロッパーは元のAI提案の約**63%を維持しています。彼らが自分のコードを付け加える量は非常に少なく(最終的なコードのうち、人間が新しく追加した部分はわずか20%**程度)、デベロッパーはAIに大きく依存していますが、初期の品質については非常に好みがうるさいのです。

また、人々が修正を行う際には特定の順序があることにも気づきました。それはチェックリストのようです:

  1. 「そもそも使えるか?」のチェック: まず、そのコードを保持するかどうかを判断します。そうでなければ、削除します。
  2. 「バグ修正」フェーズ: 次に、構文エラーや可読性の問題を修正します。
  3. 「自分流にする」フェーズ: その後、変数名を変更したり、特定のニーズに合わせて数値を変更したりします。
  4. 「計画変更」フェーズ: 最後に、もし作業を継続する場合、コードが実際に行う内容自体を変更することがあります。

ロボットに心を読ませる

論文の第二の大きな部分は、テストでした。「より小さなオープンソースのAIモデルに、巨大で超スマートな『最先端(フロンティア)』モデルよりも優れた方法で、これらの編集を予測できるように教えられるか?」

通常、最も大きく、最も高価なAIモデルがすべてにおいて最高であると考えられています。しかし、ここでは研究者たちが、より小さなモデル(巨大なモデルと比較すると30億パラメータという極めて小さいもの)を取り上げ、DECODEデータセットを用いて特別に学習させました。彼らは、AIの提案を見て、「人間はこれを削除するか? 微調整するか? それともそのままにするか?」を推測するようにモデルを訓練しました。

結果は衝撃的でした。この小さなモデルは、実世界の編集データから学習したことで、この特定のデータを見たことがない巨大な最先端モデルよりも、編集の予測において大幅に優れた性能を示したのです。

  • 「最終的なコードがどのようになるか」を予測する精度において、この小さなモデルは0.17向上しました(この分野では非常に大きな飛躍です)。
  • 「コードが変更されるかどうか」を予測することにおいても、同様に0.17向上しました。

これは、単に「より大きな脳」を持つことよりも、正しい「経験(実世界の編集データ)」を持つことの方が重要であることを示唆しています。それは、ラボの中で完璧な料理ばかり作ってきた有名なシェフよりも、何千もの料理番組を見てきた若いシェフの方が、料理の直し方をよく知っている可能性があるのと同じです。

結論:重要なのはコードではなく、人間である

この論文は、AIによるコード生成を、唯一の目標が「正しさ」である数学の問題として扱うのをやめるべきだと結論付けています。真の目標は「アライメント(適合)」です。コードは人間の意図に合致していなければなりません。さもなければ、人間はそれを単に捨ててしまうからです。

著者らは、将来のAIアシスタントは、単に最初の一回で完璧なコードを書こうとするのではなく、編集の「プロセス」を理解するように訓練されるべきだと提案しています。AIは、人間が素早く削除すること、機能を変える前にエラーを修正すること、そして、微調整しやすいコードの方が好まれる傾向にあることを学ぶ必要があります。

DECODEのようなデータセットを使用することで、私たちは単にコードを書くだけでなく、人間が実際に使い続けたいと思うコードを書くAIを構築できます。これは、「このコードは正しいか?」という問いから、「このコードは人間が自分流に作り変えやすいものか?」という問いへの転換です。そしてデータは、もし私たちがAIに、あの混沌とした15分間の編集ウィンドウを理解させることができれば、ようやく私たちが喜んで食べられる食事を作ってくれるロボットを手に入れられるかもしれない、ということを示唆しています。

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

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

Digest を試す →