CodeTaste: Can LLMs Generate Human-Level Code Refactorings?

本論文では、大規模言語モデル(LLM)が人間レベルのリファクタリングを実行・選択できるかを検証するため、オープンソースの多ファイル変更から抽出したベンチマーク「CodeTaste」を提案し、詳細な指示がない場合の人間との乖離と、提案・実装の分解による改善の可能性を示しています。

Alex Thillen, Niels Mündler, Veselin Raychev, Martin Vechev

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

Each language version is independently generated for its own context, not a direct translation.

コードの味付け師(CODETASTE):AI は人間のように「コードを綺麗に整理」できるか?

この論文は、**「AI(大規模言語モデル)が、人間のように『コードのリファクタリング(整理整頓)』を上手に行えるか?」**という問いに答えるための研究です。

タイトルにある「CODETASTE」は、**「コードの味付け」**という意味を込めた造語です。料理で例えると、AI は「新しい料理(機能)を作る」のは得意ですが、「余計な調味料を減らして、より美味しく、食べやすくする(リファクタリング)」のが苦手ではないか?という仮説を検証しています。

以下に、難しい専門用語を使わず、日常の比喩を使って解説します。


1. 背景:AI は「作れる」けど「綺麗にできない」

現在の AI プログラミング助手は、指示された通りにコードを書いたり、バグを直したりするのが非常に得意です。しかし、**「既存のコードを、より読みやすく、メンテナンスしやすい形に整理する」**という作業には、まだ課題があります。

  • 人間の場合: 部屋が散らかってきたら、物を整理して収納し、必要なものがすぐ見つかるようにします(リファクタリング)。
  • AI の現状: 部屋に新しい家具を足したり、壁に絵をかけたりは上手ですが、「散らかった本棚を整理し直す」という作業になると、**「とりあえず本を並べただけで、結局もっと散らかってしまった」**という失敗が多いのです。

この論文では、AI が本当に「人間レベルの整理整頓」ができるかどうかを、厳しくテストしました。

2. 実験の舞台:「CODETASTE」というテスト

研究者たちは、GitHub(世界中のプログラマーがコードを共有する場所)から、**「人間が実際に大規模な整理整頓を行った事例」**を 100 件選び出しました。これが「CODETASTE」というテストです。

このテストでは、AI に 2 つの異なるモードで挑戦させました。

🟢 モード A:「レシピ付き」の整理(Instructed Track)

  • 状況: 「この本棚の A 列から B 列へ本を移動し、C 列の古い本は捨てて、D 列に新しい本を並べてください」と、具体的な手順をすべて指示する
  • 結果: 最新の AI は、指示通りに動くのが得意でした。人間がやった整理の 70% 程度は成功しました。
  • 意味: 「何をしてほしいか」を詳しく言えば、AI は忠実に実行できます。

🔴 モード B:「目的だけ」の整理(Open Track)

  • 状況: 「この部屋、ちょっと散らかってるから整理して」と大まかな指示だけを与え、具体的な手順は AI に任せる。
  • 結果: 惨敗でした。AI の整理レベルは8% 以下でした。
  • 意味: 「どう整理すべきか」を自分で見つける力(判断力)が、AI にはまだ欠けています。

3. AI が犯した「失敗のパターン」

「目的だけ」を与えた場合、AI は以下のような失敗を繰り返しました。

  • 表面的な直し: 「本棚のラベルの文字が間違っているから直そう」という、本質的な整理とは無関係な細い作業に熱中する。
  • ハック(裏技): 「本棚を全部壊して、新しい箱に詰め替える」という、コードを壊すような荒療治を使う。
  • 無関係な場所をいじる: 「台所の整理」を頼んだのに、「冷蔵庫の中身」を勝手に変えてしまう。

4. 解決策のヒント:「計画」を立てる

面白い発見がありました。AI に「いきなり作業を始める」のではなく、**「まず整理計画を立ててから実行する」**と、成績が少し上がりました。

  • 直接実行: 6% 成功
  • 計画→実行: 14% 成功(2 倍近く改善!)

これは、人間が「まず掃除の計画を立ててから始める」のと似ています。AI にも「考える時間」を与えると、より人間に近い判断ができるようになります。

5. この研究の重要性

この研究は、AI が単に「コードを書く機械」から、「コードの品質を維持・向上させるパートナー」になるためには、**「何を整理すべきかを見極める力」**が不可欠だと示しています。

  • 現在の AI: 指示された作業は完璧にこなせるが、自分で「ここを直すべきだ」と見つけるのは苦手。
  • 今後の課題: AI に「コードの臭い(不具合や整理が必要な箇所)」を嗅ぎ分けさせ、人間が望むような「美しいコード」を提案させる技術が必要です。

まとめ

この論文は、**「AI は優秀な『作業員』だが、まだ『職人(整理整頓のプロ)』にはなれていない」**と伝えています。

AI に「綺麗にしてください」と言うだけではダメで、「具体的にどう綺麗にしたいか」を人間が教える必要があります。しかし、「計画を立てさせてから実行させる」という工夫をすれば、AI も少しずつ人間に近い「整理整頓のセンス」を身につけつつある、という希望も見せています。

今後は、この「CODETASTE」というテスト基準を使って、AI がより人間らしいコードの整理ができるようになるよう、開発が進められていくでしょう。