AIはソフトウェア開発の特効薬ではない

AIはソフトウェア開発の特効薬ではない

AIプログラミングツールを使っている開発者のみなさん、作業効率はどれくらい向上しましたか?最近、AI テクノロジーによって開発者の生産性が 2 倍、3 倍、さらには 5 倍に向上する可能性があるという推測が出ています。別のレポートでは、ソフトウェア開発者の生産性は 2030 年までに 10 倍に増加すると予測されています。

皮肉なことに、ソフトウェア エンジニアリング コミュニティは、開発生産性を測定するための指標についてまだ合意に至っていません。そのような指標が存在することは不可能であり、大まかな定量化は欠陥があり不完全であると考える人さえいます。現在、AI が生産性を向上させる能力についての主張のほとんどは定性的なもので、具体的なデータではなく、調査や逸話に基づいています。

しかし、開発の生産性についてさえ合意できない場合、どうすれば AI について正しい判断を下せるのでしょうか?これまでのリモートワークの経験から学んだことがあるとすれば、意思決定の指針となるデータがなければ、必ずトラブルに巻き込まれるということだ。つまり、学問やイデオロギーが優位になり、オンサイト、リモート、ハイブリッドのどの勤務形態が優れているかという議論につながるのだ。

AIの発展の軌跡は、また新たなサイクルのようです。成功裏に前進するためには、定量的な観点から問題を分析する方法を見つけなければなりません。

遅れをとるリスク

現在、AI テクノロジーをめぐる誇大宣伝があまりにも蔓延しているため、冷静な実践者の多くは休憩を取ることさえ選択しています。品質への影響や盗作のリスクなどの現実的な要素を考慮し、最も慎重な企業は撤退し、すべてがどのように展開するかを見守りたいと考えている。

しかし、テクノロジーを基盤とする企業にとって、遅れをとるリスクは生死に関わる問題となり得る。 AIは諸刃の剣です。AIベースの新製品が市場に投入されるだけでなく、製品開発コストが削減され、生産側でのリリースサイクルが短縮されるため、双方向でビジネス開発に役立ちます。

これまでほとんどの企業は「何をするか」に重点を置いてきましたが、AI は「どのようにするか」を推進し、10 倍、あるいは 100 倍の生産性を持つエンジニアリング チームを構築することが期待されています。このギャップを素早く乗り越え、最も効果的かつ効果的な方法で AI ツールを最適化できる人は、生産性の新たな高みに素早く到達し、今後数年間で市場で優位に立つことができるでしょう。対照的に、待って見守るというリスクは、多くの企業にとって確かに耐え難いものです。

適切なトレードオフを行う

ハンマーを手に持つと、すべてが釘のように見えます。同様の状況はAIにも反映されています。

GitHub が最近発表したレポートによると、開発者は AI プログラミング ツールの最大の利点はユーザーのプログラミング言語スキルが向上することだと考えています。もう 1 つの利点は、定型コードの作成などの反復タスクを自動化できることです。 Codecov による最近の実験では、ChatGPT は小さな機能の実装や比較的単純なコードパスの基本的なテストの作成において優れたパフォーマンスを発揮することが示されました。

しかし、他のテクノロジーと同様に、AI にもトレードオフがあります。たとえば、生成 AI や大規模言語モデル (LLM) では、コード ベースをあるアーキテクチャから別のアーキテクチャに移行したり、ビジネス ロジックを新しい機能に組み込んだりするなど、非常に複雑または創造的なタスクを実行することはできません。開発者が、盗作、ライセンス制限、幻覚の可能性をチェックせずに AI が生成した提案を盲目的に受け入れると、予期せぬセキュリティ上の脆弱性や法的紛争が発生する可能性があります。

しかし、AI はソフトウェアの作成と配信の方法に革命をもたらす特効薬である必要はありません。すべての制限があっても、限定されたタスクを決定論的な方法で完了することを妨げるものではありません。既知のタスクの処理時間またはコストを 10 分の 1 に削減できることは、それ自体が大きな改善を意味します。

影響の定量化

ほとんどの開発者はすでに AI を活用したツールを使用しています。 GitHub によると、最近の調査では、ユーザーの 92% が仕事中またはプライベートで AI プログラミング ツールを使用していることがわかりました。そのため、企業は新しい AI ツールの導入前と導入後の生産性の違いを比較するためのベンチマークを早い段階で確立することが重要です。

