(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025071758
(43)【公開日】2025-05-08
(54)【発明の名称】処理装置、プログラム及び処理方法
(51)【国際特許分類】
G06F 9/445 20180101AFI20250428BHJP
【FI】
G06F9/445
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024075211
(22)【出願日】2024-05-07
(31)【優先権主張番号】P 2023182050
(32)【優先日】2023-10-23
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】504103984
【氏名又は名称】ウイングアーク1st株式会社
(74)【代理人】
【識別番号】100190621
【弁理士】
【氏名又は名称】崎間 伸洋
(74)【代理人】
【識別番号】100212510
【弁理士】
【氏名又は名称】笠原 翔
(72)【発明者】
【氏名】斎藤 学
(72)【発明者】
【氏名】安田 昂平
(72)【発明者】
【氏名】藤原 秀一
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AC02
5B376AE44
5B376BC32
5B376FA13
(57)【要約】
【課題】従来よりも容易にソフトウェアを操作できるようにする処理装置、プログラム及び処理方法を提供すること。
【解決手段】実施形態の処理装置は、取得部を備える。取得部は、ソフトウェアに行わせたい動作を示す第1の文字列、及びソフトウェアに入力することで前記ソフトウェアに前記動作を実行させる指示データを出力するように指示する第2の文字列を含むプロンプトを学習済みの言語モデルに入力することで、前記言語モデルから出力される前記指示データを取得する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ソフトウェアに行わせたい動作を示す第1の文字列、及びソフトウェアに入力することで前記ソフトウェアに前記動作を実行させる指示データを出力するように指示する第2の文字列を含むプロンプトを学習済みの言語モデルに入力することで、前記言語モデルから出力される前記指示データを取得する取得部を備える処理装置。
【請求項2】
前記第1の文字列は、ユーザーによって入力された文章を含む、請求項1に記載の処理装置。
【請求項3】
前記プロンプトは、前記動作に適したソフトウェアを選択するように指示する第3の文字列を含み、
前記第2の文字列は、選択したソフトウェア用の前記指示データを出力するように指示する文字列を含む、請求項1に記載の処理装置。
【請求項4】
前記プロンプトは、前記動作に適したソフトウェアが無い場合は、前記動作に適したソフトウェアを作成するように指示する第4の文字列を含む、請求項3に記載の処理装置。
【請求項5】
前記指示データを実行することで、前記ソフトウェアに前記動作を実行させる実行部をさらに備える、請求項1に記載の処理装置。
【請求項6】
処理装置が備えるプロセッサーを、
ソフトウェアに行わせたい動作を示す第1の文字列、及びソフトウェアに入力することで前記ソフトウェアに前記動作を実行させる指示データを出力するように指示する第2の文字列を含むプロンプトを学習済みの言語モデルに入力することで、前記言語モデルから出力される前記指示データを取得する取得部として機能させるプログラム。
【請求項7】
ソフトウェアに行わせたい動作を示す第1の文字列、及びソフトウェアに入力することで前記ソフトウェアに前記動作を実行させる指示データを出力するように指示する第2の文字列を含むプロンプトを学習済みの言語モデルに入力することで、前記言語モデルから出力される前記指示データを取得する、処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理装置、プログラム及び処理方法に関する。
【背景技術】
【0002】
ソフトウェアの操作を習得するには時間と手間が必要である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態が解決しようとする課題は、従来よりも容易にソフトウェアを操作できるようにする処理装置、プログラム及び処理方法を提供することである。
【課題を解決するための手段】
【0005】
実施形態の処理装置は、取得部を備える。取得部は、ソフトウェアに行わせたい動作を示す第1の文字列、及びソフトウェアに入力することで前記ソフトウェアに前記動作を実行させる指示データを出力するように指示する第2の文字列を含むプロンプトを学習済みの言語モデルに入力することで、前記言語モデルから出力される前記指示データを取得する。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態及び第2実施形態に係るソフトウェア操作装置の要部構成の一例を示すブロック図。
【
図2】
図1中のプロセッサーによる第1実施形態に係る処理の一例を示すフローチャート。
【
図3】
図1中のプロセッサーによる第2実施形態に係る処理の一例を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、いくつかの実施形態に係るソフトウェア操作装置について図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、各部の縮尺を適宜変更している場合がある。また、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び本明細書中において、同一の符号は同様の要素を示す。
【0008】
〔第1実施形態〕
図1は、第1実施形態に係るソフトウェア操作装置100の要部構成の一例を示すブロック図である。なお、各装置の各構成要素は、内蔵であっても外付けであっても良い。
【0009】
ソフトウェア操作装置100は、ソフトウェアに行わせたい動作をLLM(large language model)入力することで、ソフトウェアに行わせる動作を示す指示データを出力させる装置である。指示データの詳細については後述する。ソフトウェア操作装置100は、一例として、プロセッサー110、ROM(read-only memory)120、RAM(random-access memory)130、補助記憶装置140、入力デバイス150、表示デバイス160及び通信インターフェース170を含む。そして、バス180などが、これら各部を接続する。なお、ソフトウェア操作装置100は、処理装置の一例である。
【0010】
プロセッサー110は、ソフトウェア操作装置100の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分であり、各種演算及び処理などを行う。プロセッサー110は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。あるいは、プロセッサー110は、これらのうちの複数を組み合わせたものである。また、プロセッサー110は、これらにハードウェアアクセラレーターなどを組み合わせたものであっても良い。プロセッサー110は、ROM120又は補助記憶装置140などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、ソフトウェア操作装置100の各種の機能を実現するべく各部を制御する。また、プロセッサー110は、当該プログラムに基づいて後述する処理を実行する。なお、当該プログラムの一部又は全部は、プロセッサー110の回路内に組み込まれていても良い。
【0011】
ROM120及びRAM130は、プロセッサー110を中枢としたコンピューターの主記憶装置である。ROM120は、専らデータの読み出しに用いられる不揮発性メモリである。ROM120は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM120は、プロセッサー110が各種の処理を行う上で使用するデータなども記憶する。
【0012】
RAM130は、データの読み書きに用いられるメモリである。RAM130は、プロセッサー110が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアなどとして利用される。RAM130は、典型的には揮発性メモリである。
【0013】
補助記憶装置140は、プロセッサー110を中枢としたコンピューターの補助記憶装置である。補助記憶装置140は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はフラッシュメモリなどである。補助記憶装置140は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶装置140は、プロセッサー110が各種の処理を行う上で使用するデータ、プロセッサー110での処理によって生成されたデータ及び各種の設定値などを記憶する。
【0014】
補助記憶装置140が記憶するプログラムは、指示データによる操作が可能なソフトウェア(以下「指示ソフト」という。)を1つ以上含む。指示ソフトは、典型的にはアプリケーソンフトウェアであるが、システムソフトウェアであっても良い。指示ソフトは、どのような種類のソフトウェアであっても良い。例を挙げると、指示ソフトは、文書作成ソフトウェアなどのオフィスソフトウェア、画像編集ソフトウェア、動画編集ソフトウェア、3DCG(three-dimensional computer graphics)ソフトウェア、CAD(computer-aided design)ソフトウェア、ファイル閲覧ソフトウェア、シミュレーションソフトウェア、プロジェクト管理ソフトウェア、情報管理ソフトウェア、スケジュール管理ソフトウェア、勤怠管理ソフトウェア、データベースソフトウェア、メールソフトウェア、インスタントメッセンジャー、Webブラウザー、金融ソフトウェア、会計ソフトウェア、教育用ソフトウェア、プログラミングソフトウェア、統合開発環境、各種エディター、ゲーム開発ソフトウェア、ゲームソフトウェア、OS(operating system)又はその他のソフトウェアである。指示データは、指示ソフトが実行する動作の内容が記述されたデータである。指示ソフトは、指示データを読み込んだ場合、当該指示データが示す動作を自動で実行する。なお、指示データを含むファイルを指示ファイルというものとする。指示ファイルは、一例として、指示データがテキスト形式で記述されたファイルである。テキスト形式で記述されたファイルは、例えば、バッチファイルである。なお、指示ファイルのデータ形式は他の形式であっても良い。指示データは、マクロと呼ばれる場合もある。指示データは、ソフトウェアに入力することで当該ソフトウェアに動作を実行させる指示データの一例である。
【0015】
補助記憶装置140が記憶するデータは、一例として、LLM141、及びソフトウェアDB(database)142を含む。
【0016】
LLM141は、学習済みのAI(artificial intelligence)モデルである。LLM141は、自然言語処理が可能な言語モデルである。LLM141は、周知のLLMと同様であって良い。したがって、LLM141の詳細な説明は省略する。
【0017】
ソフトウェアDB142は、指示ソフトごとに、指示ソフトについての情報を記憶するデータベースである。指示ソフトについての情報は、当該指示ソフト用の指示データの仕様を示す情報を含む。また、指示ソフトについての情報は、例えば、指示ソフトがどのようなソフトウェアであるかを示す情報、及びどのような機能を有するかを示す情報を含む。ソフトウェアDB142は、ベクトルデータベースであることが好ましい。
【0018】
入力デバイス150は、ソフトウェア操作装置100の操作者(以下、単に「操作者」という。)による操作を受け付ける。入力デバイス150は、例えば、キーボード、キーパッド、タッチパッド、マウス又はコントローラーなどである。また、入力デバイス150は、音声入力用のデバイスであっても良い。なお、操作者は、ユーザーの一例である。
【0019】
表示デバイス160は、操作者などに各種情報を通知するための画面を表示する。表示デバイス160は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。また、入力デバイス150及び表示デバイス160としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス160として、タッチパネルが備える、タッチ入力によるポインティングデバイスを入力デバイス150として用いることができる。
【0020】
通信インターフェース170は、ソフトウェア操作装置100がインターネット及びLAN(local area network)などのネットワークを介して通信するためのインターフェースである。
【0021】
バス180は、コントロールバス、アドレスバス及びデータバスなどを含み、ソフトウェア操作装置100の各部で授受される信号を伝送する。
【0022】
以下、第1実施形態に係るソフトウェア操作装置100の動作を
図2などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
図2は、ソフトウェア操作装置100のプロセッサー110による処理の一例を示すフローチャートである。プロセッサー110は、例えば、ROM120又は補助記憶装置140などに記憶されたプログラムに基づいて
図2の処理を実行する。
【0023】
図2のステップST11においてソフトウェア操作装置100のプロセッサー110は、操作対象の指示ソフト(以下「対象ソフト」という。)を決定する。対象ソフトは、換言すると、指示データを生成する対象の指示ソフトである。操作者は、例えば、入力デバイス150を操作して、対象ソフトを指定する入力を行う。プロセッサー110は、当該入力に基づき、当該入力で指定された指示ソフトを対象ソフトとして決定する。あるいは、プロセッサー110は、予め定められた指示ソフトを対象ソフトとして決定しても良い。
【0024】
ステップST12においてプロセッサー110は、入力画面に対応した画像を生成する。そして、プロセッサー110は、生成したこの画像を表示するように表示デバイス160に対して指示する。表示の指示を受けて表示デバイス160は、入力画面を表示する。
【0025】
入力画面は、対象ソフトにどのような動作を行わせたいかを示す指示の入力を受け付けるための画面である。入力画面は、一例として、当該指示の内容を入力するための入力欄を含む。操作者は、例えば、入力デバイス150を用いて当該入力欄に指示内容を入力する。なお、操作者は、指示内容を例えば自然言語で入力する。指示内容は、具体的な動作を示すものに限らず、動作によって得たい結果を示すものであっても良い。また、指示内容は、その他の方法によって動作を指示するものであっても良い。指示内容は、複数の動作を指示するものであっても良い。指示内容は、複数の動作が必要な指示であっても良い。対象ソフトの動作の例としては、例えば、文書、画像、動画、音声、3DCG、CADデータ、プログラム又はその他のデータに対して行う編集、データの操作、データの検索、データの作成、データの削除、データのコピー、データの送受信、データの取得、アクションの実行、ゲームキャラクターの操作、及びソフトウェアの設定の変更などを挙げることができる。対象ソフトの動作は、ここに挙げたものに限らない。
【0026】
また、入力画面は、決定ボタンを含む。決定ボタンは、指示内容を決定する場合に操作者が操作するためのボタンである。操作者は、入力欄に指示内容を入力した状態で決定ボタンを操作する。
【0027】
なお、プロセッサー110は、音声によって指示内容の入力を受け付けても良い。この場合、プロセッサー110は、入力画面を表示しなくても良い。
【0028】
ステップST13においてプロセッサー110は、指示内容が決定されるのを待ち受ける。すなわちプロセッサー110は、入力画面において指示内容が入力された状態で決定ボタンを操作するなどの予め定められた操作が行われるのを待ち受ける。プロセッサー110は、指示内容の入力が音声によって行われる場合には、例えば、指示を示す発声が終わったとみなした場合に指示内容が決定されたとみなす。プロセッサー110は、指示内容が決定されたと判定するならば、ステップST13においてYesと判定してステップST14へと進む。
【0029】
ステップST14においてプロセッサー110は、LLM141にプロンプト及びソフトウェアDB142を入力する。当該プロンプトは、入力画面において操作者によって入力された指示内容、及び第1基本指示文章を含む。第1基本指示文章は、一例として、以下の(A1)~(A3)の内容の文章を含む。
【0030】
(A1)ソフトウェアDB142に対象ソフトについての情報が含まれること、及び対象ソフト用の指示データの仕様がソフトウェアDB142に示されていることを示す内容の文章。
(A2)対象ソフト用の指示データを、ソフトウェアDB142に示された仕様に準拠して作成するように指示することを示す内容の文章。
(A3)当該指示データは、入力された指示内容が示す動作を対象ソフトに行わせるものであることを示す内容の文章。
【0031】
プロセッサー110は、当該プロンプト及びソフトウェアDB142が入力されたLLM141を実行する。プロセッサー110が実行するLLM141は、当該入力に対する出力を生成する。すなわち、LLM141は、当該プロンプトが示す指示に対する回答を生成して出力する。LLM141は、入力されるプロンプトに基づき、当該プロンプトが示す内容を解析してその回答を生成する。
【0032】
ステップST15においてプロセッサー110は、LLM141が回答を出力するのを待ち受ける。プロセッサー110は、LLM141が回答を出力したならば、当該回答を取得する。この回答は、指示データを含むことが期待される。当該指示データは、実行内容情報を含む。実行内容情報は、対象ソフトに実行させる内容を含む。当該内容は、入力画面において入力された指示内容が示すものである。実行内容情報は、例えば、プログラミング言語、データ記述言語又はその他のコンピューター言語によって記述される。ここでは、回答内容が指示データを含むものとして以降の処理を説明する。なお、プロセッサー110は、回答内容が期待されるものでなかった場合には、例えば、予め定められた例外処理を行っても良い。
【0033】
ステップST14において入力されるプロンプト中の指示内容は、ソフトウェアに行わせたい動作を示す第1の文字列の一例である。第1基本指示文章は、ソフトウェアに入力することで当該ソフトウェアに動作を実行させる指示データを出力するように指示する第2の文字列の一例である。
【0034】
以上より、プロセッサー110は、ステップST14及びステップST15の処理を行うことで、取得部の一例として機能する。取得部は、第1の文字列及び第2の文字列を含むプロンプトを学習済みの言語モデルに入力することで、言語モデルから出力される指示データを取得する。
【0035】
ステップST16においてプロセッサー110は、結果画面に対応した画像を生成する。そして、プロセッサー110は、生成したこの画像を表示するように表示デバイス160に対して指示する。表示の指示を受けて表示デバイス160は、結果画面を表示する。
【0036】
結果画面は、ステップST15において取得された回答内容を操作者に報知するための画面である。結果画面は、例えば、入力画面に当該回答内容を加えたものである。
【0037】
ステップST17においてプロセッサー110は、ステップST15で取得した回答から、当該回答に含まれる指示データを取得する。そして、プロセッサー110は、当該指示データを含む指示ファイルを生成する。そして、プロセッサー110は、当該指示ファイルを補助記憶装置140などに記憶する。
【0038】
ステップST18においてプロセッサー110は、ステップST17において生成した指示ファイルを実行する。すなわち、プロセッサー110は、指示ファイルに含まれる実行内容情報が示す処理を実行する。このために、プロセッサー110は、当該処理を実行するように、対象ソフトに指示する。プロセッサー110は、例えば、実行内容情報を指示ソフトに入力することで、この指示を行う。当該指示に基づき、指示ソフトは当該処理を実行する。プロセッサー110は、ステップST18の処理の後、ステップST13へと戻る。
【0039】
以上より、プロセッサー110は、ステップST18の処理を行うことで、実行部の一例として機能する。実行部は、指示データを実行することで、ソフトウェアに動作を実行させる。
【0040】
なお、プロセッサー110は、2回目以降のステップST14の処理においては、過去のやりとりを引き継ぐようにLLM141にプロンプトを入力しても良い。ここで、過去のやり取りとは、前回までにステップST14でLLM141に入力されたプロンプト、及びステップST15で出力された回答を示す。
【0041】
過去のやりとりを引き継ぐ場合、プロセッサー110は、(A1)~(A3)の一部を省略又は削除したプロンプトをLLM141に入力しても良い。また、プロセッサー110は、過去のやりとりの一部又は全部をプロンプトに含めても良い。
【0042】
過去のやりとりを引き継ぐ場合、プロセッサー110は、以下の(A4)の内容の文章を含むプロンプトを入力しても良い。
【0043】
(A4)今回作成する指示データは、前回までに作成した指示データを実行した後に実行するものであることを示す内容の文章。
【0044】
第1実施形態のソフトウェア操作装置100は、ソフトウェアに行わせたい動作を示す文字列及び第1基本指示文章を含むプロンプトをLLM141に入力する。そして、第1実施形態のソフトウェア操作装置100は、LLM141から、ソフトウェアに当該動作を行わせる指示データを取得する。操作者は、指示データを用いることで、ソフトウェアの操作方法が分からなくてもソフトウェアの操作が可能である。すなわち、実施形態のソフトウェア操作装置100は、従来よりも容易にソフトウェアを操作できるようにする。
【0045】
また、第1実施形態のソフトウェア操作装置100は、指示データを介してソフトウェアを動作させる。指示データを介さない場合、LLM141にソフトウェアの操作を覚えさせることなどが必要である。このため、第1実施形態のソフトウェア操作装置100は、指示データを介さない場合よりも容易ソフトウェアを動作させることができる。
【0046】
また、第1実施形態のソフトウェア操作装置100は、ソフトウェアに行わせたい動作を示す文字列として、操作者によって入力された文章を用いる。したがって、操作者は、ソフトウェアに行わせたい動作を示す自然言語を入力すれば所望の動作をソフトウェアに行わせることができる。すなわち、実施形態のソフトウェア操作装置100は、従来よりも容易にソフトウェアを操作できるようにする。
【0047】
また、第1実施形態のソフトウェア操作装置100は、指示データを実行することで、ソフトウェアに当該指示データが示す動作を行わせる。したがって、操作者は、実施形態のソフトウェア操作装置100を用いることで、従来よりも容易にソフトウェアを操作できる。
【0048】
また、第1実施形態のソフトウェア操作装置100は、LLM141への入出力において過去のやりとりを引き継ぐことができる。第1実施形態のソフトウェア操作装置100は、過去のやりとりを引き継ぐことで、過去のやり取りを考慮した指示データの作成が可能である。
【0049】
〔第2実施形態〕
第2実施形態に係るソフトウェア操作装置100は、事前に対象ソフトの指定を行わない。
【0050】
第2実施形態に係るソフトウェア操作装置100の構成は第1実施形態と同一であるので説明を省略する。
【0051】
以下、第2実施形態に係るソフトウェア操作装置100の動作を
図3などに基づいて説明する。
図3は、ソフトウェア操作装置100のプロセッサー110による処理の一例を示すフローチャートである。プロセッサー110は、例えば、ROM120又は補助記憶装置140などに記憶されたプログラムに基づいて
図3の処理を実行する。
【0052】
第2実施形態では、プロセッサー110は、
図3の処理を開始したならばステップST12へと進む。
【0053】
第2実施形態における入力画面は、指示ソフトにどのような動作を行わせたいかを示す指示の入力を受け付けるための画面である。ここでは、使用する指示ソフトがどの指示ソフトであるかを指定する必要はない。ただし、指示内容は、どのような指示ソフトを用いるかを指定する内容を含んでも良い。また、指示内容は、どの指示ソフトを用いるかを指定する内容を含んでも良い。指示内容について、その他は第1実施形態と同様である。
【0054】
第2実施形態では、プロセッサー110は、ステップST13においてYesと判定したならば、ステップST21へと進む。
【0055】
ステップST21においてプロセッサー110は、LLM141にプロンプト及びソフトウェアDB142を入力する。当該プロンプトは、入力画面において操作者によって入力された指示内容、及び第2基本指示文章を含む。第2基本指示文章は、一例として、以下の(B1)~(B6)の内容の文章を含む。
【0056】
(B1)ソフトウェアDB142に各指示ソフトについての情報が含まれること、及び各指示ソフト用の指示データの仕様がソフトウェアDB142に示されていることを示す内容の文章。
(B2)ソフトウェアDB142を参照して、入力された指示内容が示す変更を行うために適した指示ソフトを選択し、どの指示ソフトを選択したかを回答するように指示することを示す内容の文章。
(B3)ただし、使用する指示ソフトが指定されている場合、指定されたソフトを選択することを示す内容の文章。
(B4)選択した指示ソフト用の指示データを、ソフトウェアDB142に示された仕様に準拠して作成するように指示することを示す内容の文章。
(B5)当該指示データは、入力された指示内容が示す動作を選択した指示ソフトに行わせるものであることを示す内容の文章。
(B6)当該指示データは、ソフト指定情報及び実行内容情報を含むことを示す内容の文章。なお、ソフト指定情報については後述する。
【0057】
第2基本指示文章は、第2の文字列の一例である。第2基本指示文章は、動作に適したソフトウェアを選択するように指示する第3の文字列の一例である。(B2)は、第3の文字列の一例である。
【0058】
ステップST22においてプロセッサー110は、LLM141が回答を出力するのを待ち受ける。プロセッサー110は、LLM141が回答を出力したならば、当該回答を取得する。この回答は、指示データを含むことが期待される。また、当該指示データは、例えば、ソフト指定情報及び実行内容情報を含むことが期待される。ソフト指定情報は、例えば、どの指示ソフトを用いるかを示す情報を含む。ソフト指定情報は、例えば、当該指示ソフトを起動することを指示するコマンドを含む。第2実施形態の実行内容情報は、ソフト指定情報によって示されている指示ソフトに実行させる内容を含む。当該内容は、入力画面において入力された指示内容が示すものである。ソフト指定情報及び実行内容情報は、例えば、プログラミング言語、データ記述言語又はその他のコンピューター言語によって記述される。ここでは、回答内容が指示データを含み、当該指示データが、ソフト指定情報及び実行内容情報を含むものとして以降の処理を説明する。なお、プロセッサー110は、回答内容が期待されるものでなかった場合には、例えば、予め定められた例外処理を行っても良い。プロセッサー110は、ステップST22の処理の後、ステップST16へと進む。
【0059】
以上より、プロセッサー110は、ステップST21及びステップST22の処理を行うことで、取得部の一例として機能する。
【0060】
第2実施形態では、指示ファイルの実行は、以下に示す(C1)~(C2)の処理を含む。
【0061】
(C1)プロセッサー110は、指示ファイルに含まれるソフト指定情報が示す指示ソフトを起動する。
【0062】
(C2)プロセッサー110は、指示ファイルに含まれる実行内容情報が示す処理を実行する。このために、プロセッサー110は、当該処理を実行するように、(C1)で開いた指示ソフトに指示する。当該指示に基づき、指示ソフトは当該処理を実行する。
【0063】
なお、プロセッサー110は、2回目以降のステップST21の処理においては、過去のやりとりを引き継ぐようにLLM141にプロンプトを入力しても良い。ここで、過去のやり取りとは、前回までにステップST21でLLM141に入力されたプロンプト、及びステップST22で出力された回答を示す。
【0064】
過去のやりとりを引き継ぐ場合、プロセッサー110は、(B1)~(B6)の一部を省略又は削除したプロンプトをLLM141に入力しても良い。また、プロセッサー110は、過去のやりとりの一部又は全部をプロンプトに含めても良い。
【0065】
過去のやりとりを引き継ぐ場合、プロセッサー110は、以下の(B7)の内容の文章を含むプロンプトを入力しても良い。
【0066】
(B7)今回作成する指示データは、前回までに作成した指示データを実行した後に実行するものであることを示す内容の文章。
【0067】
過去のやりとりを引き継ぐ場合、プロセッサー110は、以下の(B8)の内容の文章を含むプロンプトを入力しても良い。
【0068】
(B8)前回と同じ指示ソフトを使用することを示す内容の文章。
【0069】
第2実施形態のソフトウェア操作装置100は、第1実施形態と同様の効果が得られる。
【0070】
また、第2実施形態のソフトウェア操作装置100は、ソフトウェアに行わせたい動作に適したソフトウェアを選択するように指示する第3の文字列、及び選択したソフトウェア用の指示データを出力するように指示する第2の文字列を含むプロンプトをLLM141に入力する。そして、第2実施形態のソフトウェア操作装置100は、LLM141から、どのソフトウェアを選択したかを示す回答を得る。また、第2実施形態のソフトウェア操作装置100は、LLM141によって選択されたソフトウェア用の指示データを取得する。したがって、操作者は、第2実施形態のソフトウェア操作装置100を使うことで、どのソフトウェアを使えば当該動作を行わせることができるかわからない場合でも、第2実施形態のソフトウェア操作装置100が当該動作に適したソフトウェアを選択してくれる。また、操作者は、第2実施形態のソフトウェア操作装置100を使うことで、ソフトウェア操作装置100によって選択されたソフトウェアに当該動作を行わせることができる。
【0071】
上記の第1実施形態及び第2実施形態は、以下のような変形も可能である。
【0072】
上記の実施形態では、ソフトウェア操作装置100は、ソフトウェアDB142を、LLM141が利用可能な外部データとして用いている。しかしながら、ソフトウェア操作装置100は、LLM141に代えて、ソフトウェアDB142を学習させたLLMを用いても良い。この場合、ソフトウェア操作装置100のプロセッサー110は、例えば、LLM141にソフトウェアDB142を追加学習させる。
【0073】
上記の実施形態では、ソフトウェア操作装置100は、ソフトウェアDB142を、LLM141が利用可能な外部データとして用いている。しかしながら、ソフトウェア操作装置100は、ソフトウェアDB142を、プロンプトとしてLLM141に入力しても良い。
【0074】
第2実施形態の指示データは、ソフト指定情報を含まなくても良い。この場合、プロセッサー110は、指示データに基づかずに指示ソフトを起動する。例えば、
図3のステップST22で取得される回答内容は、指示データ以外の部分にどの指示ソフトを使用するかを示す記述を含む場合がある。プロセッサー110は、この記述に基づいて使用する指示ソフトを特定し、当該指示ソフトを起動する。あるいは、プロセッサー110は、操作者によって指定された指示ソフトを起動しても良い。この場合、操作者は、ステップST16において表示された回答内容に示された指示ソフトを起動する。
【0075】
第2基本指示文章は、入力画面において操作者によって入力された指示内容を実行するのに適した指示ソフトが無い場合は適した指示ソフトを作成するように指示する文章を含んでも良い。プロンプトがこの文章を含む場合、LLM141は、当該指示内容に適した指示ソフトを作成する。この文章は、動作に適したソフトウェアが無い場合は、動作に適したソフトウェアを作成するように指示する第4の文字列の一例である。これにより、実施形態のソフトウェア操作装置100は、指示内容が示す動作を実行するのに適した指示ソフトが無い場合でも、作成したソフトウェアを用いることで当該動作を行わせることができる。
【0076】
指示ファイルは、指示ソフトを起動した状態で指示ソフト上から実行するものであっても良い。この場合、操作者は、指示ソフトを操作して当該指示ファイルを読み込むことで、指示ソフトに当該指示ファイルを実行させることができる。
【0077】
上記の実施形態では、プロセッサー110は、指示ファイルを自動実行する。しかしながら、プロセッサー110は、指示ファイルを自動実行しなくても良い。この場合、プロセッサー110は、ステップST17の処理の後、ステップST13へと戻る。操作者は、保存された指示ファイルを開く操作を行うことで、当該指示ファイルの実行をソフトウェア操作装置100に指示することができる。当該指示に基づき、ソフトウェア操作装置100のプロセッサー110は、当該指示ファイルを実行する。
【0078】
ソフトウェア操作装置100は、ソフトウェアDB142に代えて、ソフトウェアDB142と同様のデータをデータベース以外の形式で記憶した情報を用いて良い。
【0079】
実施形態のソフトウェア操作装置は、複数の装置からなるものであっても良い。実施形態のソフトウェア操作装置は、クラウドコンピューティングを用いて実現するものであっても良い。一例として、ソフトウェア操作装置は、端末装置及びサーバー装置を含む。当該サーバー装置は、クラウドコンピューティングにおけるサーバーである。当該サーバー装置は、LLM141を実行する。当該端末装置は、インターネット又はLAN(local area network)などの通信網を通じてプロンプトを当該サーバー装置に送信する。当該サーバー装置のプロセッサーは、当該プロンプトを用いて、
図2のステップST14及びステップST15、又は
図3のステップST21及びステップST22の処理を実行する。そして、当該サーバー装置は、取得した回答を、当該通信網を通じて当該端末装置に送信する。当該端末装置は、当該回答を用いて
図2のステップST16以降の処理又は
図3のステップST16以降の処理を行う。
【0080】
プロセッサー110は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
【0081】
実施形態の処理を実現するプログラムは、例えば装置内の非一時的なコンピューター可読記憶媒体に記憶された状態で譲渡される。しかしながら、当該装置は、当該プログラムが記憶されない状態で譲渡されても良い。そして、当該プログラムが別途に譲渡され、当該装置へと書き込まれても良い。このときのプログラムの譲渡は、例えば、リムーバブルで非一時的なコンピューター可読記憶媒体に記録して、あるいはインターネット又はLAN(local area network)などのネットワークを介したダウンロードによって実現できる。
【0082】
以上、本発明の実施形態を説明したが、例として示したものであり、本発明の範囲を限定するものではない。本発明の実施形態は、本発明の要旨を逸脱しない範囲において種々の態様で実施可能である。
【符号の説明】
【0083】
100 ソフトウェア操作装置
110 プロセッサー
120 ROM
130 RAM
140 補助記憶装置
141 LLM
142 ソフトウェアDB
150 入力デバイス
160 表示デバイス
170 通信インターフェース
180 バス