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
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
2
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
3
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
4
「データストレージの活用方法」に関するアンケート
-
5
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
6
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
7
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
8
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
9
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
10
MS月例パッチが1000件突破 人手不足の情シスを襲う「月1回メンテ」の崩壊
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
-
9
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
10
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー