AIは、そこにある関数をもう一度書く — RepoExecが測った「依存を再利用する力」
AIが書いたコードはテストに通る。だが、リポジトリにすでにある関数を見ず、同じ機能を自前で再実装していることがある。半年後に仕様を変えて既存関数を直しても、散在する再実装まで直りきらない。その無駄と債務を測ろうとしたのが、NAACL 2025 で提案された RepoExec である。テスト通過率ではなく、AIが既存資産をちゃんと再利用できたかを 0~100 で定量化する独立した指標を設けた。
AIの鬼が思わず膝を打つのはこの着眼だ。「動くコード」と「資産を生かしたコード」は別能力なのに、テスト通過率だけで評価していた。論文の実験では、全 18 モデルの中で DIR(依存再利用率)が最高で 42 %。つまり、渡した依存の 6 割近くを無視して自前で書き直している。しかも悪いことに、テストは通る。レビュアーは「動くなら OK」で流す。ここが本当の恐ろしさだ。テスト通過という安心感が、技術負債を隠蔽する。さらに面白いのは、モデルによって失敗の型が分かれたこと。前学習オンリーのモデルは再実装に、instruction-tuned モデルは「呼び方は正しいが複雑に組む」に陥る。AIの性質が, 出力パターンに映る。
中小企業が AI でコード生成を運用するなら、この教訓は痛烈だ。テストが通ったからリリースするな。コードレビューでは、既存関数の再利用を明示的にチェックしろ。あるいは、入力段階で「このプロジェクトの依存リストはこれ。必ず使え」と指示を厳密にしろ。AI は指示に従うが、デフォルトは自前で書く傾向にある。その癖を知った上で、運用ルールを決めないと、一見つながっているが実は散在したコードの修羅場に陥る。
※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。
このニュースの全文は、配信元でお読みいただけます。 Zenn AIで元記事を読む →