単純なプロキシ メトリックでも、新しいツールの影響を定量化するのに役立ちます。たとえば、40 万人以上の開発者のコ​​ミュニティを対象に調査を実施したところ、GitHub Copilot を使用する開発者は、AI プログラミング アシスタントを使用しない開発者に比べて、キーストロークごとに 1.3 倍の文字数と 1.22 倍のコード行数を入力することがわかりました。コードが増えても必ずしも生産性が向上するわけではありませんが、開発者は GitHub Copilot を使用してコードをより速く記述しており (ユニット テスト、関数、その他の定型コード)、反復的なタスクにかかる時間と労力を節約していることが証明されています。

同様に、実際の影響を定量化するために、AI ツールへの投資前と投資後にチームが提供する機能を測定する必要があります。各エンジニアが提供する機能の数の増加(および単一の機能を提供するコストの削減)は、AI ツールへのその後の投資に対する強力なサポートと正当性を提供します。

機能の変更とリファクタリングは、AI がコード品質に与える影響を理解するのにも役立ちます。企業が新しい AI プログラミング ツールを適用した後に品質問題に頻繁に遭遇すると、必然的に機能の変更と再構築に多くの時間がかかり、新機能の開発に費やす時間が減ってしまいます。

どのようなソフトウェア開発でも、何らかの変更とリファクタリングは避けられませんが、これら 2 つのタスクが増えると、AI ツールの投資収益率に必然的に影響が及びます。

正しい投資

AI が開発者の生産性を向上させるかどうかという疑問に答えるには、まずその影響を可視化する必要があります。具体的には、開発プロセス全体を通じて、AI がどこで、いつ、どのように最大の投資収益率をもたらす可能性があるかということです。生成 AI が急速に普及し、話題になっている今、真実を理解するために正しいデータを持つことがこれまで以上に重要になっています。

企業が AI 開発ツールに投資すると、ソフトウェア開発に可観測性を適用してチームを強化できます。この可観測性は、AI の限界と機会を迅速に理解するのに役立つだけでなく、生産性に影響を与える要因 (リモート ワーク、DevOps、社内開発者プラットフォームなど) に関する新たな会話のきっかけにもなります。

AIが生産性の向上に重要な役割を果たすことは間違いありません。しかし、より情報に基づいた決定を下せるよう、事実に基づいてその役割を理解する必要があります。

<<:  DAMOアカデミーが大規模モデルテストベンチマークを発表: GPT-4はかろうじて合格、他のモデルはすべて不合格

>>:  ChatGPTはユーザーがペイウォールを回避できないようにBing検索へのアクセスを停止

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

SAPはイノベーションで顧客の成功を支援し、AI時代のデータ主導のビジネス変革の未来を形作ります

SAP は、AI 時代において顧客がデータの潜在能力を最大限に活用し、より深い洞察、より速い成長、よ...

売上高2,684億元の背後にあるアリババのAI技術の全貌

先日終了した双十一では、天猫の取引額は2,684億元に達し、前年比25.7%増加した。この成果の裏に...

...

DeepMindの創設者はチューリングテストを覆したい!外国人男性がAIを使って90日間で3万ドルを稼いだ

チューリングテストは時代遅れですか? DeepMind の創設者 Mustafa Suleyman ...

IoTが災害管理にどのように役立つか

[[405572]]災害管理における IoT の活用は、災害を予測し、早期に当局に警告し、災害の影響...

NetEase はデータ指標の異常をどのように検出し、診断するのでしょうか?

1. 背景指標はビジネスと密接に関係しており、その価値は、問題点やハイライトを発見し、タイムリーに...

...

...

コードスイッチングに7億5000万ドル? Facebook TransCoder AI は 1 つで十分です。

コードの移行と言語の変換は困難で費用のかかる作業です。オーストラリア連邦銀行は、プラットフォームを ...

...

大規模モデル推論の効率が損失なく3倍に向上。ウォータールー大学、北京大学などがEAGLEをリリース

大規模言語モデル (LLM) はさまざまな分野でますます使用されるようになっています。ただし、テキス...