AIによるソフトウェア開発【後編】
AIによるプログラミングの限界と想定される危険性
GPT-3がプログラムコードを生成するのは可能かもしれないが、それは完璧なものだろうか。そうした懐疑論者もソフトウェア開発にAIを応用する可能性は認めている。だが、別の危険性も内包しているという。
前編( Computer Weekly日本語版 10月21日号 掲載)では、OpenAIのGPT-3の影響とAIによるコード生成の可能性を検討した。
後編では、ソフトウェア開発におけるAIの適用分野とその可能性を紹介する。
コード生成の限界
だが、DeepCodeのCEO兼共同設立者のボリス・パスカレフ氏は次のように話す。「コンパイラやコード分析は完璧とはとても言えない。結局、こうしたツールは特定言語の設計の一部として、さらにはこうしたシステムを構築する設計者や開発者の知識の一部として生まれる具体的な問題点を見つけて防ぐように設計、構築されているにすぎない」
パスカレフ氏によると、ソフトウェア開発に存在する重要なバグや問題点は、ソフトウェア開発者が使うプログラミング言語の複雑さや曖昧さに関連しているという。そうした微妙な差異をカバーするのがコードコンパイラや既存のコード分析ツールだ。「AIとグローバル開発のコミュニティーは、世界中の開発者が既に解決した数億のバグを自動的に学習し、開発者が同じ問題やよく似た問題に陥りそうになったときに、それを警告して防ぐことを考えている」とパスカレフ氏は述べる。
DeepCodeのシステムは、エンジンの複雑な組み込みシステムの問題を特定するのに使われた。その問題は、「複数の専門家が何カ月も苦労して探していた深刻な問題だった」と同氏は話す。パスカレフ氏によると、他の開発者が既に解決した何百万ものバグでトレーニングを受けたDeepCodeのシステムがその組み込みシステムに適用され、その問題を「数秒」で特定したという。
一般消費者は、オンラインショッピング時に関連製品やレコメンデーションを検索することに慣れてきている。電池で動く玩具を購入した人は単3電池も買うだろうと提案するEコマースサイトの考え方は、プログラミングにも当てはめることができる。
プログラマーは、新たなプログラミングライブラリを習得するために絶えず学習しなければならない。だがシステムが複雑になるにつれ、特定のプログラミングタスクを実現するのに利用できるAPIのホスト、コンポーネント、マイクロサービスは増えていく。そして今や人間が完全に理解できる限界を超えている。Crowdboticsによると、GPT-3は開発時の問題を解決するオープンソースコードのパッケージをインテリジェントに推奨できるという。もう一つ可能性のある用途には、正式仕様の処理がある。プログラミングの支援として、GPT-3などのAIは人間のプログラマーが作成するコードが正式仕様に準拠しているかどうかをチェックすることも可能だろう。
パスカレフ氏によると、機械学習を使ってコード内の全てのセマンティックなロジックと、可能性のある相互作用、遷移、構成を取り込むと、十分にトレーニングを積んだAIならプログラマーが何をしようとしているかを問題なく説明できるという。AIは大衆の知恵を利用してプログラマーが実現しようとしていることを推測し、他人が行った最も人気のある方法を提案することも可能だ。その結果、プログラマーはそれほど多くのことを学習する必要がなくなる。
AIは、必然的にソフトウェア開発に影響を与える。デバッグをサポートし、開発者がインターネットで利用可能で最も適切なプログラミングライブラリを使ってクリーンなコードを迅速に作成できるよう支援する。GPT-3のようなツールが手作業でのコーディングに取って代わるかどうかを予測するのは難しい。だが、ローコードツールの人気が高まり、そうしたコードに着手するための技術的な障壁が下がっているため、事業部門のユーザーもアプリケーションを作成できるようになっている。
こうしたツールの多くはプログラマーが新たなソフトウェア開発言語の基礎を学ぶときによく使われる「hello world」スタイルのシンプルなアプリケーションの作成には優れている。だが、Trainlineのホルト氏は、全社規模で機能するツールはどの程度あるかに疑念を抱いている。
「コードを記述する必要がないのは素晴らしいことだ。だが、それは危険でもある。使われるコードを最新のものに限定する必要がある」と同氏は話す。
例えばJavaScriptのライブラリには時代遅れのものがたくさんある。ホルト氏が指摘するように、時代遅れのライブラリが使われると、そのノウハウを有する開発者を見つけるのが極めて難しくなるというリスクがある。
最終目標を重視することがより重要になる。それを実現するための技術に魅了されてはならない。「ツール、人材、プロセスを最適化して、最高のカスタマーエクスペリエンスを生み出す」と同氏は話す。
基盤とする技術が何であろうと、これは恐らく最新のソフトウェア開発が重視することだ。最新のソフトウェア開発は、可能な限り最高のカスタマーエクスペリエンスを提供するアプリケーションをビルドすることに他ならない。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[アトラシアン株式会社] IT運用や従業員サポートは生成AIでどう変わる? 使い方や導入の流れは? -
製品資料
[株式会社みらい翻訳] 音声翻訳活用の課題を解決、“本当に使える”ツールの特徴とは? -
製品レビュー
[Wrike Japan 株式会社] 400店舗を支えるWalmart Canada、散在する情報やアナログな管理をどう変えた? -
事例
[Wrike Japan 株式会社] 年間100件超のDXプロジェクトを統合管理、JERAはどのように実現した? -
事例
[Wrike Japan 株式会社] グローバルなクリエイティブ業務を合理化、エスティーローダーに学ぶ実践のコツ
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
JSONをやめてPythonで送る トークン消費を約7割抑えるAIの設計
-
4
9割が頓挫する「AI内製化」 差がついたのはツールより設計力
-
5
「コンテナ型データセンターの検討状況と課題」に関するアンケート
-
6
「有線LAN環境」に関するアンケート
-
7
APIキー奪取から3時間でクラウド掌握 Anthropicが暴いた「バイブハッキング」の現実的な防御策
-
8
「従来のRAG」は限界か Databricksが示す「適応型検索」の勝算
-
9
7割が目標未達のERP導入 予算を狂わせる「10の隠れコスト」
-
10
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
ホワイトペーパーランキング PR
-
1
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
2
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
「スクラム」と「カンバン」の違いとは? アジャイル型開発手法を徹底比較
-
9
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
10
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー