所属部署 研究第三部 技術戦略グループ
氏名:朱丹嬌
AI(人工知能)技術を利用したソフトウエア・プログラミングが普及しつつあります。中でも、プロンプト・プログラミングは、従来のようにプログラマーがコード1を記述してプログラムを作成するのではなく、ソフトウエアを利用するユーザが「このような作業をしてほしい」という要求指示(プロンプト)を示すだけで、プログラムが自動作成される開発手法として注目されます。
プログラム開発手法は、最近注目されているローコード、ノーコード開発をはじめとして、これまでさまざまな改善がされてきました。しかしながら、いずれの手法も、技術を持ったプログラムの作り手(プログラマー)がアルゴリズムを考案して、コードとして記述する必要がありました。一方、プロンプト・プログラミングでは、プログラムを使いたいユーザが、どのように使いたいかをAIに適切に伝えることで、アルゴリズムやコードを考えることなく、プログラム構築ができるようになります。
例えば、県庁所在地を表示するプログラムを作成したい場合の例を以下に示します。
都道府県名と県庁所在地の対を示すことで、AIは県庁所在地を要求していると理解します。最後の「兵庫県:」の指示に対して、AIは県庁所在地変換プログラムを自動構築し、「神戸市」と回答します。
AIが自動でプログラムを構築する手順は以下のように考えられます。@ユーザが提示するプロンプトを自然言語処理で解釈し、Aプロンプト指示の作業手順に適している(とAIが判断した)プログラムを選択の上、B必要に応じて複数のプログラムを組み立て・修正を行い、Cプログラムの実行検証を実施します。ここで、AでAIが選ぶプログラムは、オープンソースでネット上に公開されたプログラムや、プロンプトを提供する企業の自社内にあるプログラム、あるいはこれまでにAIが構築してきたプログラムになります。このようにして、ユーザは、プログラムに必要なアルゴリズムの検討やコードの記述をすることなく、プログラミングができるようになります。
このようなプロンプト・プログラミングは、ソフトウエア業界の開発の在り方に大きな影響を及ぼすだけでなく、ビジネスの現場や社会におけるソフトウエア活用を加速させると考えられます。
前章で説明したように、プロンプト・プログラミングによるプログラム作成自動化手順は、AIの自然言語処理、つまり、人の会話や記述で用いられる言葉を理解し、言葉と言葉の関連性を把握する技術が前提となります。AIがユーザの要求指示(プロンプト)の中から、入力に相当する部分、出力に相当する部分、入力と出力の関係性を解釈し、解釈に沿ったプログラムを選択し、必要に応じて複数プログラムを組み立てていくのですが、これらの工程が的確にできるようになったことで、プロンプト・プログラミングが実用レベルとなりました。
応用先としては、対話形式での数値計算から自然言語処理に関わる分野まで、拡大しています。以下、プロンプト・プログラミングの取り組みを紹介します。
(1)数値計算
プロンプト・プログラミングは、理屈上はどのようなプログラムでも自動構築できます。数値の計算も可能です。例えば、簡単な足し算のプログラムであれば、以下のようにプロンプトを提示することができます。この場合、AIはプロンプトを数値計算の指示ではなく、まずは文字として解釈します。その上で、文字のパターンを適切に導くプログラムとして、数値計算アルゴリズムを選択します。
上記の例の場合、AIは1+1と2、あるいは2+5と7という文字が組み合わせになるアルゴリズムを、足し算と解釈して、4+8について12という正しい結果を回答できます。
(2)粗い文章への補間・補充による表現力の高い文章への変換
文章を記述するプログラムでは、ユーザが数行程度の粗い文章をプロンプト提示すると、その文章を補完・補充し優れた文章を回答します。
米国の非営利団体Open AIは、文章生成言語モデルGPT-3(Generative Pre-Training 3)を開発しました。GPT-3は、ニュース記事のタイトルとサブタイトルを入力することで、疑似的にニュース記事を自動記述するプログラムを構築できます。プログラムが記述した疑似ニュース記事の文章表現力をテストするため、実際に記者が記述した本当のニュース記事と比較したところ、読者は、区別ができませんでした。
(3)自然な会話応答
会話応答の例をプロンプト提示すると、自然な会話ができるプログラムを作成できます。ユーザからの話しかけに対して、自然な回答を行い、ユーザの興味に沿って会話の方向性を導くことができます。
米国のFable Studio社は、Virtual Beingという仮想の人物を創出し、現実世界のユーザとの自然な会話ができるシステムを開発しました。映像上の主人公とユーザ(プレイヤ)が会話しながらストーリーを構築するVRゲームとして、新ジャンルの映像作品を作成しています。
プロンプト・プログラミングは、ユーザの要求指示に対応しますが、人間の会話に必要な、交わされる言葉以外の社会通念、基礎知識を持たないため、AIの自然言語処理には限界があります。言葉の意味を誤解するなどの課題があり、ユーザが使いこなすのに工夫が必要です。
(1)社会常識の理解不足
プロンプト・プログラミングでは、AIが語彙(ごい)、表現の言い回しなどを習得することができますが、長文記述では、同意単語の繰り返し、趣旨に一貫性のない文章を生成する可能性があります。また、人が社会生活の中で共通認識として持っている常識をAIが学んでいないため、誤った文章を生成することがあります。
例えば、ユーザが「私は、仕事にでかける前に、洗濯したTシャツをたたんでいたところ、スーツにほころびがあることに気が付いた。」といった、あいまいで一貫性のない文章を入力した場合、プロンプト・プログラミングに続きの文章を自動記述させると、「私はTシャツを来て仕事にでかけた」と記述回答してしまうことがあります。これは、AIが「スーツ」に対応して捕捉する文章として、「仕事にでかける」ことを予測したためであり、AIが仕事に適したドレスコードという社会常識を持たないことが原因として存在します。
同様に、人が日常的に(前提・背景として)理解している物理現象に関する常識をAIが持たないために発生する誤解があります。
例えば、「人がボールを上に向けて投げたらどうなるか」という質問に、AIが人の腕力の限界を理解していない場合、「ボールは宇宙に飛び出す」と、回答してしまう可能性があります。また、人であれば「意味が分からない」と判断するようなナンセンスな質問にも意味を解釈し、間違った回答をする懸念があります。例えば、「サステナビリティボンドは慣性の法則に従うか」という質問に、「従う」と単純回答してしまうこともあり得ます。
(2)運用にかかる費用と時間
現状、プロンプト・プログラミングの運用に膨大なコストがかかります。具体的には、GPT-3の場合、45TBの事前学習文章データのためのインフラ整備コストや膨大なパラメータを使用した事前学習などの運用コストなどで最大約5億円の費用がかかり、仮にGPU(グラフィックス・プロセッシング・ユニット)1台での学習を仮定すると約355年の計算時間が必要になります。また学習に要する電力は1,287メガワット時(MWh)にも達し、約300世帯の1年間の消費量となります。
(3)ユーザにスキルが必要
どのような指示をプロンプトとして与えればよいか、ユーザ側の工夫、使いこなしが必要になる場合があります。「円周率を求める」プログラムを作成したい場合は、ユーザが、円周率計算に関する知識を持っていないと、指示が難しいでしょう。一例として、ヴィエトの公式2
を使った場合の指示の仕方は、以下のようなものになると考えられます。
このように、プロンプト・プログラミングは、ユーザによって使いこなしやすい応用が異なる、という特徴を持っています。
これらの課題からプロンプト・プログラミングの適用は、限られた分野から進むと想定されますが、より多くの課題に対応するための研究開発も進められています。
プロンプト・プログラミングの普及に向けた課題に対し、さまざまな研究開発が進められています。
現在、スタートアップやIT企業で、プロンプト・プログラミングを活用したアプリケーション開発が加速しています。例えば、企業の広告・宣伝を兼ねたホームページ作成の支援や、オンライン情報の真偽・偏向・有害無害を判断するプログラム開発がすでに進んでいます。
その一方で、ユーザ(企業や個人)には、プロンプト・プログラミングを活用したアプリケーションを利用する際、注意が求められます。例えば、プロンプト・プログラミングで作製したアプリケーションの生成情報にフェイクニュース (AIによる誤ったニュース)や人種・性差別につながるバイアス情報などが含まれる可能性があります。そのような情報を発信してしまうと、企業や個人に対して賠償を含めた責任を負うリスクが発生します。
Twitter社は「不適切な内容が含まれている可能性があるため表示できません」、Facebook社は「ポリシーに違反するコンテンツが投稿されたため、利用が一時的に停止されています」など、情報を取り扱う事業者は、一般的な情報発信において、警告を表示する対策を行ってきました。プロンプト・プログラミングの普及に従い、自社が発信、あるいはサービスで取り扱う情報管理の必要性がますます拡大するでしょう。また、日本の民間団体ファクトチェック・イニシアチブのような、第三者が社会に広がる情報・ニュースや言説の真偽を検証する活動も重要になってくると考えられます。
以上のように、プロンプト・プログラミングが定着するまでには、いくつかの課題はあるものの、モデルの改良や計算処理能力の向上、多様なAIモデルの普及などの技術面でのブレイクスルーによって、AIが人と同等の言語理解を行い、多様なソフトウエア・プログラム開発を推進する世界が広がることが期待されています。
機関誌「日立総研」、経済予測などの定期刊行物をはじめ、研究活動に基づくレポート、インタビュー、コラムなどの最新情報をお届けします。
お問い合わせフォームでは、ご質問・ご相談など24時間受け付けております。