AI支援プログラミングの現状:AIツールは速度を向上させるが、エラーコードも大幅に増加

AI支援プログラミングの現状:AIツールは速度を向上させるが、エラーコードも大幅に増加

ソフトウェア開発の世界では、AI ツールの人気が高まっています。昨年、GitHub は、AI 支援ツールにより開発者のプログラミング速度が 55% 向上したというレポートを発表しました。

しかし、AI ツールの助けを借りて書かれたコードはより優れているのでしょうか? GitClearは、2020年1月から2023年12月までに書かれた1億5,300万行のコードを調べたところ、作成後に変更されたコード行数が以前に比べて大幅に増加し、2021年と比較して2024年には2倍になっていることを発見しました。

つまり、AIツールではプログラミング速度は向上したが、初めて書くときのエラーも大幅に増加したということになります。比喩的に言えば、AI を使用してコードの作成を支援することは、コードの保守性を確保することよりも長いコードの書き方を気にする短期契約労働者を雇うようなものです。

AIは元のコードの間違いをコピーする

開発者セキュリティ企業Snykはレポートの中で、GitHubのAIプログラミング支援ツールCopilotは安全ではないと指摘した。既存のコードベース自体にセキュリティ上の問題があれば、ツールで書かれたコードも安全ではないことになる。

Snyk は 2 月 22 日のレポートで、Copilot はコード内に存在するセキュリティ問題をコピーするため、既存のセキュリティ脆弱性によって Copilot コードのセキュリティがさらに低下すると指摘しました。

Amazon CodeWhisperer、ChatGPT など、市場にはすでに多くの生成 AI プログラミング ツールが存在します。既存のツールの最大の問題は、セマンティクスを理解できないため、コードについて判断できないことです。

GitHub Copilot は、過去の膨大なコードから学習し、特定のパターンと構造を形成して、コード スニペットを生成します。この学習方法には一定の利点がありますが、欠点もあります。 Copilot コードは、既存のセキュリティの脆弱性を複製したり、隣接するファイルから不適切なプラクティスをコピーしたりする可能性があります。

影響を軽減するにはどうすればいいでしょうか? Snyk は、開発者がコードを手動でチェックする必要がある、セキュリティ チームが SAST ガードレールを設定する必要がある、開発者がセキュア プログラミング ガイドラインに従う必要がある、セキュリティ チームが開発チームをトレーニングし、各チームのバックログの問題を分類して優先順位で並べ替える必要がある、実行チームがセキュリティ ガードレールの設定を強制する必要がある、といった提案を行いました。

一般的に、各ビジネス ソフトウェア プロジェクトの実際のコードには平均 40 個の脆弱性があり、そのうち約 3 分の 1 が高リスクの脆弱性です。 AI 生成ツールはこれらの脆弱性を再現し、壊滅的な結果をもたらす可能性があります。クロスサイト スクリプティング (XSS)、パス トラバーサル、SQL インジェクション、ハードコードされた暗号化キーなどのセキュリティ問題は比較的よく見られます。

そのため、業界ではほぼコンセンサスが得られており、現時点では AI 支援プログラミングはまだ黄金時代を迎えておらず、AI は十分ではないということです。

しかし、将来的にはAI支援プログラミングが期待される

GitHubのCEOであるトーマス・ドームケ氏は、少し前のインタビューで次のように語った。「開発者はAI時代に突入しました。今や疑問は明らかです。どれだけ早くAIに乗り換えるつもりですか? 過去にとらわれ続け、歴史の間違った側に立って、生産性向上の大きなチャンスを無視するつもりですか?」

GitHub Copilot は、実は Microsoft が所有しています。最新の財務報告によると、Copilot の有料ユーザー数は直近の四半期で 130 万人を超えており、前四半期に比べて 30% 増加しています。すでに 50,000 社が Copilot を使用しています。

トーマス・ドームケ氏は、プラットフォーム上でユーザーが書いたコードの約半分はAIによって生成されたものだと語った。トーマス・ドームケ氏は、AI が生成したコードには人間のプログラマーによる監督とレビューが必要であるという見解がコミュニティで一般的に受け入れられていると考えています。

