AI は山ほどのコードも作成します!調査によると、GitHub Copilot のコードは保守性が低く、リファクタリングや既存コードの再利用よりも「無意識の書き換え」を好む傾向があることがわかった。

AI は山ほどのコードも作成します!調査によると、GitHub Copilot のコードは保守性が低く、リファクタリングや既存コードの再利用よりも「無意識の書き換え」を好む傾向があることがわかった。

プログラマーは皆、AI はコードの作成に役立つと言いますが、コードの品質は本当に信頼できるのでしょうか?

結果はあなたを驚かせるかもしれません。

GitClear という会社は、過去 4 年間で 1 億 5000 万行を超えるコードを分析し、GitHub Copilot ツールを追加したことで、コードの変更率(つまり、コードが作成された直後に再作業、変更、または削除される状況) が大幅に増加したことを発見しました。

2020年の3.3%から2023年には7.1%となり、倍増することになる。

それに応じて、コードの再利用率も大幅に低下しました。

つまり、AI によって作成されたコンテンツの多くは「ゴミの山」に等しく、ビジネスの変化に応じて変更することが難しいということです。

AI プログラミング ツールは宣伝されているほど使いやすいとは程遠いようですね。

Copilotはコードを直接追加することを好み、再利用を推奨しません。

GitClear が収集した 1 億 5000 万行のコードのうち、3 分の 2 は匿名の民間企業からのものであり、残りの 3 分の 1 は Google、Meta、Microsoft のオープンソース プロジェクトからのものである。

これらすべてでは、複数のブランチでコミットされた同一のコード、空白行、その他の意味のないコード行などの「ノイズ」データが除外されます。

調査の主な対象は、Microsoft の GitHub Copilot です。

同社は2021年6月にベータ版をリリースした。CEOによると、2023年第3四半期の時点で、このツールのサブスクリプション料金を支払っている開発者は100万人を超えており、開発者はコードの46%を記述し、コーディング速度を55%向上させることができるという。

しかし、ここでは、GitClear はコーディング速度ではなく、品質のみを重視します。

「AI プログラミング ツールは、慎重で細心の注意を払う上級開発者のようなものでしょうか。それとも、目の前のタスクを完了することだけを気にする短期契約者のようなものでしょうか。」

この目的のために、彼らは 1 億行を超えるコードの追加、削除、更新、移動、コピー/貼り付けなどを数え、次のような傾向表を作成しました。

このことから次のことがわかります。

Copilot によるコードの追加とコードのコピー/貼り付けの割合は、更新、削除、移動の割合よりも大幅に増加しました。

また、モバイル コードの割合が 2020 年の 25% から 13.4% に低下していることも明確にわかります。これは、すべてのデータの中で唯一の逆の例外です。

移動が減るということは、リファクタリングと再利用が減り、コードの追加やコピー/貼り付けが大幅に増加することを意味します。これは次のことを意味します。

AI プログラミング ツールは、コードの再利用や既存コードの変更を推奨せず、「無意識の書き換え」を推奨する傾向があります。

ここで、GitClear は、新しいコードの過度の追加やコピー/ペーストも、コードの長期的な保守性に非常に悪影響を及ぼすと指摘しています。

これは実は、人間のプログラマーの間で古くからある問題です。プログラマーは、既存のコードを再利用して統合する方法を考えるよりも、現在の問題を解決する方が速くて簡単だと感じているのかもしれません。また、同じプロジェクト チーム内の開発者間のコミュニケーションが不十分なことが原因である可能性もあります。

被害を受けるのは後ろにいる整備員たちだ。

Copilot のコード品質の低下は、コード離脱率(Churn)にも反映されています。

ここでの標準的な定義は、作成後 2 週間以内に変更されるコードの割合です。

表を見ると、解約率は 2020 年は 3.3% (当時は Copilot は使用されていませんでした)で、2023 年には 5.5% に増加していることがわかります。

GitClear は、この割合が 2020 年から 2024 年には 7.1% に倍増すると予測しています。

これは、AI の高速化によって十分な品質のコードが生成されないことを示しています。

上記の結論に加えて、GitClear は、Copilot のコード提案アルゴリズムが、常にユーザーに受け入れられる可能性が最も高い提案を行うように設計されていることも発見しました。

