Gen AI はコーディングを高速化できる可能性があるが、企業は依然としてリスクを考慮する必要がある
期待される利益を得るために、Gen AI を活用したソフトウェア開発に資金を提供したい組織は、これには悪影響が伴う可能性があることも理解する必要があります。
開発者は生成人工知能 (Gen AI) を利用して、より高速かつ効率的にコードを作成できるようになりましたが、これには以前と同様に慎重に行う必要があります。
ソフトウェア開発における AI の使用は新しいものではないかもしれませんが、少なくとも 2019 年から存在しており、Gen AI は自然言語、画像、さらに最近ではビデオやコードを含むその他の資産の生成に大幅な改善をもたらしています。とForresterの副社長兼主席アナリストのディエゴ・ロ・ジュディス氏がZDNETに語った。
Lo Giudice氏はZDNETに対し、これまでのAIの反復は主にコードテストに使用され、機械学習を活用してテスト戦略のモデルを最適化していたと語った。 Gen AI は、これらのユースケースを超えて、インタラクティブにクエリを実行して情報を迅速に見つけることができる、専門家のピア プログラマーまたはスペシャリスト (テスターやビジネス アナリストなど) へのアクセスを提供します。 Gen AI は、ソリューションやテストケースを提案することもできます。
同氏は、「従来のAIやその他のテクノロジーでは得られなかった生産性の大幅な向上を初めて目にしている」と述べた。
IDC は、2026 年までに、アジア太平洋地域の新しいアプリケーションの 40% が、Gen AI を統合してユーザー エクスペリエンスを強化し、新しいユースケースを提供する「インテリジェント アプリ」になると予測しています。
ローコード開発プラットフォームである OutSystems の委託による IDC の調査によれば、具体的には、ソフトウェアの開発と設計で Gen AI を使用することの最大の効果は、生産性と開発速度の向上です。
このような潜在的なビジネス上の利点により、アジア太平洋地域の組織の 30% は、アプリ開発における Gen AI 機能に対して 11% から 20% の割増料金を支払うことになると、IDC 調査プロジェクトは考えています。
同調査会社はさらに、2025 年までに世界中の企業の 60% 以上がローコード テクノロジを採用して、アプリケーションの配信を高速化し、業務効率を向上させると予想しています。
Lo Giudice氏は、開発者は各段階で専用の「TuringBot」を使用してソフトウェア開発ライフサイクル全体でAIを活用し、技術スタックとプラットフォームを強化できると述べた。
Forrester は、TuringBots という造語を作成し、開発者がコードを構築、テスト、デプロイするのに役立つ AI を活用したツールを説明しました。同調査会社は、TuringBots が新世代のソフトウェア開発を推進し、技術文書の検索やコードの自動補完など、開発ライフサイクルのあらゆる段階で支援すると考えています。
たとえば、「TuringBot の分析/計画」はソフトウェア開発の分析と計画フェーズを容易にすることができると Lo Giudice 氏は詳しく述べ、そのような AI 製品の例として OpenAI の ChatGPT と Atlassian Intelligence を挙げました。 Google CloudのGemini Advancedなどの他の企業は、コード実装を使用してマイクロサービスとAPIの設計を生成できる一方、Microsoft Sketch2Codeは手書きのスケッチUIから実用的なコードを生成できると同氏は述べた。
Lo Giudice 氏は、「コーダー チューリングボット」は現在、ソフトウェア開発における Gen AI の最も人気のあるユースケースであり、プロンプトからだけでなく、一般的な統合開発環境 (IDE) のオートコンプリートを介してコード コンテキストやコメントからもコードを生成すると付け加えました。これらには、JavaScript、C++、Python、Rust などの一般的な言語が含まれます。
生成モデルの大きな魅力は、多くの言語でコードを記述できることであり、開発者がコード行の生成、リファクタリング、またはデバッグを行うためのプロンプトを入力できることだと、Boomi のアーキテクチャおよび AI 戦略責任者の Michael Bachman 氏は述べています。 「基本的に、Gen AIと対話するすべての人間は、準開発者および上級開発者です」と彼は言いました。
このソフトウェア ベンダーは、自然言語リクエストをアクションに変換する Boomi AI など、Gen AI を自社製品の一部に統合しています。 Boomi氏によると、開発者はBoomi AIを使用して統合プロセス、API、データモデルを設計し、アプリケーション、データ、プロセスを接続できるという。
同社は Gen AI を使用して自社のソフトウェア開発者をサポートし、ソフトウェア開発者はプラットフォームを実行するコードを注意深く監視しています。
「そしてそれが鍵だ」とバックマン氏は語った。 「アプリケーション全体を構築するための主要なソースとして Gen AI を使用している場合は、おそらく失望するでしょう。優れた開発者は、コードを本番環境に導入する前に、Gen AI を出発点として、または失敗シナリオを徹底的にテストするために使用します。それが社内でどのように対処するかです。」
彼のチームは、顧客の「実用的な AI 目標」を満たす機能の構築にも取り組んでいます。たとえば、Boomi は検索システムを作成しています。その理由は、クライアントの多くが、キーワード検索を Web サイト上のカタログなどのコンテンツを自然言語で検索する機能に置き換えたいと考えているためです。
Lo Giudice 氏は、開発者は Gen AI を使用してセキュリティを修復することもでき、AI が生成したコードの脆弱性を探し、開発者が特定の脆弱性を修正するのに役立つ提案を提供できると述べました。
Forrester の主席アナリストである John Bratincevic 氏は、従来のコーディングと比較して、ノーコードまたはローコードの開発戦略はスピード、組み込みの品質、適応性を提供できると述べています。
また、統合されたソフトウェア開発ライフサイクル ツールチェーンと、非プログラマーや IT コミュニティ外の「市民開発者」を含む拡張された人材プールへのアクセスも提供すると、ブラチセビッチ氏は述べました。
しかし、組織は、特に数千人に及ぶシチズン開発者の管理において、大規模実装のガバナンスに関連した課題に直面する可能性があると同氏は警告した。価格設定は通常、エンドユーザーの数に基づいて決定されるため、価格設定も障壁となる可能性があると同氏は述べた。
Gen AI や AI を導入したソフトウェア アシスタントにより、若手専門家がサイバーセキュリティなどの人材不足を埋めることができる一方で、これらすべてのタスクには依然として専門家の目によるレビューが必要であると Lo Giudice 氏は述べています。
Bratincevic 氏もこれに同意し、ソフトウェア開発ライフサイクルにおける開発者や他の従業員が、プラットフォームが生成するものや AI を使用して自動構成されるものすべてをレビューする必要があると強調しました。
「ソフトウェア開発においてAIを盲目的に信頼する段階にはまだ達しておらず、おそらく今後もそうならないだろう」と同氏は述べた。
Thoughtworksのアジア太平洋地域CTOであるScott Shaw氏によると、その1つは考慮すべきセキュリティ要件だという。この技術コンサルタント会社は、IDE 内であれ、開発者の作業をサポートするためであれ、効率を向上させるために新しいツールを定期的にテストしています。ショー氏はZDNETに対し、同社は顧客にとって適切な場合に、顧客の同意がある場合にのみそうしていると語り、一部の企業は依然としてGen AIの利用に不安を抱いていると指摘した。
「私たちの経験では、[Gen AI を活用した] ソフトウェア コーディング ツールは、セキュリティをそれほど認識しておらず、セキュリティ コーディングの実践に [適応] していません」と彼は言いました。たとえば、規制された環境やデータに敏感な環境にある組織で働く開発者は、ソフトウェア配信プロセスの一環として、追加のセキュリティ慣行や管理に従う必要がある場合があります。
コーディングアシスタントを使用すると生産性が倍増しますが、開発者はコードを適切にテストし、パイプラインに沿った品質要件を満たすことができるかどうかを自問する必要があると同氏は指摘しました。
これは両刃の剣です。組織は、開発する製品の安全性を高めるために Gen AI がコーディング手法をどのように強化できるか、また同時に、AI が新たな攻撃ベクトルや脆弱性によって追加のセキュリティ リスクをどのようにもたらすかに注目する必要があります。
Gen AI は大規模なスケールを提供するため、関連するリスクも含め、組織が行うすべてのことを増幅すると Shaw 氏は述べています。これにより、より多くのコードを生成できるようになり、潜在的なリスクの数が指数関数的に増加することも意味します。
AI モデルを知る
ローコード プラットフォームは Gen AI Turingbot がソフトウェア開発を支援するための優れた基盤である可能性がありますが、組織はどの大規模言語モデル (LLM) が使用されているかを把握し、それらが企業ポリシーに適合していることを確認する必要があると Braticevic 氏は述べました。
同氏は、この点でGen AIプレーヤーの「ばらつきが激しい」と述べ、企業がOpenAIのChatGPTなどのパブリックLLMを使用する場合はバージョンとライセンス契約を確認するよう促した。
同氏は、自然言語からコードやコンポーネント構成を生成する Gen AI を利用した機能はまだ成熟していないと付け加えた。これらは市民開発者の間で採用が増えるかもしれませんが、プロの開発者に好印象を与える可能性は低いです。
Bratincevic 氏は、「現時点では、実績があり、十分に統合されたローコード プラットフォームと Gen AI の組み合わせは、AI で優れたゲームを語る実績のない軽量プラットフォームよりも賢明なアプローチです。」と述べています。
LLM はコード作成という重労働を実行しますが、出力が正確であることを保証するために、人間は何が必要かを理解し、関連するコンテキスト、専門知識、デバッグを提供する必要があるとバックマン氏は付け加えました。
開発者は、特にオープンソース ツールを使用した場合、独自のデータと知的財産 (IP) の共有にも留意する必要があると同氏は述べています。別の組織の IP を使用して Gen AI モデルをトレーニングしたり、その逆のことがないように、コードや財務数値などのプライベート IP の使用を避ける必要があります。 「そして、オープンソースの LLM を使用することを選択する場合は、本番環境に導入する前に十分にテストされていることを確認してください。」と彼は付け加えました。
「私は、Gen AI ツールがトレーニングされるモデルについて非常に慎重になるという間違いを犯します。それらのモデルに価値を持たせたい場合は、適切なパイプラインを設定する必要があります。そうしないと、Gen AI が原因で次のような問題が発生する可能性があります。」さらに多くの問題がある」と彼は警告した。
まだ黎明期であり、テクノロジーは進化し続けています。ソフトウェア開発者を含む役割がどのように変化するかに対するその影響は、依然として確実ではありません。
たとえば、AI を活用したコーディング アシスタントは、スキルの評価方法を変える可能性があります。 Shaw 氏は、開発者が優れているとみなされるのは、経験が豊富であるためでしょうか、それともコーディング シーケンスをすべて覚えているためでしょうか?
今のところ、彼は、潜在的な最大のユースケースは、情報を要約する Gen AI の能力であり、開発者がビジネスをより深く理解するための優れた知識ベースを提供できることであると考えています。その後、その知識を具体的な指示に変換できるため、システムはタスクを実行し、顧客が望む製品や機能を構築できます。
