(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-09-30
(45)【発行日】2025-10-08
(54)【発明の名称】プロンプトエンジニアリングコンピュータ、プロンプトエンジニアリング方法及びプログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20251001BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2024201642
(22)【出願日】2024-11-19
【審査請求日】2024-11-26
【早期審査対象出願】
(73)【特許権者】
【識別番号】316017343
【氏名又は名称】株式会社ソフトクリエイト
(74)【代理人】
【識別番号】110004440
【氏名又は名称】弁理士法人ソシデア知的財産事務所
(72)【発明者】
【氏名】畠山 覚
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】米国特許出願公開第2024/0362213(US,A1)
【文献】中国特許出願公開第118964080(CN,A)
【文献】米国特許出願公開第2024/0338232(US,A1)
【文献】中国特許出願公開第118152430(CN,A)
【文献】米国特許第11995180(US,B1)
【文献】中国特許出願公開第118410145(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
大規模言語モデルにプロンプトを入力し、前記プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータであって、
前記プロンプトを取得するプロンプト取得部と、
前記プロンプトを解析するとともに、各ボットの特徴を示すインデックスを参照し、
前記プロンプトと関連度が高いボット候補の中から、前記プロンプトに対して、回答を行う2以上のボットを決定する決定部と、
前記ボットに対する質問データを生成する質問データ生成部と、
前記質問データに基づき、前記ボットの其々に質問する質問部と、
前記ボットの其々が生成した各回答を取得する回答取得部と、
前記各回答を、前記プロンプトに対する回答として纏めた回答文書を生成する回答文書生成部と、
前記回答文書を、前記プロンプトに対する回答として出力する出力部と、
を備えるプロンプトエンジニアリングコンピュータ。
【請求項2】
前記質問データ生成部は、少なくとも1以上のボットから回答を取得できなかった場合、前記質問データの質問文を、別の質問文に置換した質問データを生成し、
前記質問部は、置換後の質問データに基づき、回答を取得できなかったボットに質問する、
請求項1に記載のプロンプトエンジニアリングコンピュータ。
【請求項3】
各ボットから回答そのものを取得できなかったか否か、各ボットから回答を予め設定された所定時間以内に取得できなかったか否か、又は、各ボットから取得した回答に所定の回答文が含まれているか否かの何れかの条件に基づいて、前記少なくとも1以上のボットから回答を取得できなかったか否かを判断する取得判断部、
を更に備える請求項2に記載のプロンプトエンジニアリングコンピュータ。
【請求項4】
前記決定部は、前記置換後の質問データを質問したボットから、回答を取得できなかった場合、回答を行う別のボットを決定する、
請求項2に記載のプロンプトエンジニアリングコンピュータ。
【請求項5】
前記決定部は、所定の回数以上、回答を取得できなかった場合、別のボットの決定を終了し、
前記回答文書生成部は、前記プロンプトに対する回答として回答不可能である旨の回答不可能文書を生成し、
前記出力部は、前記回答不可能文書を、前記プロンプトに対する回答として出力する、
請求項4に記載のプロンプトエンジニアリングコンピュータ。
【請求項6】
前記プロンプト取得部は、所定の内容に関するプロンプトを取得し、
前記決定部は、前記所定の内容に関するプロンプトに対して、第1カテゴリに関するボット及び第2カテゴリに関するボットを少なくとも含む2以上のボットを決定する、
請求項1に記載のプロンプトエンジニアリングコンピュータ。
【請求項7】
前記所定の内容が、所定の物品であり、
前記第1カテゴリが、前記物品の販売場所であり、
前記第2カテゴリが、前記物品に関連する場所である、
請求項6に記載のプロンプトエンジニアリングコンピュータ。
【請求項8】
前記所定の内容が、所定の物品であり、
前記第1カテゴリが、前記物品を構成する部品であり、
前記第2カテゴリが、前記部品の脆弱性である、
請求項6に記載のプロンプトエンジニアリングコンピュータ。
【請求項9】
前記所定の内容が、患者の治療法であり、
前記第1カテゴリが、診療科であり、
前記第2カテゴリが、薬局であえる、
請求項6に記載のプロンプトエンジニアリングコンピュータ。
【請求項10】
前記所定の内容が、学生生活であり、
前記第1カテゴリが、学科であり、
前記第2カテゴリが、キャリア支援である、
請求項6に記載のプロンプトエンジニアリングコンピュータ。
【請求項11】
大規模言語モデルにプロンプトを入力し、前記プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータが実行するプロンプトエンジニアリング方法であって、
前記プロンプトを取得するステップと、
前記プロンプトを解析するとともに、各ボットの特徴を示すインデックスを参照し、
前記プロンプトと関連度が高いボット候補の中から、前記プロンプトに対して、回答を行う2以上のボットを決定するステップと、
前記ボットに対する質問データを生成するステップと、
前記質問データに基づき、前記ボットの其々に質問するステップと、
前記ボットの其々が生成した各回答を取得するステップと、
前記各回答を、前記プロンプトに対する回答として纏めた回答文書を生成するステップと、
前記回答文書を、前記プロンプトに対する回答として出力するステップと、
を備えるプロンプトエンジニアリング方法。
【請求項12】
大規模言語モデルにプロンプトを入力し、前記プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータに、
前記プロンプトを取得するステップ、
前記プロンプトを解析するとともに、各ボットの特徴を示すインデックスを参照し、
前記プロンプトと関連度が高いボット候補の中から、前記プロンプトに対して、回答を行う2以上のボットを決定するステップ、
前記ボットに対する質問データを生成するステップ、
前記質問データに基づき、前記ボットの其々に質問するステップと、
前記ボットの其々が生成した各回答を取得するステップ、
前記各回答を、前記プロンプトに対する回答として纏めた回答文書を生成するステップ、
前記回答文書を、前記プロンプトに対する回答として出力するステップ、
を実行させるためのコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成AI(Artificial Intelligence)の活用に有効な技術に関する。
【背景技術】
【0002】
近年、生成AIの普及が進んでいる。生成AIにおいて、適切なプロンプトエンジニアリングが重要であり、適切なプロンプト(質問、説明、指示、要約等)を用いることにより、回答精度を高めている。
現状、生成AIに用いるプロンプトの文字数には、制限が設定されており、例えば、ある生成AIでは、この文字数の制限が、128kトークンに設定されている。そのため、質問者が入力したプロンプトの文字数によっては、制限に抵触し、質問者が求める回答が得られない事態が発生していた。
このような事態に対処するための技術として、例えば、特許文献1では、メッセージアプリケーションにおいて、メッセージの内容に応じたボットを切り替えて、応答内容を作成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した事態を回避するために、生成AIは、プロンプトに対する回答を生成するためのヒント情報を、ベクトル化及びベクトルデータベースを利用して取得し、このヒント情報とプロンプトとをセットにして回答を生成している。
しかしながら、このベクトルデータベースにも、制限が設定されており、例えば、あるベクトルデータベースは、最大サイズが1ファイル256MB(megabyte)に設定されており、合計でも、最大サイズが数10GB(gigabyte)程度に設定されている。そのため、ビッグデータに対して、生成AIを用いることが困難となっている。一方、生成AIは、ベクトルデータベースによる類似検索を行わなければ、適切なヒント情報が得られないため、回答精度の低下を招いていた。
これにより、ビッグデータをベクトル化する場合、生成AIの利用者は、自身がゼロからベクトル化処理及びベクトルデータベース作成処理を実行し、最適なベクトルデータベースを準備するか、又は、回答精度を妥協するしかないという状況であった。
そのため、ビッグデータの回答を行う際、最適なベクトルデータベースを準備する必要無しに、回答精度の向上を図る技術が求められている。
しかしながら、特許文献1に記載の技術であっても、単に、ボットを切り替えるのみであるため、制限に抵触するような事態が発生してしまうおそれがある場合、回答精度の向上を図ることができなかった。
そこで、本発明者は、複数のボットを適切に組み合わせて、質問者からのプロンプトに対する回答精度の向上を図る仕組みに着目した。
【0005】
本発明は、このような課題を鑑み、ビッグデータの回答を行う際、最適なベクトルデータベースを準備する必要無しに、回答精度の向上を図ることが可能なプロンプトエンジニアリングコンピュータ、プロンプトエンジニアリング方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、大規模言語モデルにプロンプトを入力し、前記プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータであって、
前記プロンプトを取得するプロンプト取得部と、
前記プロンプトを解析するとともに、各ボットの特徴を示すインデックスを参照し、前記プロンプトと関連度が高いボット候補の中から、前記プロンプトに対して、回答を行う2以上のボットを決定する決定部と、
前記ボットに対する質問データを生成する質問データ生成部と、
前記質問データに基づき、前記ボットの其々に質問する質問部と、
前記ボットの其々が生成した各回答を取得する回答取得部と、
前記各回答を、前記プロンプトに対する回答として纏めた回答文書を生成する回答文書生成部と、
前記回答文書を、前記プロンプトに対する回答として出力する出力部と、
を備えるプロンプトエンジニアリングコンピュータを提供する。
【0007】
本発明によれば、2以上のボットを連携させて、各ボットから得られた回答をまとめた回答文書を、ビッグデータに対する回答として用いることにより、最適なベクトルデータベースを準備する必要無しに、回答精度の向上を図ることが可能となる。
【0008】
本発明は、コンピュータのカテゴリであるが、方法及びプログラム等の他のカテゴリであっても、同様の作用、効果を奏する。
【発明の効果】
【0009】
本発明によれば、回答精度の向上を図ることが可能となる。
【図面の簡単な説明】
【0010】
【
図1】プロンプトエンジニアリングシステム1の概要を説明する図である。
【
図2】プロンプトエンジニアリングシステム1の機能構成を示す図である。
【
図3】プロンプトエンジニアリングコンピュータ10が実行する質問処理のフローチャートを示す図である。
【
図4】プロンプトエンジニアリングコンピュータ10が実行する置換処理のフローチャートを示す図である。
【
図5】プロンプトエンジニアリングコンピュータ10が実行する再決定処理のフローチャートを示す図である。
【
図6】プロンプトエンジニアリングコンピュータ10が実行する終了処理のフローチャートを示す図である。
【
図7】プロンプトエンジニアリングコンピュータ10が実行する回答処理のフローチャートを示す図である。
【
図8】プロンプトエンジニアリングコンピュータ10が、学生生活に関するプロンプトを取得する場合における、各ボットの内訳を模式的に示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明を実施するための形態(以下、実施形態)について詳細に説明する。以降の図においては、実施形態の説明の全体を通して同じ要素には同じ番号又は符号を付している。
【0012】
[プロンプトエンジニアリングシステム1の概要]
図1は、プロンプトエンジニアリングシステム1の概要を説明するための模式図である。
図1に基づいて、プロンプトエンジニアリングシステム1の構成物について説明する。
プロンプトエンジニアリングシステム1は、少なくとも、サーバ機能を有し、生成AIを用いて、プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータ10からなるシステムである。本実施形態において、プロンプトエンジニアリングシステム1は、プロンプトエンジニアリングコンピュータ10に加え、質問者が使用する質問者端末3を備える。
【0013】
質問者端末3は、例えば、携帯電話、スマートフォン、タブレット端末、パーソナルコンピュータ、ラップトップコンピュータ等の端末装置である。質問者端末3の数は、質問者の数に応じた数であれば良く、特に限定されるものではなく、適宜設計可能である。
プロンプトエンジニアリングコンピュータ10は、サーバ機能を有し、例えば、1台のコンピュータで実現されても良いし、クラウドコンピュータのように、複数のコンピュータで実現されても良い。
本明細書におけるクラウドコンピュータとは、ある特定の機能を果たす際に、任意のコンピュータをスケーラブルに用いるものや、あるシステムを実現するために複数の機能モジュールを含み、その機能を自由に組み合わせて用いるものの何れであっても良い。
なお、プロンプトエンジニアリングシステム1は、上述した質問者端末3、プロンプトエンジニアリングコンピュータ10に加え、その他の端末や装置類等が含まれていても良く、その数、種類及び機能については、特に限定されるものではなく、適宜設計可能である。
【0014】
プロンプトエンジニアリングシステム1が、生成AIを用いて、プロンプトに対する回答を出力する際の処理ステップの概要について説明する。
【0015】
プロンプトエンジニアリングコンピュータ10は、プロンプトを取得する(ステップS1)。
プロンプトエンジニアリングコンピュータ10は、質問者端末3から、質問者が入力したプロンプトを取得する。
【0016】
プロンプトエンジニアリングコンピュータ10は、プロンプトに対して、回答を行う2以上のボットを決定する(ステップS2)。
プロンプトエンジニアリングコンピュータ10は、複数のボットが実行可能である。複数のボットは、質問者端末3とメッセージのやり取りを行う第1ボットと、第1ボットを除外した複数のボットの其々の学習内容を学習した第2ボットと、其々が異なる学習内容を学習し、第2ボットからの質問データに基づいた回答を行う2以上のボット(第3ボット、第4ボット、…、第nボット)から構成される。回答を行う2以上のボットは、其々が、自身の学習内容を示すインデックスを有しており、第2ボットは、このインデックスを保持している。
プロンプトエンジニアリングコンピュータ10は、第1ボットにより取得したプロンプトを、第2ボットに入力し、第2ボットがインデックスを参照し、特定した回答を行う2以上のボット候補を取得し、このボット候補の中から、プロンプトに対して回答を行う2以上のボットを決定する。
【0017】
プロンプトエンジニアリングコンピュータ10は、ボットに対する質問データを生成する(ステップS3)。
プロンプトエンジニアリングコンピュータ10は、決定した各ボットの学習内容に合わせて、プロンプトに含まれる質問文に基づいた質問データを生成する。
【0018】
プロンプトエンジニアリングコンピュータ10は、質問データに基づき、ボットの其々に質問する(ステップS4)。
プロンプトエンジニアリングコンピュータ10は、生成した質問データにおける質問文を、対応する各ボットに入力し、ボットの其々に質問する。
【0019】
プロンプトエンジニアリングコンピュータ10は、ボットの其々が生成した各回答を取得する(ステップS5)。
プロンプトエンジニアリングコンピュータ10は、各ボットが自身に入力された質問文に基づいて生成した回答を、各ボットから取得する。
【0020】
プロンプトエンジニアリングコンピュータ10は、各回答を、プロンプトに対する回答として纏めた回答文書を生成する(ステップS6)。
プロンプトエンジニアリングコンピュータ10は、各ボットから取得した各回答を纏めて、プロンプトに対する回答となる回答文書を生成する。
【0021】
プロンプトエンジニアリングコンピュータ10は、回答文書を、プロンプトに対する回答として出力する(ステップS7)。
プロンプトエンジニアリングコンピュータ10は、生成した回答文書を質問者端末3に出力し、質問者端末3に、この回答文書を表示させる。
【0022】
以上が、プロンプトエンジニアリングシステム1の概要である。
本プロンプトエンジニアリングシステム1によれば、ビッグデータの回答を行う際、最適なベクトルデータベースを準備する必要無しに、回答精度の向上を図ることが可能となる。
【0023】
[装置構成]
図2は、プロンプトエンジニアリングシステム1の構成を示すブロック図である。
図2に基づいて、プロンプトエンジニアリングシステム1の装置構成について説明する。
プロンプトエンジニアリングシステム1は、少なくとも、生成AIを用いて、プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータ10により構成される。本実施形態において、プロンプトエンジニアリングシステム1は、プロンプトエンジニアリングコンピュータ10に加え、質問者端末3により構成される。
プロンプトエンジニアリングシステム1は、プロンプトエンジニアリングコンピュータ10がインターネット、社内LAN(Local area network)、Wi-Fi、VPN(Virtual private network)等のネットワーク8を介して、質問者端末3とデータ通信可能に接続されたシステムである。
なお、プロンプトエンジニアリングシステム1において、質問者端末3の数は、質問者の数に応じて、適宜設計可能であり、特に限定されるものではない。また、プロンプトエンジニアリングシステム1は、質問者端末3及びプロンプトエンジニアリングコンピュータ10に加えて、その他の端末や装置類等を含んでいても良く、その他の端末や装置類等の数、種類及び機能については、適宜設計可能である。
【0024】
質問者端末3は、質問者が使用する端末装置であり、携帯電話、スマートフォン、タブレット端末、パーソナルコンピュータ、ラップトップコンピュータ等である。
質問者端末3は、端末制御部として、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、通信部として、他の端末や装置等と通信可能にするためのデバイス等を備える。
質問者端末3は、入出力部として、所定の入力等の受付、各種データの入出力等を実行する各種デバイス等を備える。
【0025】
プロンプトエンジニアリングコンピュータ10は、サーバ機能を有し、例えば、1台のコンピュータで実現されても良いし、クラウドコンピュータのように、複数のコンピュータで実現されても良い。プロンプトエンジニアリングコンピュータ10は、大規模言語モデルに入力するプロンプトを作成する情報処理装置である。
プロンプトエンジニアリングコンピュータ10は、制御部として、CPU、GPU、RAM、ROM等を備え、通信部として、他の端末や装置等と通信可能にするためのデバイス、プロンプトを取得するプロンプト取得部、回答文書を、プロンプトに対する回答として出力する出力部等を備える。
プロンプトエンジニアリングコンピュータ10は、記憶部として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。
プロンプトエンジニアリングコンピュータ10は、処理部として、各種処理を実行する各種デバイス、プロンプトに対して、回答を行う2以上のボットを決定する決定部、ボットに対する質問データを生成する質問データ生成部、質問データに基づき、ボットの其々に質問する質問部、ボットの其々が生成した各回答を取得する回答取得部、各回答を、プロンプトに対する回答として纏めた回答文書を生成する回答文書生成部等を備える。
【0026】
プロンプトエンジニアリングコンピュータ10において、制御部が所定のプログラムを読み込むことにより、通信部と協働して、プロンプト取得モジュール、出力モジュールを実現する。
また、プロンプトエンジニアリングコンピュータ10において、制御部が所定のプログラムを読み込むことにより、記憶部と協働して、記憶モジュールを実現する。
また、プロンプトエンジニアリングコンピュータ10において、制御部が所定のプログラムを読み込むことにより、処理部と協働して、決定モジュール、質問データ生成モジュール、質問モジュール、回答取得モジュール、取得判定モジュール、置換モジュール、回数判定モジュール、終了モジュール、回答文書生成モジュールを実現する。
【0027】
以下、プロンプトエンジニアリングシステム1が実行する各処理について、上述した各モジュールが実行する処理と併せて説明する。
本明細書において、各モジュールは、その処理内容を、自身が有する機能として実行するものであっても良いし、所定のアプリケーションを介して実行するものであっても良い。
【0028】
[プロンプトエンジニアリングコンピュータ10が実行する質問処理]
図3に基づいて、プロンプトエンジニアリングコンピュータ10が実行する質問処理について説明する。同図は、プロンプトエンジニアリングコンピュータ10が実行する質問処理のフローチャートを示す図である。質問処理は、プロンプトを取得するプロンプト取得処理(ステップS1)、プロンプトに対して、回答を行う2以上のボットを決定する決定処理(ステップS2)、ボットに対する質問データを生成する質問データ生成処理(ステップS3)、質問データに基づき、ボットの其々に質問する質問処理(ステップS4)、ボットの其々が生成した各回答を取得する回答取得処理(ステップS5)の詳細である。
【0029】
プロンプト取得モジュールは、プロンプトを取得する(ステップS10)。
プロンプトは、質問者が生成AIを用いるための質問、説明、指示、要約であり、少なくとも、質問を含むものであれば良く、説明、指示、要約の其々については、必ずしも含まれる必要はない。また、プロンプトは、所定の内容に関するものであり、この所定の内容は、例えば、所定の物品(日用品、電子機器等)、患者の治療法(慢性的な腰痛の治療法等)、学生生活(コース、カリキュラム、キャリア支援等)であり、特に限定されるものではない。
プロンプト取得モジュールは、プロンプトを、質問者端末3から取得する。
プロンプト取得モジュールは、対話形式により質問者とメッセージをやり取りするボット(以下、第1ボットとも称す)を介して、プロンプトを、質問者端末3からを取得する。第1ボットは、予め、記憶モジュールが記憶したものである。
質問者端末3は、質問者から、プロンプトを入力するための所定のUI(User Interface)を介して、第1ボットとの対話形式により、プロンプトの入力を受け付ける。質問者端末3は、テキスト入力、音声入力等の入力を受け付け、第1ボットとメッセージのやり取り等の対話形式により、質問者からプロンプトの入力を受け付ける。
質問者端末3は、入力を受け付けたプロンプトを、プロンプトエンジニアリングコンピュータ10に送信する。
プロンプト取得モジュールは、このプロンプトを受信し、プロンプトを取得する。プロンプト取得モジュールは、第1ボットに対して入力を受け付けたプロンプトを取得することになる。
【0030】
決定モジュールは、プロンプトに対して、回答を行う2以上のボットを決定する(ステップS11)。
決定モジュールは、第1ボットを介して、予め、記憶モジュールが記憶した回答を行う2以上のボットを決定するボット(以下、第2ボットとも称す)に、取得したプロンプトに含まれる質問内容を提示し、この質問内容に回答可能なボット候補を回答するように指示する。第2ボットは、予め、記憶モジュールが記憶する第1ボット及び第2ボットを除外した2以上の複数のボットの其々が、どのような内容を学習しているかを学習したボットであり、第1ボット及び第2ボットを除外した2以上の複数のボット(以下、単に複数のボットとも称す)の其々における特徴(学習内容)を示すインデックスを保有するボットである。複数のボットの其々が、どのような内容を学習しているか及びその学習方法については、適宜設計可能であり、特に限定されるものではない。また、複数のボットの総数についても、適宜設計可能であり、特に限定されるものではない。
本実施形態において、記憶モジュールは、複数のボットとして、第3ボット、第4ボット、第5ボット、…、第nボットのn個のボットを記憶しているものとして説明する。複数のボットの其々は、異なる内容を学習したボットである。複数のボットは、其々が、対応するカテゴリを学習したボットとも言え、第3ボットが、第1カテゴリを学習しており、第4ボットが第2カテゴリを学習しており、第5ボットが第3カテゴリを学習しており、…第nボットが第mカテゴリを学習しているとも言える。
決定モジュールは、第1ボットを介して、第2ボットに、プロンプトに含まれる質問内容を入力する。第2ボットは、この質問内容を解析するとともに、各ボットの特徴を示すインデックスを参照し、第1ボットを介して、最も関連度が高いと思われるボット候補を回答する。本実施形態において、第2ボットは、第3ボット、第4ボット及び第5ボットを、ボット候補として回答するものとして説明する。
決定モジュールは、回答に基づいて、実際に質問者からの質問内容に対する回答を行う2以上のボットを決定する。決定モジュールは、第3ボット、第4ボット及び第5ボットの3つのボットを、回答を行うボットとして決定する。
決定モジュールは、少なくとも、2以上のボットを、回答を行うボットとして決定すれば良い。換言すると、決定モジュールは、少なくとも、第1のカテゴリを学習した第3ボットと、第2のカテゴリを学習した第4ボットとを、回答を行うボットとして決定すれば良い。
【0031】
質問データ生成モジュールは、ボットに対する質問データを生成する(ステップS12)。
質問データは、取得したプロンプトに含まれる質問内容に基づいたデータを、質問データとして生成しても良いし、取得したプロンプトに含まれる質問内容の一部又は全部を、決定した各ボットに対応する質問内容に置換し、置換後の質問内容に基づいたデータを、質問データとして生成しても良い。質問内容を置換する場合、第3ボットに対応する質問データ、第4ボットに対応する質問データ及び第5ボットに対応する質問データのように、ボット毎の質問データを生成すれば良い。
なお、質問データ生成モジュールが生成する質問データは、上述した例に限定されるものではなく、すべてのボットに共通した質問データを生成しても良いし、一部のボット(例えば、第3ボット及び第4ボットに対応する質問データ等)に対応する質問データと、それ以外のボットに対応する質問データとを生成しても良い。
【0032】
質問モジュールは、質問データに基づき、ボットの其々に質問する(ステップS13)。
質問モジュールは、生成した質問データを、第1ボットを介して、決定した2以上のボットの其々に、質問データを提示し、この質問データに回答するように指示する。質問モジュールは、第1ボットを介して、第3ボット、第4ボット及び第5ボットの其々のボットに、生成した質問データを提示し、この質問データに回答するように指示する。
質問モジュールは、第1ボットを介して、第3ボット、第4ボット及び第5ボットの其々のボットに、質問データを入力する。質問モジュールが、各ボットに質問データを入力することにより、ボットの其々に質問することになる。
【0033】
回答取得モジュールは、ボットの其々が生成した各回答を取得する(ステップS14)。
回答取得モジュールは、質問データを入力した各ボットから、各ボットが生成した回答を取得する。第3ボット、第4ボット及び第5ボットの其々のボットは、自身の学習内容に基づいて、入力された質問データに対する回答を生成する。第3ボット、第4ボット及び第5ボットの其々のボットは、第1ボットを介して、生成した回答を、回答取得モジュールに出力する。
各ボットが生成し、回答取得モジュールが取得する回答は、回答の他に、回答生成のためのヒント情報を含むものである。
回答取得モジュールは、第1ボットを介して、第3ボット、第4ボット及び第5ボットの其々のボットが生成し、出力した回答を受信し、ボットの其々が生成した各回答を取得する。
【0034】
以上が、質問処理である。
プロンプトエンジニアリングコンピュータ10は、質問処理において、回答を取得できなかったボットが存在する場合、後述する置換処理を実行する。
【0035】
[プロンプトエンジニアリングコンピュータ10が実行する置換処理]
図4に基づいて、プロンプトエンジニアリングコンピュータ10が実行する置換処理について説明する。同図は、プロンプトエンジニアリングコンピュータ10が実行する置換処理のフローチャートを示す図である。
【0036】
取得判定モジュールは、少なくとも1以上のボットから回答を取得できなかったか否かを判定する(ステップS20)。
取得判定モジュールは、上述したステップS14の処理の際、第3ボット、第4ボット及び第5ボットの内の少なくとも1以上のボットから、回答を取得できなかったか否かを判定する。取得判定モジュールは、回答を取得できなかったか否かの判定として、各ボットから、回答そのものを取得できなかったか否かに基づいて判定しても良いし、各ボットから回答を予め設定された所定時間以内に取得できなかったか否かに基づいて判定しても良いし、各ボットから取得した回答に所定の回答文(不明、わかりません、回答できません等の回答が不可能であった文言を含む回答文等)が含まれているか否かで判定しても良い。取得判定モジュールは、回答そのものが取得できなかった場合、回答を予め設定された所定時間以内に取得できなかった場合、又は、取得した回答に所定の回答文が含まれていた場合の何れの場合であっても、回答を取得できなかったと判定し、そうでない場合、回答を取得できたと判定する。
取得判定モジュールが、全てのボットから回答を取得できた場合(ステップS20 NO)、プロンプトエンジニアリングコンピュータ10は、本置換処理を終了し、後述する回答処理を実行する。プロンプトエンジニアリングコンピュータ10は、取得済みの回答を用いて、後述する回答処理を実行する。
【0037】
一方、取得判定モジュールが、少なくとも1以上のボットから回答を取得できなかった場合(ステップS20 YES)、置換モジュールは、質問データの質問文を、別の質問文に置換した質問データを生成する(ステップS21)。
置換モジュールは、回答を取得できなかったボットに対する質問データの質問文を、別の質問文に置換し、置換後の質問データを生成する。置換モジュールは、回答を取得できなかったボットが、どの質問文により回答を生成できなかったのかを判定し、質問文の内、ボットが回答不可能な文意に該当する文言を特定する。置換モジュールは、特定した文言を、ボットが回答可能な文意となるような文言に置換する。
【0038】
質問モジュールは、置換後の質問データに基づき、回答を取得できなかったボットに質問する(ステップS22)。
質問モジュールは、置換した質問データを、第1ボットを介して、回答を取得できなかったボットに、置換後の質問データを再度提示し、この置換後の質問データに回答するように指示する。本実施形態では、第3ボットから回答を取得できなかった場合を例として説明する。質問モジュールは、第1ボットを介して、第3ボットに、置換後の質問データを提示し、この置換後の質問データに回答するように指示する。
質問モジュールは、第1ボットを介して、第3ボットに、置換後の質問データを入力する。質問モジュールが、第3ボットに質問データを入力することにより、回答を取得できなかったボットに質問することになる。
【0039】
回答取得モジュールは、回答を取得できなかったボットが生成した回答を取得する(ステップS23)。
回答取得モジュールは、置換後の質問データを入力したボットから、ボットが生成した回答を取得する。第3ボットは、自身の学習内容に基づいて、入力された置換後の質問データに対する回答を生成する。第3ボットは、第1ボットを介して、生成した回答を、回答取得モジュールに出力する。
回答取得モジュールは、第1ボットを介して、第3ボットが生成し、出力した回答を受信し、回答を取得できなかったボットが生成した回答を取得する。
【0040】
以上が、置換処理である。
なお、上述した置換処理において、1のボットから回答を取得できなかったものとして説明しているが、複数のボットから回答を取得できなかった場合であったとしても、本発明は適用可能であり、プロンプトエンジニアリングコンピュータ10は、複数のボットの其々のボットに対して、ステップS21以降の処理を実行すれば良い。
プロンプトエンジニアリングコンピュータ10は、置換処理において、回答を取得できなかったボットが存在する場合、後述する再決定処理を実行する。
【0041】
[プロンプトエンジニアリングコンピュータ10が実行する再決定処理]
図5に基づいて、プロンプトエンジニアリングコンピュータ10が実行する再決定処理について説明する。同図は、プロンプトエンジニアリングコンピュータ10が実行する再決定処理のフローチャートを示す図である。
【0042】
取得判定モジュールは、置換後の質問データに基づき質問したボットから回答を取得できなかったか否かを判定する(ステップS30)。
取得判定モジュールは、上述したステップS23の処理の際、第3ボットから、回答を取得できなかったか否かを判定する。取得判定モジュールは、回答を取得できなかったか否かの判定として、置換後の質問データに基づき質問したボットから、回答そのものを取得できなかったか否かに基づいて判定しても良いし、置換後の質問データに基づき質問したボットから回答を予め設定された所定時間以内に取得できなかったか否かに基づいて判定しても良いし、置換後の質問データに基づき質問したボットから取得した回答に所定の回答文(不明、わかりません、回答できません等の回答が不可能であった文言を含む回答文等)が含まれているか否かで判定しても良い。取得判定モジュールは、回答そのものが取得できなかった場合、回答を予め設定された所定時間以内に取得できなかった場合、又は、取得した回答に所定の回答文が含まれていた場合の何れの場合であっても、回答を取得できなかったと判定し、そうでない場合、回答を取得できたと判定する。
取得判定モジュールが、置換後の質問データに基づき質問したボットから回答を取得できた場合(ステップS30 NO)、プロンプトエンジニアリングコンピュータ10は、本再決定処理を終了し、後述する回答処理を実行する。プロンプトエンジニアリングコンピュータ10は、取得済みの回答を用いて、後述する回答処理を実行する。
【0043】
一方、取得判定モジュールが、置換後の質問データに基づき質問したボットから回答を取得できなかった場合(ステップS30 YES)、決定モジュールは、回答を行う別のボットを決定する(ステップS31)。
決定モジュールは、第1ボットを介して、第2ボットに、置換後の質問データの質問内容を提示し、この質問内容に回答可能な別のボット候補を回答するように指示する。この時、決定モジュールは、既に回答を取得済みのボットを除外した残りのボットの内、質問内容に回答可能な別のボット候補を回答するように指示する。決定モジュールは、第4ボット及び第5ボットから既に回答を取得済みであるため、回答を取得できなかったボットである第3ボットと、回答を取得済みのボットである第4ボット及び第5ボットとを除外した残りのボットの内、質問内容に回答可能な別のボット候補を回答するように指示する。
決定モジュールは、第1ボットを介して、第2ボットに、置換後の質問データの質問内容を入力する。第2ボットは、この質問内容を解析し、第1ボットを介して、回答を取得できなかったボットである第3ボットと、回答を取得済みのボットである第4ボット及び第5ボットとを除外した残りのボットの内、質問内容に回答可能な別のボット候補を回答する。本実施形態において、第6ボットを、ボット候補として回答するものとして説明する。
決定モジュールは、回答に基づいて、置換後の質問データの質問内容に対する回答を行うボットを決定する。決定モジュールは、第6ボットを、回答を行う別のボットとして決定する。
なお、決定モジュールは、第1ボットからの回答として、別のボット候補が存在していないとの回答を得ていた場合、再決定処理を終了する。この時、プロンプトエンジニアリングコンピュータ10は、回答を取得済みのボットが2以上存在している場合、取得済みの回答を用いて、後述する回答処理を実行する。一方、プロンプトエンジニアリングコンピュータ10は、回答を取得済みのボットが2以上存在していない場合、後述する回答処理に際して、回答文書を生成する際、回答不可能である旨の回答文書を生成する。
また、決定モジュールは、第1ボットからの回答として、別のボット候補が複数存在しているとの回答を得ていた場合、其々のボット候補の内、1のボットを決定しても良いし、複数のボットを決定しても良い。この場合、決定モジュールは、予め設定された数以内の数のボット候補を、ボットとして決定するものであっても良いし、所定の条件(回答が得られなかったボットと近い学習内容のボット等)を満たすボット候補を、ボットとして決定するものであっても良い。
【0044】
質問データ生成モジュールは、ボットに対する質問データを生成する(ステップS32)。
質問データ生成モジュールは、回答を取得できなかったボットに質問した置換後の質問データを、決定した別のボットに対する質問データとして、質問データを生成する。質問データ生成モジュールは、ステップS21の処理により生成した質問データを、別のボットに対する質問データとして用いても良いし、新たに、ステップS21の処理と同様の処理を実行し、別のボットに対する質問データを生成しても良い。
【0045】
質問モジュールは、質問データに基づき、ボットに質問する(ステップS33)。
質問モジュールは、生成した質問データを、第1ボットを介して、決定した別のボットに、質問データを提示し、この質問データに回答するように指示する。質問モジュールは、第1ボットを介して、第6ボットに、質問データを提示し、この質問データに回答するように指示する。
質問モジュールは、第1ボットを介して、第6ボットに、質問データを入力する。質問モジュールが、第6ボットに質問データを入力することにより、別のボットに質問することになる。
【0046】
回答取得モジュールは、ボットが生成した回答を取得する(ステップS34)。
回答取得モジュールは、質問データを入力した別のボットから、別のボットが生成した回答を取得する。第6ボットは、自身の学習内容に基づいて、入力された質問データに対する回答を生成する。第6ボットは、第1ボットを介して、生成した回答を、回答取得モジュールに出力する。
回答取得モジュールは、第1ボットを介して、第6ボットが生成し、出力した回答を受信し、別のボットが生成した回答を取得する。
【0047】
以上が、再決定処理である。
なお、上述した再決定処理において、1のボットから回答を取得できなかったものとして説明しているが、複数のボットから回答を取得できなかった場合であったとしても、本発明は適用可能であり、プロンプトエンジニアリングコンピュータ10は、複数のボットの其々のボットに対して、ステップS31以降の処理を実行すれば良い。
プロンプトエンジニアリングコンピュータ10は、再決定処理において、回答を取得できなかったボットが存在する場合、後述する終了処理を実行する。
【0048】
[プロンプトエンジニアリングコンピュータ10が実行する終了処理]
図6に基づいて、プロンプトエンジニアリングコンピュータ10が実行する終了処理について説明する。同図は、プロンプトエンジニアリングコンピュータ10が実行する終了処理のフローチャートを示す図である。
【0049】
取得判定モジュールは、別のボットから回答を取得できたなかっか否かを判定する(ステップS440)。
取得判定モジュールは、上述したステップS34の処理の際、第6ボットから、回答を取得できなかったか否かを判定する。取得判定モジュールは、回答を取得できなかったか否かの判定として、質問データに基づき質問した別のボットから、回答そのものを取得できなかったか否かに基づいて判定しても良いし、質問データに基づき質問した別のボットから回答を予め設定された所定時間以内に取得できなかったか否かに基づいて判定しても良いし、質問データに基づき質問した別のボットから取得した回答に所定の回答文(不明、わかりません、回答できません等の回答が不可能であった文言を含む回答文等)が含まれているか否かで判定しても良い。取得判定モジュールは、回答そのものが取得できなかった場合、回答を予め設定された所定時間以内に取得できなかった場合、又は、取得した回答に所定の回答文が含まれていた場合の何れの場合であっても、回答を取得できなかったと判定し、そうでない場合、回答を取得できたと判定する。
取得判定モジュールが、質問データに基づき質問した別のボットから回答を取得できた場合(ステップS40 NO)、プロンプトエンジニアリングコンピュータ10は、本終了処理を終了し、取得済みの回答を用いて、後述する回答処理を実行する。
なお、取得判定モジュールは、再決定処理において、複数の別のボットを決定していた場合、其々のボットに対して、ステップS40の処理を実行する。プロンプトエンジニアリングコンピュータ10は、少なくとも1以上のボットから回答を取得できなかった場合、回答を取得できなかったボットに対して、後述するステップS41の処理を実行する。
【0050】
一方、取得判定モジュールが、質問データに基づき質問した別のボットから回答を取得できなかった場合(ステップS40 YES)、回数判定モジュールは、回答を取得できなかった回数が所定の回数以上であるか否かを判定する(ステップS41)。
回数判定モジュールは、上述した再決定処理の結果、回答を取得できなかった回数が、予め設定された回数以上であるか否かを判定する。回数判定モジュールが、所定の回数未満であると判定した場合(ステップS41 NO)、プロンプトエンジニアリングコンピュータ10は、終了処理を終了し、再度、上述した再決定処理におけるステップS31以降の処理を実行する。
なお、回数判定モジュールは、再決定処理において、複数の別のボットを決定していた場合、其々のボットに対して、ステップS41の処理を実行する。プロンプトエンジニアリングコンピュータ10は、少なくとも1以上のボットから回答を取得できなかった回数が所定の回数以上である場合、回答を取得できなかったボットに対して、後述するステップS42の処理を実行する。
【0051】
一方、回数判定モジュールが、所定の回数以上であると判定した場合(ステップS41 YES)、終了モジュールは、質問データの生成を終了する(ステップS42)。
終了モジュールは、上述した置換処理及び再決定処理を実行しないよう、質問データの生成を終了する。これにより、プロンプトエンジニアリングコンピュータ10は、第1ボットを介して、所定の回数以上回答が取得できなかった場合、別のボットに対して、質問データを提示し、この質問データに回答するように指示することを終了する。すなわち、プロンプトエンジニアリングコンピュータ10は、ボットから所定の回数以上回答が取得できなかった場合、別のボットを再度決定せずに、その処理そのものを終了する。
なお、終了モジュールは、再決定処理において、複数の別のボットを決定していた場合、其々のボットに対して、ステップS42の処理を実行する。
【0052】
以上が、終了処理である。
プロンプトエンジニアリングコンピュータ10は、少なくとも2以上のボットから、最終的に回答を取得できるまで置換処理及び再決定処理を実行しうるものであるが、所定の回数以上置換処理及び再決定処理を実行しても、少なくとも2以上のボットから回答が取得できない場合、後述する回答処理に際して、回答文書を生成する際、回答不可能である旨の回答文書を生成する。
また、プロンプトエンジニアリングコンピュータ10は、終了処理の実行完了時までに、少なくとも2以上のボットから回答を取得できた場合、取得済みの回答を用いて、後述する回答処理を実行する。
【0053】
[プロンプトエンジニアリングコンピュータ10が実行する回答処理]
図7に基づいて、プロンプトエンジニアリングコンピュータ10が実行する回答処理について説明する。同図は、プロンプトエンジニアリングコンピュータ10が実行する回答処理のフローチャートを示す図である。回答処理は、各回答を、プロンプトに対する回答として纏めた回答文書を生成する回答文書生成処理(ステップS6)、回答文書を、プロンプトに対する回答として出力する出力処理(ステップS7)の詳細である。
【0054】
回答文書生成モジュールは、各回答を、プロンプトに対する回答として纏めた回答文書を生成する(ステップS50)。
回答文書生成モジュールは、ボットから取得した各回答をヒント情報として、取得したプロンプトに含まれる質問者からの質問内容を生成AIに提示し、この質問内容に回答するよう指示する。
生成AIは、ヒント情報と、質問内容とに基づいて、質問者からの質問内容に対する回答を生成し、生成した回答を、回答文書生成モジュールに出力する。
回答文書生成モジュールは、この回答に基づいた回答文書を生成し、プロンプトに対する回答として纏めた回答文書を生成する。
【0055】
出力モジュールは、回答文書を、プロンプトに対する回答として出力する(ステップS51)。
出力モジュールは、第1ボットを介して、回答文書を、プロンプトに対する回答として、質問者端末3に送信する。
質問者端末3は、所定のUIを介して、プロンプトエンジニアリングコンピュータ10が送信した回答文書を受信し、表示する。
出力モジュールは、回答文書を所定のUIを介して、質問者端末3に表示させることにより、回答文書を、プロンプトに対する回答として出力する
【0056】
以上が、回答処理である。
【0057】
上述した各処理の具体例について説明する。
初めに、プロンプトエンジニアリングコンピュータ10が、所定の内容として、学生生活に関するプロンプトを取得する場合における処理内容を、第1の具体例として、
図8を参照して説明する。なお、プロンプトコンピュータ10が記憶する各ボットは、大学、学部、キャリア支援等の学生生活のカテゴリに関する情報を学習したものである。また、質問者は、学生である。
同図は、プロンプトエンジニアリングコンピュータ10が、学生生活に関するプロンプトを取得する場合における各ボットのカテゴリの内訳を模式的に示す図である。
【0058】
ステップS10において、プロンプト取得モジュールは、第1ボット(不図示)を介して、質問者端末3から、学生生活に関するプロンプトとして、「データサイエンスのコースについて教えて」を取得する。
【0059】
ステップS11において、決定モジュールは、このプロンプトに対して、回答を行う2以上のボットを決定するために、第2ボット20に対して、質問内容である「データサイエンスのコースについて教えて」を提示し、この質問内容に回答可能なボット候補を回答するように指示する。第2ボットは、質問内容を解析し、複数のボットのインデックスを参照し、質問内容に回答可能な特徴を有するボット候補を回答する。
決定モジュールは、回答されたボット候補に基づいて、2以上のボットを、回答を行うボットとして決定する。同図において、決定モジュールは、第3ボット21、第4ボット22及び第5ボット23を、回答を行うボットとして決定する。第3ボット21は、コンピュータサイエンス学科のカテゴリに関する情報を学習したボットであり、第4ボット22は、統計学科のカテゴリに関する情報を学習したボットであり、第5ボット23は、キャリア支援のカテゴリに関する情報を学習したボットである。
【0060】
ステップS12において、質問データ生成モジュールは、ボットに対する質問データを生成する。例えば、質問データ生成モジュールは、第3ボット21に対する質問データとして、「学科について教えて」のような、第3ボット21が回答可能な質問内容をプロンプトに基づいて生成する。また、質問データ生成モジュールは、第4ボット22に対する質問データとして、「統計やデータ分析のコースを教えて」のような、第4ボット22が回答可能な質問内容をプロンプトに基づいて生成する。また、質問データ生成モジュールは、第5ボット23に対する質問データとして、「卒業後のキャリアについて教えて」のような、第5ボット23が回答可能な質問内容をプロンプトに基づいて生成する。
【0061】
ステップS13において、質問モジュールは、生成した質問データを対応するボットに質問する。質問モジュールは、第3ボット21に、「学科について教えて」を質問し、第4ボット22に、「統計やデータ分析のコースを教えて」を質問し、第5ボット23に、「卒業後のキャリアについて教えて」を質問する。
【0062】
ステップS14において、回答取得モジュールは、第3ボット21、第4ボット22及び第5ボット23の其々が生成した回答を取得する。
【0063】
ここで、プロンプトエンジニアリングコンピュータ10は、置換処理を実行し、第3ボット21、第4ボット22及び第5ボット23の内、少なくとも1以上のボットから、回答を取得できなかった場合、回答を取得できなかったボットに対する質問データの質問文を、別の質問文に置換し、置換後の質問データを、該当するボットに質問する。例えば、質問モジュールは、第3ボット21から回答を取得できなかった場合、この第3ボット21に対する質問データの質問文を、「学科について教えて」を、第3ボット21が元々のプロンプトに対して回答可能な別の質問文(「データサイエンス学科の基本的なコースやカリキュラムについて教えて」等)に置換する。
質問モジュールは、置換後の質問データに基づき、第3ボット21に質問し、第3ボット21がこの置換後の質問データの質問文に対して生成した回答を取得する。
【0064】
更に、プロンプトエンジニアリングコンピュータ10は、再決定処理を実行し、第3ボット21から回答を取得できなかった場合、決定モジュールは、回答を行う別のボットを決定する。決定モジュールが、別のボットとして、第6ボット(不図示)を決定した場合、置換処理において第3ボット21に対して質問した置換後の質問データの質問文、置換前の質問データの質問文、又は、愛6ボットに合わせて生成した質問データの質問文を、この第6ボットに質問し、第6ボットがこの質問データの質問文に対して生成した回答を取得する。
【0065】
更に、プロンプトエンジニアリングコンピュータ10は、終了処理を実行し、第6ボットから回答を取得できず、所定の回数回答を取得できなかった場合、質問データの生成を終了する。
【0066】
ステップS50において、回答文書生成モジュールは、第3ボット21、第4ボット22及び第5ボット23から取得した各回答をヒント情報として、取得したプロンプトに含まれる質問者からの質問内容を生成AIに提示し、この質問内容に回答するよう指示する。
回答文書生成モジュールは、生成AIが生成した回答に基づいた回答文書を生成する。
【0067】
ステップS51において、出力モジュールは、生成した回答文書を質問者端末3に出力する。
【0068】
以上が、第1の具体例における各処理の具体例である。
【0069】
次に、プロンプトエンジニアリングコンピュータ10が、所定の内容として、所定の物品に関するプロンプトを取得する場合における処理内容を、第2の具体例として説明する。第2の具体例において、物品が、日用品(接着剤等)である場合について説明する。なお、プロンプトコンピュータ10が記憶する各ボットは、ショッピングモール内の各種テナント、取扱商品等の商品や提供サービスのカテゴリに関する情報を学習したものである。また、質問者は、ショッピングモールの顧客である。
上述した第1の具体例と同様の内容については、その詳細な説明を省略する。
【0070】
ステップS10において、プロンプト取得モジュールが、質問者端末3から、所定の物品に関するプロンプト(「靴底を接着する接着剤」等)を取得する。
【0071】
ステップS11において、決定モジュールは、このプロンプトに対して、回答を行う2以上のボットを決定するために、第2ボットに対して、質問内容である「靴底を接着する接着剤」を提示し、この質問内容に回答可能なボット候補を回答するように指示する。第2ボットは、質問内容を解析し、複数のボットのインデックスを参照し、質問内容に回答可能な特徴を有するボット候補を回答する。
決定モジュールは、回答されたボット候補に基づいて、2以上のボットを、回答を行うボットとして決定する。決定モジュールは、第3ボット及び第4ボットを、回答を行うボットとして決定する。第3ボットは、日用品売場のカテゴリに関する情報を学習したボットであり、第4ボットは、靴修理のカテゴリに関する情報を学習したボットである。
【0072】
プロンプトエンジニアリングコンピュータ10は、ステップS12~S14の処理により、各ボットに対する質問データの生成、質問データを対応するボットに質問、各ボットが生成した回答の取得を実行する。ここでも、プロンプトエンジニアリングコンピュータ10は、置換処理、再決定処理及び終了処理を必要があれば実行する。
【0073】
プロンプトエンジニアリングコンピュータ10は、ステップS50及びS51の処理により、各ボットから取得した各回答をヒント情報として、取得したプロンプトに含まれる質問者からの質問内容を生成AIに提示し、この質問内容に回答するよう指示し、生成AIが生成した回答文書を生成し、生成した回答文書を質問者端末3に出力する。
【0074】
以上が、第2の具体例における各処理の具体例である。
【0075】
次に、プロンプトエンジニアリングコンピュータ10が、所定の内容として、第2の具体例とは別の所定の物品に関するプロンプトを取得する場合における処理内容を、第3の具体例として説明する。第3の具体例において、物品が、パソコンの部品(CPU等)である場合について説明する。なお、プロンプトコンピュータ10が記憶する各ボットは、電子機器(パソコン等)を構成する部品、部品の型番等の電子機器そのもの、電子機器の脆弱性等の電子機器のカテゴリに関する情報を学習したものである。また、質問者は、電子機器の使用者である。
上述した各具体例と同様の内容については、その詳細な説明を省略する。
【0076】
ステップS10において、プロンプト取得モジュールが、質問者端末3から、所定の物品に関するプロンプト(「7世代目のCPUの脆弱性について」等)を取得する。
【0077】
ステップS11において、決定モジュールは、このプロンプトに対して、回答を行う2以上のボットを決定するために、第2ボットに対して、質問内容である「7世代目のCPUの脆弱性について」を提示し、この質問内容に回答可能なボット候補を回答するように指示する。第2ボットは、質問内容を解析し、複数のボットのインデックスを参照し、質問内容に回答可能な特徴を有するボット候補を回答する。
決定モジュールは、回答されたボット候補に基づいて、2以上のボットを、回答を行うボットとして決定する。決定モジュールは、第3ボット及び第4ボットを、回答を行うボットとして決定する。第3ボットは、マザーボードのカテゴリに関する情報を学習したボットであり、第4ボットは、デバイスドライバのカテゴリに関する情報を学習したボットである。
【0078】
プロンプトエンジニアリングコンピュータ10は、ステップS12~S14の処理により、各ボットに対する質問データの生成、質問データを対応するボットに質問、各ボットが生成した回答の取得を実行する。ここでも、プロンプトエンジニアリングコンピュータ10は、置換処理、再決定処理及び終了処理を必要があれば実行する。
【0079】
プロンプトエンジニアリングコンピュータ10は、ステップS50及びS51の処理により、各ボットから取得した各回答をヒント情報として、取得したプロンプトに含まれる質問者からの質問内容を生成AIに提示し、この質問内容に回答するよう指示し、生成AIが生成した回答文書を生成し、生成した回答文書を質問者端末3に出力する。
【0080】
以上が、第3の具体例における各処理の具体例である。
【0081】
次に、プロンプトエンジニアリングコンピュータ10が、所定の内容として、患者の治療法に関するプロンプトを取得する場合における処理内容を、第4の具体例として説明する。なお、プロンプトコンピュータ10が記憶する各ボットは、各診療科、薬局等の患者の治療法のカテゴリに関する情報を学習したものである。また、質問者は、治療を受ける患者である。
上述した各具体例と同様の内容については、その詳細な説明を省略する。
【0082】
ステップS10において、プロンプト取得モジュールが、質問者端末3から、患者自身の治療法に関するプロンプト(「慢性的な腰痛の治療法」等)を取得する。
【0083】
ステップS11において、決定モジュールは、このプロンプトに対して、回答を行う2以上のボットを決定するために、第2ボットに対して、質問内容である「慢性的な腰痛の治療法」を提示し、この質問内容に回答可能なボット候補を回答するように指示する。第2ボットは、質問内容を解析し、複数のボットのインデックスを参照し、質問内容に回答可能な特徴を有するボット候補を回答する。
決定モジュールは、回答されたボット候補に基づいて、2以上のボットを、回答を行うボットとして決定する。決定モジュールは、第3ボット、第4ボット及び第5ボットを、回答を行うボットとして決定する。第3ボットは、整形外科のカテゴリに関する情報を学習したボットであり、第4ボットは、リハビリテーションのカテゴリに関する情報を学習したボットであり、第5ボットは、薬局のカテゴリに関する情報を学習したボットである。
【0084】
プロンプトエンジニアリングコンピュータ10は、ステップS12~S14の処理により、各ボットに対する質問データの生成、質問データを対応するボットに質問、各ボットが生成した回答の取得を実行する。ここでも、プロンプトエンジニアリングコンピュータ10は、置換処理、再決定処理及び終了処理を必要があれば実行する。
【0085】
プロンプトエンジニアリングコンピュータ10は、ステップS50及びS51の処理により、各ボットから取得した各回答をヒント情報として、取得したプロンプトに含まれる質問者からの質問内容を生成AIに提示し、この質問内容に回答するよう指示し、生成AIが生成した回答文書を生成し、生成した回答文書を質問者端末3に出力する。
【0086】
以上が、第4の具体例における各処理の具体例である。
【0087】
上述した各処理は、別個の処理として記載しているが、プロンプトエンジニアリングコンピュータ10は、上述した各処理の一部又は全部を組み合わせて実行する構成も可能である。また、プロンプトエンジニアリングコンピュータ10は、各処理において、説明したタイミング以外のタイミングであっても、その処理を実行する構成も可能である。
【0088】
上述した手段、機能は、コンピュータ(CPU、情報処理装置、各種端末を含む)が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される(SaaS:ソフトウェア・アズ・ア・サービス)形態やクラウドサービスで提供されて良い。また、プログラムは、コンピュータ読取可能な記録媒体に記録された形態で提供されて良い。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記録装置又は外部記録装置に転送し記録して実行する。また、そのプログラムを、記録装置(記録媒体)に予め記録しておき、その記録装置から通信回線を介してコンピュータに提供するようにしても良い。
【0089】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【0090】
本実施形態に開示される第1の態様は、生成AIを用いて、プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータであって、
前記プロンプトを取得するプロンプト取得部と、
前記プロンプトに対して、回答を行う2以上のボットを決定する決定部と、
前記ボットに対する質問データを生成する質問データ生成部と、
前記質問データに基づき、前記ボットの其々に質問する質問部と、
前記ボットの其々が生成した各回答を取得する回答取得部と、
前記各回答を、前記プロンプトに対する回答として纏めた回答文書を生成する回答文書生成部と、
前記回答文書を、前記プロンプトに対する回答として出力する出力部と、
を備えるプロンプトエンジニアリングコンピュータを提供する。
【0091】
本実施形態に開示される第2の態様は、前記決定部が、前記ボットの特徴を示すインデックスを参照し、前記ボットを決定する、
第1の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0092】
本実施形態に開示される第3の態様は、前記質問データ生成部が、少なくとも1以上のボットから回答を取得できなかった場合、前記質問データの質問文を、別の質問文に置換した質問データを生成し、
前記質問部が、置換後の質問データに基づき、回答を取得できなかったボットに質問する、
第1の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0093】
本実施形態に開示される第4の態様は、前記決定部が、前記置換後の質問データを質問したボットから、回答を取得できなかった場合、回答を行う別のボットを決定する、
第3の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0094】
本実施形態に開示される第5の態様は、前記プロンプト取得部が、所定の内容に関するプロンプトを取得し、
前記決定部は、前記所定の内容に関するプロンプトに対して、第1カテゴリに関するボット及び第2カテゴリに関するボットを少なくとも含む2以上のボットを決定する、
第1の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0095】
本実施形態に開示される第6の態様は、前記所定の内容が、所定の物品であり、
前記第1カテゴリが、前記物品の販売場所であり、
前記第2カテゴリが、前記物品に関連する場所である、
第5の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0096】
本実施形態に開示される第7の態様は、前記所定の内容が、所定の物品であり、
前記第1カテゴリが、前記物品を構成する部品であり、
前記第2カテゴリが、前記部品の脆弱性である、
第5の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0097】
本実施形態に開示される第8の態様は、前記所定の内容が、患者の治療法であり、
前記第1カテゴリが、診療科であり、
前記第2カテゴリが、薬局であえる、
第5の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【0098】
本実施形態に開示される第9の態様は、前記所定の内容が、学生生活であり、
前記第1カテゴリが、学科であり、
前記第2カテゴリが、キャリア支援である、
第5の態様に記載のプロンプトエンジニアリングコンピュータを提供する。
【符号の説明】
【0099】
1 プロンプトエンジニアリングシステム
3 質問者端末
8 ネットワーク
10 プロンプトエンジニアリングコンピュータ
20 第2ボット
21 第3ボット
22 第4ボット
23 第5ボット
【要約】
【課題】質問に対する回答精度の向上を図る。
【解決手段】生成AIを用いて、プロンプトに対する回答を出力するプロンプトエンジニアリングコンピュータは、前記プロンプトを取得し、前記プロンプトに対して、回答を行う2以上のボットを決定し、前記ボットに対する質問データを生成し、前記質問データに基づき、前記ボットの其々に質問し、前記ボットの其々が生成した各回答を取得し、前記各回答を、前記プロンプトに対する回答として纏めた回答文書を生成し、前記回答文書を、前記プロンプトに対する回答として出力する。
【選択図】
図1