この選択は一見合理的に思えるかもしれませんが、実際にはコードを簡潔で読みやすい状態に保つことの重要性を無視しています。

全体的に、この結果は、AI プログラミング ツールが人間のプログラマーに取って代わるのではないかと心配する人々を安心させるのに十分です。

GitClear の調査結果を裏付ける最近の研究が数多くあります。

たとえば、CodeScene のレポートでは次のように述べられています。

AI はコーディング作業において人間に取って代わるには程遠く、現在の AI は誤りやすく、既存のコードを安全に修正できるには程遠い状態です。

ネットユーザーの経験もほぼ同じ

Copilot を実際に使用した人はどのように言っているのでしょうか?

あるネットユーザーはこう言った。

AI によって与えられたコードをチェックし、バグを修正するのにあまりにも多くのエネルギーを費やしたため、2 か月後にメンバーシップをキャンセルしました。

彼の意見では、この段階では自分でコンテンツを書く方がはるかに簡単です。なぜなら、自分が書きたいことがわかっているし、ロボットのバグを修正するよりも自分のバグを修正する方が常に簡単だからです。

Copilot の代わりに ChatGPT を使用している人も、TA の言葉に同意しました。

AI の能力には驚かされますが、それでも「良いコード」とは呼べません。

もちろん、Copilot は誰にとってもまったく役に立たないわけではありません。

20年以上ウェブ開発に携わってきたプログラマーはこう言います。

本格的な SQL や TypeScript コードを記述しようとすると常に失敗しますが、テスト、リクエスト処理、React スタイルなどを作成するときには、多くの時間を節約できます。

Copilot (または他の AI コーディング ツール)の使用感はいかがですか? GitClear の調査結果に同意しますか?

<<:  GenAI の成功への道における 10 の「落とし穴」

>>:  MoEの大型モデルをゼロから構築するための神レベルのチュートリアルが登場

ブログ    
ブログ    

推薦する

大連理工大学は、小規模サンプル認識にDeepBDCを提案し、6つのベンチマークで最高のパフォーマンスを達成した。

本論文では、確率と統計に基づく類似度測定法であるブラウン距離共分散をディープラーニングに初めて導入し...

...

...

「段階的に考える」だけでは不十分です。モデルを「より多くのステップで考える」ようにすれば、より有用になります。

今日では、大規模言語モデル (LLM) とその高度なヒント戦略の出現により、特に古典的な NLP タ...

...

2018年世界AI大学ランキング:カーネギーメロン大学がトップ、清華大学は13位

最近、CSRankingsは2018年のコンピューターサイエンスのトップスクールのランキングを発表し...

2024年のテクノロジートレンド: AIは金融サービス企業のデジタル変革の実現に役立つ

AIは銀行の顧客サービスの性質を変える銀行やその他の金融機関は、コールセンターからチャットボット、よ...

宇宙インテリジェンスは産業変革に新たな推進力をもたらす。ファーウェイは能力とパートナーを開放し、ウィンウィンの時代を実現する

8月5日、ファーウェイ開発者会議2023(HDC 2023)全社スマートテクノロジーフォーラムが深セ...

Hugging FaceはLLM向けの新しいGitHubです

翻訳者 |李睿レビュー | Chonglou大規模言語モデル(LLM)は近年テクノロジー業界に旋風を...

...

機械学習の実践: Spark と Python を組み合わせるには?

Apache Sparkはビッグデータの処理や活用に最も広く使われているフレームワークの一つであり...

人工知能による影の検出と除去、反射に基づく影の検出と除去方法を実現

AI による影の検出と除去、反射ベースの影の検出と除去方法に向けて、概要: 影は画像によく見られる要...

偽造AIがまた進化しました!たった一枚の写真で、スピーチと歌のビデオが自動的に生成されます

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

5Gの導入により、インテリジェント交通は4つの大きな質的変化をもたらします。

現在、あらゆるToB市場において、5G+AIが並行して未来を創造しています。 [[331677]] ...

2022年にロボット工学の急成長を支える5つの要因

ロボット工学は、ロボットの構想、設計、製造、操作を扱う工学の分野です。ロボット産業はここ数年で驚異的...