Copilot はプログラミングの問題解決に役立つため、特に初心者プログラマーが Copilot を使用することを好むことは特筆に値します。

プログラミングの自動化が進むにつれて、コード内のエラーがますます増える可能性については、すでに議論されています。トーマス・ドームケ氏は、コパイロット導入後のエラー増加は「正常」であり、AIがエラー急増を引き起こしたという証拠はないと述べた。

それは本当ですか?必ずしもそうではありません。初心者プログラマーが AI を大規模に使用した場合、エラーが発生すると初心者はエラーを見つけられず、コード全体の品質が低下する可能性があります。

Microsoft は AI ツールに大きな期待を寄せています。プログラミングに加えて、Copilot が電子メールの作成、スプレッドシートの作成、Office ドキュメントの分析にも役立つことを期待しています。 Microsoft は Windows PC キーボードに「Copilot」ボタンも追加しています。 Googleも同様のツールを開発している。

マイクロソフトのCEO、ナデラ氏は最近の収益報告会で、GitHub Copilotとその生産性の問題について多くの証拠とデータがあり、結果は良好だと語った。ナデラ氏は、他の Copilot アプリケーションも問題なく動作すると期待している。

つまり、Copilot はまだ新しいものです。しばらく経って、より多くのデータが得られれば、上記の問題についてより深く理解できるようになると信じています。 (ナイフ)

<<:  ソラの素晴らしい映像は驚異的で、ハリウッドの監督は8億ドルのスタジオを急遽撤去しました。ソラの「社内ベータ」が予定より早く開始、映画・テレビ業界に失業の波が押し寄せる

>>:  ChatGPTを使用して、書類手続き全体を迅速に完了します

ブログ    
ブログ    

推薦する

包括的なデータサイエンスC/C++機械学習ライブラリコレクション、Baidu検索は不要

はじめにと動機 - なぜ C++ なのか? C++ は、動的負荷分散、適応型キャッシュ、大規模なデー...

彼は17歳でiOSの脱獄の父となり、25歳で自動運転車を開発した。

[[271960]]彼は5歳の時に初めてコンピュータプログラムを書きました。14歳の時、自作のマッ...

最新の出来事を常に把握しましょう! Soraモデルテキスト生成ビデオをサポートするWebクライアント

みなさんこんにちは。JavaプログラマーのChenです。最近、Open AIが再び人気を集めており、...

製造および自動化アプリケーション向けの人工知能技術の選び方

人工知能 (AI) の定義は、産業オートメーションにおける生産と、研究室外の日常生活では大きく異なり...

地球と宇宙の廃棄物問題を解決するためにAIを活用する4つの企業

人工知能は、世界中の組織において情報に基づいた意思決定を行うための重要なツールとなっています。人工知...

機械学習に必須: TensorFlow を使用するための 11 のヒント

[[326623]] TensorFlow 2.x は、モデルの構築と全体的な使用において多くの利便...

27,303件のホットなコメントを調べた結果、なぜ「紅炎火水」は未だに世間から嘲笑されているのか?

AI開発者会議でスピーチをしている最中に、ロビン・リーは見知らぬ人から頭に水の入ったボトルをかけら...

人工知能は将来言語をどのように変えるのでしょうか?

人工知能 (AI) とは、人間の知的思考や行動の方法や技術をシミュレートすることで、コンピュータ シ...

AI によってビデオの偽造が容易になるのでしょうか?

ああ、あの時のビデオテープが本当にあればよかったのに!ジェームズ・コミー氏は6月8日、上院情報委員会...

...

AI はサプライ チェーンのセキュリティの確保にどのように役立ちますか?

サプライ チェーンは、生産におけるあらゆるリンクの源です。原材料から製造、流通まで、各ステップで最も...

...

コンピュータービジョン: 画像検出と画像セグメンテーションの違いは何ですか?

人工知能における画像処理人工知能には画像処理のためのさまざまなタスクがあります。この記事では、物体検...

...