AIによるソフトウェア開発【前編】
GPT-3の登場で見えてきた「AIによるコード生成」の可能性
OpenAIの「GPT-3」は自然言語処理分野に大きな驚きをもたらした。GPT-3が持つ文章生成能力は、プログラムのコーディングにも応用できるのではないか。そう考えた人々による取り組みも始まっている。
プログラミングをデータ中心に変えるAI
ソフトウェアを支える基本モデルはデータの重要性を反映する方向へとシフトしている。アプリケーションアーキテクチャでは、このようなデータ駆動型モデルの頂点を表すのがAIだ。AIはサンプルデータを使ってモデルをトレーニングすることで「プログラミング」される。その後、実社会のデータを使ってモデル自体の決定を下すことができる。トレーニングデータが適切であるほど、トレーニングデータに含まれていないデータセットが提示されても正しい決定を下す可能性が高くなる。
ソフトウェア開発におけるAIの役割に目を向けると、Webで多くの話題を集めていたのがOpenAIの「GPT-3」だった。
GPT-3は自然言語処理の新しいAIだ。GPT-3のデザイナーによると、GPT-3は「テキストを入力して、結果をテキストで出力する」汎用(はんよう)のインタフェースを提供するため、どんな仕事でも英語を使って行うことができるという。2020年6月、OpenAIはGPT-3用のAPIをリリースした。OpenAIはそのアルゴリズムを説明するブログ投稿に次のように記載している。「任意のテキストプロンプトが与えられると、APIは利用者が指定したパターンに一致させようと試み、テキストを補完して返す。利用者は行いたいことの例をほんの少し提示することで『プログラミング』を行うことができる。成功するかどうかは、タスクの複雑さによって異なるのが一般的だ。このAPIにより、利用者が提示した例のデータセット(小規模または大規模)でトレーニングを行うか、ユーザーやラベル付けツールが提示する人間のフィードバックから学習を行うことで、特定のタスクのパフォーマンスを利用者が向上させられるようになる」
実際には、GPT-3のプログラミングでは幾つか例を示す必要がある。その後はあらゆることをGPT-3が判断する。
Twilioでソフトウェア開発者を務めるミゲル・グリンバーグ氏は最近、GPT-3の使用方法を示す例をアップロードした。この例では、GPT-3とPythonの「Flask」フレームワーク(訳注)を使ってTwilioのチャットbotを構築している。このアプリケーションの興味深い点は、同氏が記述するステップによって実在する中で最も強力なAIエンジンの一つが呼び出され、ランダムな質問に人間のように答えることだ。同氏が記述するステップに必要なのは幾つかのかなり基本的なPythonコードだけだ。
訳注:原文は「Flack」だが、Flaskの誤りと判断した。FlaskはPython用のWebアプリケーションフレームワーク。
GPT-3を使ってプログラムを作成しているWebのコメンテーターもいる。CrowdboticsもGPT-3はソフトウェア開発にとって革新的なものと見ている企業だ。同社は最新のブログ投稿に次のように記載している。「高品質の自然言語処理の登場は、人間が使う多くの技術ツールに変革的な影響を与えると考えている。ユーザーインタフェースを備える製品をリリースしているあらゆるテクノロジー企業は、GPT-3が自社のビジネスにどのような影響を与えるかを考えるか、言語をよりインテリジェンスに利用するツールに置き換える戦略を考え出す必要があるだろう」
PayPalでCTO(最高技術責任者)を務めるスリ・シバナンダ氏は、AIのトレーニングを行って作成できるアプリケーションもあると考えている。コードは複数のビルディングブロックで構成される。こうしたビルディングブロックを組み立てることで、大規模で複雑なシステムが生み出される。そのため、プログラマーは繰り返し作業の速度を上げるためにスクリプトを作成することもある。この考え方はシンプルなアプリケーションにも拡張できる。事実、決済アプリケーションはそのような構造になっている。ソフトウェアスタックの最下部にはデータベースやOSが存在する。シバナンダ氏は次のように語る。「AIはコーディングを支援できる。コードと動的なロジックで知識を生み出すことは可能だ。だが、ルールベースのコード作成が可能にするにはそこまでだ」
AIが作成するコードもあるだろう。だが、プログラミングの複雑さのレベルはさまざまだ。AIが適しているタスクもあれば、適していないタスクもある。例えば、ワードプロセッサは文章をインテリジェントに訂正できる。「全てのドキュメントプロセッサは基本的な文法チェック機能を既に多数提供している」とシバナンダ氏は話す。ワードプロセッサは文章を読み取り、文法規則を当てはめる。プログラミングエディタや対話型開発環境でも、構文を訂正するために同じ技法が用いられる。
こうしたルールベースのチェックは、プログラマーがコンパイラと高度なプログラミング言語を使ってアプリケーションを開発する以前から存在していた。実際、コンパイラや静的コード分析ツールは、コードが正しい形式で構築されているかどうかをチェックする。
後編(Computer Weekly日本語版 11月4日号掲載予定)では、ソフトウェア開発におけるAIの適用分野とその可能性を紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[NTTPCコミュニケーションズ株式会社] 「回線速度不足」だけが原因ではない? Web会議の遅延を解決する方法とは -
製品資料
[東京エレクトロン デバイス株式会社] 工場の可用性向上に重要な「7つの領域」と対策 OTセキュリティ強化の基礎知識 -
製品資料
[リコージャパン株式会社] 問い合わせ対応で本来の業務が進まない、総務や情シスの負担をどう減らす? -
製品資料
[リコージャパン株式会社] 自社データから高精度な回答を生成、簡単に生成AIチャットボットを構築する方法 -
技術文書・技術解説
[アトラシアン株式会社] IT運用や従業員サポートは生成AIでどう変わる? 使い方や導入の流れは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
4
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
5
OpenAIが叫ぶ法規制の裏で 情シスが今すぐ固めるべきAI防衛策
-
6
AIエージェント導入を急ぐな 先行企業が「データ基盤」を優先する理由
-
7
ITエンジニア1265人調査 生成AIを使い込むほど「人の確認」が重い理由
-
8
高額GPUが遊んでいるのはなぜ? AIインフラを襲う根深い「データ待ち」問題
-
9
「企業内サーバ環境の利用実態」に関するアンケート
-
10
MS&ADグループの目指す「AX」の全貌 本山CDOが語る変革の本質
ホワイトペーパーランキング PR
-
1
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
「スクラム」と「カンバン」の違いとは? アジャイル型開発手法を徹底比較
-
8
AI時代に成功するための「ナレッジマネジメント」ベストプラクティス
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー