(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-06-12
(45)【発行日】2024-06-20
(54)【発明の名称】ソフトウェアの技術文書を作成するための装置、方法及びそのためのプログラム
(51)【国際特許分類】
G06F 8/10 20180101AFI20240613BHJP
【FI】
G06F8/10
(21)【出願番号】P 2023210296
(22)【出願日】2023-12-13
(62)【分割の表示】P 2023207605の分割
【原出願日】2023-12-08
【審査請求日】2023-12-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】523464200
【氏名又は名称】ジテラ プライベート リミテッド
(74)【代理人】
【識別番号】110003605
【氏名又は名称】弁理士法人六本木通り特許事務所
(72)【発明者】
【氏名】エラン ペール
(72)【発明者】
【氏名】ズオン タン フン
(72)【発明者】
【氏名】柳澤 直
【審査官】久々宇 篤志
(56)【参考文献】
【文献】特開2023-057221(JP,A)
【文献】特表2022-534506(JP,A)
【文献】米国特許出願公開第2019/0018671(US,A1)
【文献】国際公開第2022/214200(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/10
(57)【特許請求の範囲】
【請求項1】
コンピュータに、ソフトウェアの技術文書を作成するための方法であって、
前記ソフトウェアの説明が表現された説明データを取得するステップであって、前記説明データは、1又は複数の文及び1又は複数の画像の少なくとも一方を含むステップと、
前記説明データに基づいて、前記ソフトウェアにおいて生じる1又は複数のユースケースを生成することを第1の生成AIモデルに要求する第1の要求を行うステップと、
前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを第2の生成AIモデルに要求する第2の要求を行うステップ
と
を含む。
【請求項2】
請求項1に記載の方法であって、
前記説明データは、1又は複数の画像を含む。
【請求項3】
請求項1又は2に記載の方法であって、
前記第2の要求は、入力、ロジック及び応答の項目を有する、ビジネスロジックのひな型を含む。
【請求項4】
請求項1又は2に記載の方法であって、
前記1又は複数のビジネスロジックの少なくともいずれかについて、当該ビジネスロジックに対応するAPI文書を生成することを第3の生成AIモデルに要求する第3の要求を行うステップをさらに含む。
【請求項5】
請求項3の記載の方法であって、
前記第2の要求は、前記ソフトウェアのデータベース設計に含まれるカラム名を用いて前記入力の項目を生成することの指示を含む。
【請求項6】
請求項5に記載の方法であって、
前記第2の要求の前に、前記1又は複数のユースケースを用いて、データベース設計の自然言語による記述を生成することを第4の生成AIモデルに要求する第4の要求を行うステップをさらに含む。
【請求項7】
請求項1又は2に記載の方法であって
、
ユーザー端末に、生成された1又は複数のビジネスロジックの少なくともいずれ
かを送信するステップと、
前記ユーザー端末から、当該ビジネスロジックに対する修正を受信するステップと
をさらに含む。
【請求項8】
コンピュータに、ソフトウェアの技術文書を作成するための方法を実行させるためのプログラムであって、前記方法は、
前記ソフトウェアの説明が表現された説明データを取得するステップであって、前記説明データは、1又は複数の文及び1又は複数の画像の少なくとも一方を含むステップと、
前記説明データに基づいて、前記ソフトウェアにおいて生じる1又は複数のユースケースを生成することを第1の生成AIモデルに要求する第1の要求を行うステップと、
前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを第2の生成AIモデルに要求する第2の要求を行うステップ
と
を含む。
【請求項9】
ソフトウェアの技術文書を作成するための装置であって、
前記ソフトウェアの説明が表現された説明データであって、1又は複数の文及び1又は複数の画像の少なくとも一方を含む説明データを取得し、
前記説明データに基づいて、前記ソフトウェアにおいて生じる1又は複数のユースケースを生成することを第1の生成AIモデルに要求する第1の要求を行い、
前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを第2の生成AIモデルに要求する第2の要求を行
うように構成されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアの技術文書を作成するための装置、方法及びそのためのプログラムに関する。
【背景技術】
【0002】
ソフトウェアの開発にはさまざまな手法があり、その中で、ソフトウェアの要求分析の段階においてユースケースが作成されることが少なくない。ここで、「ユースケース」とは、ユーザーインターフェース(UI)からの入力に応じたシステムの振る舞い又はその記述をいい、開発対象のソフトウェアに対するビジネス上の要求を理解し、それらを表現することのできるビジネスアナリスト、プロダクトオーナー、プロダクトマネージャーなどの事業サイドのメンバーによって記述されることが多い。
【0003】
作成されたユースケースは、システムアーキテクト、テクニカルアナリスト、テクニカルリードなどの開発サイドのメンバーによって、より技術的な詳細が記述された技術文書の作成に用いられ、作成された技術文書に基づいて必要なコーディングが行われる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようにソフトウェアの開発には、顧客のヒアリングに始まり、多数のメンバーが関与し、多数の工程を伴うことから、効率化が常に求められてきた。発明者らは、近年その能力が著しく向上した生成AIモデル(generative AI model)を用いることで、特に技術文書の作成工程で大幅な効率化が実現可能であることを見い出した。
【0005】
本発明は、このような点に鑑みてなされたものであり、その課題は、ソフトウェアの開発に必要な技術文書を作成するための装置、方法又はそのためのプログラムにおいて、生成AIモデルの適用による効率化を実現することにある。
【0006】
本明細書において「AIモデル」とは、入力に対して出力を予測可能に訓練済みの機械学習モデル」をいい、「生成AIモデル(generative AI model)」とは、入力に対して出力を生成可能にテキストデータを用いて訓練済みの大規模言語モデル(LLM)を指す。
【課題を解決するための手段】
【0007】
このような目的を達成するために、本発明の第1の態様は、ソフトウェアの技術文書を作成するための方法であって、前記ソフトウェアの説明が表現された説明データを取得するステップであって、前記説明データは、1又は複数の文及び1又は複数の画像の少なくとも一方を含むステップと、前記説明データに基づいて、前記ソフトウェアにおいて生じる1又は複数のユースケースを生成することを第1の生成AIモデルに要求する第1の要求を行うステップと、前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを第2の生成AIモデルに要求する第2の要求を行うステップと、前記1又は複数のビジネスロジックの少なくともいずれかについて、当該ビジネスロジックに対応するAPI文書を生成することを第3の生成AIモデルに要求する第3の要求を行うステップとを含む。
【0008】
また、本発明の第2の態様は、第1の態様の方法であって、前記説明データは、1又は複数の画像を含み、前記1又は複数の画像は、一連の画面が表現された複数の画像を含む。
【0009】
また、本発明の第3の態様は、第1の態様の方法であって、前記説明データは、1又は複数の画像を含み、前記1又は複数の画像は、前記ソフトウェアの振る舞いを示すシーケンス図を含む。
【0010】
また、本発明の第4の態様は、第1から第3のいずれかの態様の方法であって、前記第2の要求は、入力、ロジック及び応答の項目を有する、ビジネスロジックのひな型を含む。
【0011】
また、本発明の第5の態様は、第1から第4のいずれかの態様の方法であって、前記第3の要求は、リクエストタイプ、パラメータ、エンドポイント、APIレスポンスコード及びレスポンスボディの項目を有する、API文書のひな型を含む。
【0012】
また、本発明の第6の態様は、第5の態様の方法であって、前記API文書のひな型は、対応するビジネスロジックの項目をさらに有する。
【0013】
また、本発明の第7の態様は、第4の態様の方法であって、前記第2の要求は、前記ソフトウェアのデータベース設計に含まれるカラム名を用いて前記入力の項目を生成することの指示を含む。
【0014】
また、本発明の第8の態様は、第5の態様の方法であって、前記第3の要求は、前記ソフトウェアのデータベース設計に含まれるカラム名を用いて前記パラメータ、前記エンドポイント及び前記レスポンスボディの少なくともいずれかの項目を生成することの指示を含む。
【0015】
また、本発明の第9の態様は、第7又は第8の態様の方法であって、前記第2の要求及び前記第3の要求の前に、前記1又は複数のユースケースを用いて、データベース設計の記述を生成することを第4の生成AIモデルに要求する第4の要求を行うステップをさらに含む。
【0016】
また、本発明の第10の態様は、第1から第9のいずれかの態様の方法であって、前記ユーザー端末に、生成された1又は複数のビジネスロジックの少なくともいずれか及び当該ビジネスロジックに対応するAPI文書を送信するステップと、前記ユーザー端末から、当該ビジネスロジックに対する修正を受信するステップとをさらに含む。
【0017】
また、本発明の第11の態様は、第10の態様の方法であって、前記修正に従って、当該ビジネスロジックを利用可能なユースケースを修正することを第5の生成AIモデルに要求する第5の要求を行うステップをさらに含む。
【0018】
また、本発明の第12の態様は、第11の態様の方法であって、前記修正に従って、当該ビジネスロジックに対応するAPI文書を修正することを第6の生成AIモデルに要求する第6の要求を行うステップをさらに含む。
【0019】
また、本発明の第13の態様は、ソフトウェアの技術文書を作成するための方法であって、前記ソフトウェアにおいて生じる1又は複数のユースケースを取得するステップと、前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを生成AIモデル(k)に要求する要求kを行うステップと、前記1又は複数のビジネスロジックの少なくともいずれかについて、当該ビジネスロジックに対応するAPI文書を生成することを生成AIモデル(l)に要求する要求lを行うステップとを含む。
【0020】
また、本発明の第14の態様は、コンピュータに、ソフトウェアの技術文書を作成するための方法を実行させるためのプログラムであって、前記方法は、前記ソフトウェアにおいて生じる1又は複数のユースケースを取得するステップと、前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを生成AIモデル(k)に要求する要求kを行うステップと、前記1又は複数のビジネスロジックの少なくともいずれかについて、当該ビジネスロジックに対応するAPI文書を生成することを生成AIモデル(l)に要求する要求lを行うステップとを含む。
【0021】
また、本発明の第15の態様は、ソフトウェアの技術文書を作成するための装置であって、前記ソフトウェアにおいて生じる1又は複数のユースケースを取得して、前記1又は複数のユースケースの少なくともいずれかについて、当該ユースケースに対応する1又は複数のビジネスロジックを生成することを生成AIモデル(k)に要求する要求kを行い、前記1又は複数のビジネスロジックの少なくともいずれかについて、当該ビジネスロジックに対応するAPI文書を生成することを生成AIモデル(l)に要求する要求lを行う。
【発明の効果】
【0022】
本発明の一態様によれば、ソフトウェアの説明が表現された説明データから得られる1又は複数のユースケースの少なくともいずれかに基づいて、当該ユースケースに利用可能な1又は複数のビジネスロジックを生成し、少なくともいずれかのビジネスロジックに対応するAPI文書をさらに生成する処理を1又は複数の生成AIモデルを適用して自動化することによって、ソフトウェア開発に必要な技術文書の作成を大幅に効率化することができる。
【図面の簡単な説明】
【0023】
【
図1】本発明の第1の実施形態にかかる装置を示す図である。
【
図2】本発明の第1の実施形態にかかる方法の流れを示す図である。
【
図3A】本発明の第1の実施形態にかかる勤怠管理システム(attendance system)の登録時のUIの一例を示す図である。
【
図3B】本発明の第1の実施形態にかかる勤怠管理システムのログイン時のUIの一例を示す図である。
【
図3C】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のUIの一例を示す図である。
【
図3D】本発明の第1の実施形態にかかる勤怠管理システムのチェックアウト時のUIの一例を示す図である。
【
図3E】本発明の第1の実施形態にかかる勤怠管理システムのタイムシート閲覧時のUIの一例を示す図である。
【
図3F】本発明の第1の実施形態にかかる勤怠管理システムのタイムシート修正時のUIの一例を示す図である。
【
図4】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のユースケースを示す図である。
【
図5】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックを示す図である。
【
図6】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジック生成を要求する第2の要求のためのコードに一部として含まれるプロンプトの一例を示す図である。
【
図7】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックの生成に用いられるひな型を示す図である。
【
図8】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックに対応するAPI文書の一例を示す図である。
【
図9】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックに対応するAPI文書生成を要求する第3の要求のためのコードに一部として含まれるプロンプトの一例を示す図である。
【
図10A】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックに対応するAPI文書の生成に用いられるひな型を示す図である。
【
図10B】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックに対応するAPI文書の生成に用いられるひな型を示す図である。
【
図10C】本発明の第1の実施形態にかかる勤怠管理システムのチェックイン時のビジネスロジックに対応するAPI文書の生成に用いられるひな型を示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0025】
(第1の実施形態)
図1に本発明の第1の実施形態にかかる装置を示す。装置100は、ソフトウェアの開発に必要な技術文書を作成するために、ユーザーが用いるユーザー端末110及び生成AIモデルを提供するプラットフォーム120とインターネット等のIPネットワークを介して通信する。生成AIモデルは、装置100と通信可能なプラットフォーム120により提供されるものとして例示的に説明をするが、装置100上で生成AIモデルを提供するためのアプリケーションを実行して、装置100により生成AIモデルが提供されるようにすることもできる。
【0026】
装置100は、通信インターフェースなどの通信部101と、プロセッサ、CPU等の処理部102と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部103とを備え、各処理又は各動作を行うためのプログラムを処理部102において実行することによって構成することができる。装置100は、1又は複数の装置、コンピュータないしサーバを含むことがある。また、当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。当該プログラムは、記憶部103又は装置100からIPネットワークを介してアクセス可能なデータベース104等の記憶装置又は記憶媒体に記憶しておき、処理部102の少なくとも1つのプロセッサにおいて当該プログラムに含まれる命令を実行することができる。以下で記憶部103に記憶されるものとして記述されるデータはデータベース104等の記憶装置又は記憶媒体に記憶してもよく、またその逆も同様である。
【0027】
まず、装置100は、開発するソフトウェアについての説明が表現された説明データを受信する(S201)。当該説明データは、1又は複数の文及び1又は複数の画像の少なくとも一方を含む。当該1又は複数の文は、当該ソフトウェアの使用目的、操作手順等を記述した1又は複数の文を含むことができる。ここでは、説明データは装置100によって受信されるものとして説明したが、結果的に装置100が説明データを取得できればよい。一例として、装置100が開発するソフトウェアについての動画を受信し、これを解析して説明データが取得されてもよい。
【0028】
次に、装置100は、当該説明データに基づいて、当該ソフトウェアにおいて生じる複数のユースケースの自然言語による記述を生成する。以下では、説明データとして、
図3Aから3Fに示すような一連の画面が表現された複数の画像を装置100が受信する場合を例に主に説明する。この場合、各画面をUIとするユースケースを装置100は生成することができる。説明データに含まれる画像の例は、このようなGUIのほかに、ソフトウェアの振る舞いを示すシーケンス図が挙げられる。
【0029】
ユースケース生成は、より詳細には、一例として、装置100が、説明データに基づいて、複数のユースケースを生成することを生成AIモデル(「第1の生成AIモデル」とも呼ぶ。)に要求(「第1の要求」とも呼ぶ。)し(S202)、第1の生成AIモデルが複数のユースケースを生成し(S203)、生成した複数のユースケースを装置100に送信することによって行うことができる(S204)。
図2では、複数のユースケースが生成される例を示しているが、説明データの内容によっては、1つのユースケースが生成される場合もある。また、説明データ自体が1又は複数のユースケースを自然言語で記述するものである場合には、ユースケース生成の処理は行わない場合がある。
【0030】
装置100は、第1の要求をする前に、取得した説明データの1又は複数のデータ形式を判定して、第1の要求に、第1の生成AIモデルに対する判定結果に応じた指示を含めてもよい。当該指示は、プロンプトとも呼ばれ、これを入力として第1の生成AIモデルが出力を生成する。具体的には、説明データがテキスト形式の場合、画像形式の場合、これらの両方を含む場合で第1の要求に異なるプロンプトが含まれるようにしてもよい。
【0031】
図4に、本発明の第1の実施形態にかかる第1のAIモデルにより生成されるユースケースの一例を示す。生成されたユースケースの閲覧は、ユースケース閲覧画面表示情報、より短くはユースケース表示情報を装置100からユーザー端末110に、たとえば、HTML形式のファイルとして送信して、ユーザー端末110の表示画面にウェブブラウザ上で表示されるユースケース閲覧画面400から行ったり、ユーザー端末110にインストールされたアプリケーション(「アプリ」とも呼ぶ。)を動作させ、受信したユースケース表示情報を用いて当該アプリ上で表示されるユースケース閲覧画面400から行ったりすることができる。また、ユーザー端末110上のコマンドラインプロンプトに生成されたユースケースの出力がなされてもよい。なお、「閲覧画面」とは、ウェブブラウザ上で表示される場合にはウェブページ、モーダルウィンドウ、ポップアップウィンドウ等のさまざまな形式を採用することができ、アプリ上で表示される場合にはアプリの一画面とすることができる。いずれにおいても、生成されたユースケースを閲覧可能に表示するための領域を含む画面であれば、閲覧画面に該当する。本明細書で言及する他の画面についても、同様の技術を適用することができる。ユースケース閲覧画面400は、ここには図示していないものの、ユースケースを編集可能とすることができる。
【0032】
図4に示す画面400に表示されたユースケースは、
図3Aから3Fに示すUIを提供する勤怠管理システムのチェックイン時の振る舞いの自然言語による記述であり、
図3Cに示すUIに対応する。ユースケースは、項目として、アクター(actor)及びフロー(flow)を含み、前提条件(precondition)及び事後条件(postcondition)の少なくとも一方をさらに含んでもよい。
図4に示すユースケース400は、アクターが従業員であり、前提条件として従業員が勤怠管理システムにログインしている必要があり、事後条件として従業員の出勤が現在の日付で記録されることが定められている。そして、ユースケース400は、フロー、すなわちシステムの一連の振る舞いを記述している。具体的には、従業員が「チェックイン」ボタンをクリックしたら、システムは従業員の身元の検証、出勤の記録及び確認メッセージの表示を行い、検証に失敗した場合にはエラーメッセージの表示を行うことが記述されている。また、ユースケース400では、代替的なフローが3通り記述されている。ここでは、チェックイン時のユースケースについて説明したところ、第1のAIモデルは、
図3Aから3Fに示すUIのそれぞれに対応するユースケースを生成することができる。
【0033】
次に、装置100は、生成された複数のユースケースのそれぞれについて、当該ユースケースに利用可能な1又は複数のビジネスロジックを生成する。ここで、「ビジネスロジック」とは、UIとの通信で送信又は受信されるデータをビジネス上の要求に基づいて処理するためのロジック(logic)をいう。ここで「ロジック」とは、一連の命令を意味する。
【0034】
ビジネスロジック生成は、より詳細には、一例として、装置100が、ユースケースに基づいて、当該ユースケースに利用可能な1又は複数のビジネスロジックを生成することを生成AIモデル(「第2の生成AIモデル」とも呼ぶ。)に要求(「第2の要求」とも呼ぶ。)し(S205)、第2の生成AIモデルが1又は複数のビジネスロジックを生成し(S206)、生成した1又は複数のビジネスロジックを装置100に送信することによって行うことができる(S207)。生成された複数のユースケースのそれぞれについて上記処理を行う場合を説明したが、
図2に示す例のように、生成された複数のユースケースの少なくともいずれかについて1又は複数のビジネスロジックを生成する場合もある。
【0035】
図5に、本発明の第1の実施形態にかかる第2の生成AIモデルにより生成されるビジネスロジックの一例を示す。生成されたビジネスロジックの閲覧は、ビジネスロジック閲覧画面表示情報、より短くはビジネスロジック表示情報を装置100からユーザー端末110にユースケースと同様に送信してユーザー端末110の表示画面に表示されたビジネスロジック閲覧画面500上で行うことができる。ビジネスロジック閲覧画面500は、ここには図示していないものの、ビジネスロジックを編集可能とすることができる。
【0036】
図5の画面500に示すビジネスロジックは、
図4に示すユースケースに対応する。ビジネスロジックは、1つの項目として、一連の命令であるロジックを含み、入力(input)及び応答(response)の項目の少なくとも一方を明示的にさらに含んでもよい。
【0037】
図6に、本発明の第1の実施形態にかかる第2の生成AIモデルに対する第2の要求のためのコードに一部として含まれるプロンプトと呼ばれる指示(instruction)の一例を示す。当該プロンプトでは、文脈として、変数{use_case}に、生成される1又は複数のビジネスロジックを利用可能なユースケースが設定される。また、当該プロンプトは、文脈として、変数{response_example}に、生成される1又は複数のビジネスロジックのひな型(
図7参照)を設定することができる。当該ひな型は、1つの項目として、一連の命令であるロジックを含み、入力及び応答の項目の少なくとも一方を明示的にさらに含んでもよい。当該プロンプトは、文脈として、さらに変数{database_design}に、データベース設計を設定することができるが、これについては、第2の実施形態で詳細を説明する。
【0038】
図6の例は、プログラミング言語TypeScriptで記述したコードに一部として含まれる、自然言語で記述したプロンプトの一例であり、当該コードを実行することによって、OpenAI APIを呼び出し、プラットフォーム120上で提供される第2の生成AIモデルに設定されたユースケースに利用可能な1又は複数のビジネスロジックを生成させることができる。OpenAI APIは例示であり、その他のAPIを用いてもよい。プログラミング言語TypeScriptは例示であり、その他の言語を用いてもよい。第2の要求を行うためのコードは、記憶部103に記憶しておき、装置100がこれを取得して、当該コードに含まれる変数に所要の値を設定して得られるコードを実行すればよい。第1の生成AIモデルに対する第1の要求について具体例を示していないが、第2の生成AIモデルに対する第2の要求についての説明を踏まえれば、当業者であれば、第1の要求の実装を十分に理解することができるだろう。
【0039】
図2においては、第1の生成AIモデルと第2の生成AIモデルを区別しているところ、これらは、同一の生成AIモデルとしてもよい。生成AIモデルとしては、特にトランスフォーマーアーキテクチャを適用したLLMが好ましいが、技術の進展によってアーキテクチャの呼称が変わることは想定される。したがって、本明細書において「トランスフォーマーアーキテクチャ」とは、トランスフォーマーアーキテクチャの1若しくは複数の特徴又はその改良を用いたアーキテクチャを包含する。本明細書において「生成AIモデル」が同一であるか否かは、ユーザーが指定した生成AIモデルの種類が同一であるか否かによって判断する。OpenAI APIの例でいえば、変数“model”の値が同一であれば、生成AIモデルとして同一であると表現する。第1の生成AIモデルと第2の生成AIモデルが同一でない場合、同一のプラットフォーム120上で提供されるものでもよい。
図2の例では、第1の要求の後に第2の要求をしているところ、第1の生成AIモデルと第2の生成AIモデルが同一の生成AIモデルであるか同一のプラットフォーム上で提供される生成AIモデルである場合には、APIの単一の呼び出しによって、これらの要求を行ってもよい。また、言うまでもないが、第1及び第2の要求は、それぞれ複数の要求を含んでもよく、生成AIモデルに対する要求以外の装置100により行われる1又は複数の処理を含んでもよい。
【0040】
設定されたユースケースが長く、第2の要求に含まれる第2の生成AIモデルに対する指示の長さが第2の生成AIモデルに定められた上限を超えてしまう場合、当該ユースケースの要約生成をプラットフォーム120又はその他のプラットフォーム上で提供される生成AIモデルに要求し、得られた要約を変数{use_case}に設定して第2の要求をすればよい。
【0041】
次いで、装置100は、生成された1又は複数のビジネスロジックのそれぞれについて、各ビジネスロジックに対応するAPI文書を生成する。ここで、「API文書」とは、APIの機能及び使用方法を記述した文書をいう。
【0042】
API文書生成は、より詳細には、一例として、装置100が、生成された1又は複数のビジネスロジックのそれぞれについて、各ビジネスロジックに対応するAPI文書を生成することを生成AIモデル(「第3の生成AIモデル」とも呼ぶ。)に要求(「第3の要求」とも呼ぶ。)し(S208)、第3の生成AIモデルがAPI文書を生成し(S209)、生成したAPI文書を装置100に送信することによって行うことができる(S210)。
図2に示す例のように、生成された1又は複数のビジネスロジックのそれぞれについて上記処理を行う場合を説明したが、生成された複数のビジネスロジックの少なくともいずれかについてAPI文書を生成する場合もある。
【0043】
図8に、本発明の第1の実施形態にかかるAPI文書の一例を示す。
図8の画面800に表示されたAPI文書は、項目として、リクエストタイプ(request type)、パラメータ(parameter)、エンドポイント(endpoint)、APIレスポンスコード(API response code)及びレスポンスボディ (response body)を含み、検証(validation)、認証(authentication)、認可(authorization)及びリクエストボディ(request body)の少なくともいずれかをさらに含んでもよい。
図8にはスペースの関係で表示していないものの、当該API文書は、
図10Cに示すように、当該API文書が対応する1又は複数のビジネスロジックを含むことが好ましく、これにより、当該API文書に記述されたAPIをいずれのビジネスロジックの実装に利用できるのかを把握することができる。1つのAPIは、複数のビジネスロジックに利用可能な場合がある。
【0044】
当該API文書の閲覧は、たとえば、API文書閲覧画面表示情報、より短くはAPI文書表示情報を装置100からユーザー端末110にユースケースと同様に送信してユーザー端末110の表示画面に表示されたAPI文書閲覧画面800上で行うことができる。この際、レスポンスボディは、JSON形式で表示可能に当該API文書表示情報において記述することが好ましい。API文書閲覧画面800は、ここには図示していないものの、API文書を編集可能とすることができる。
【0045】
図9に、本発明の第1の実施形態にかかる第3の生成AIモデルに対する第3の要求のために一部として含まれる、自然言語で記述したプロンプトの一例を示す。当該プロンプトには、文脈として、変数{business_logics}に、生成されるAPI文書が対応する1又は複数のビジネスロジックを設定することができる。また、当該プロンプトには、文脈として、変数{response_example}に、生成されるAPI文書のひな型を設定することができる。かかるひな型が含み得る項目は、上述したとおりである。
図9の例では、ビジネスロジックに加えて、当該ビジネスロジックを利用可能なユースケースについても文脈として変数に値を設定しているが、ビジネスロジックが与えられれば、それに対応するAPI文書を第3の生成AIモデルに生成させることは可能である。当該プロンプトには、文脈として、さらに変数{database_design}に、データベース設計を設定することができるが、これについては、第2の実施形態で説明する。
【0046】
図9の例は、プログラミング言語TypeScriptで記述したコードに含まれる一部であり、当該コードを実行することによって、OpenAI APIを呼び出し、プラットフォーム120上で提供される第3の生成AIモデルに設定されたビジネスロジックに対応する1又は複数のAPI文書を生成させることができる。OpenAI APIは例示であり、その他のAPIを用いてもよい。プログラミング言語TypeScriptは例示であり、その他の言語を用いてもよい。第3の要求を行うためのコードは、記憶部103に記憶しておき、装置100がこれを取得して、当該コードに含まれる変数に所要の値を設定して得られるコードを実行すればよい。
【0047】
図2においては、第3の生成AIモデルが第2の生成AIモデルと同一である場合を示しているところ、これらは、別の異なる生成AIモデルとしてもよい。第2の生成AIモデルと第3の生成AIモデルが同一でない場合、同一のプラットフォーム120上で提供されるものでもよい。
図2の例では、第2の要求の後に第3の要求をしているところ、第2の生成AIモデルと第3の生成AIモデルが同一の生成AIモデルであるか同一のプラットフォーム上で提供される生成AIモデルである場合には、APIの単一の呼び出しによって、これらの要求を行ってもよい。また、第3の要求は、複数の要求を含んでもよく、第3の生成AIモデルに対する要求以外の装置100により行われる1又は複数の処理を含んでもよい。
【0048】
装置100は、生成された1又は複数のユースケース及びこれらを用いて生成された技術文書を受信し、ユーザー端末110に送信してもよい(S211)。ここで、具体的には、生成された1又は複数のビジネスロジック及びそれらに対応する1又は複数のAPI文書が技術文書に含まれる。
【0049】
以上のとおり、ソフトウェアの説明が表現された説明データから得られる1又は複数のユースケースの少なくともいずれかに基づいて、当該ユースケースに利用可能な1又は複数のビジネスロジックを生成し、少なくともいずれかのビジネスロジックに対応するAPI文書をさらに生成する処理を1又は複数の生成AIモデルを適用して自動化することによって、ソフトウェア開発に必要な技術文書の作成を大幅に効率化することができる。
【0050】
ユースケースを用いたビジネスロジックの生成に進む前に、ユースケースの検証を行ってもよい。当該検証は、たとえば、ユースケースがそれを用いてビジネスロジックを生成する上で必要な条件を充足していることの検証とすることができる。また、ビジネスロジックを用いたAPI文書の作成に進む前に、同様にビジネスロジックの検証を行ってもよい。
【0051】
(第2の実施形態)
第1の実施形態で説明した
図6及び
図9のプロンプトの例のように、文脈として、データベース設計の記述を変数{database_design}に設定してもよい。この場合には、
図6の例のように、ビジネスロジックに含まれる入力の項目をデータベース設計に含まれるカラム名を用いて決定する指示を第2の要求に含めることができる。このようにすることで、データベース設計と整合したビジネスロジックが得られる。また、
図9の例のように、API文書に含まれるパラメータ、エンドポイント、検証、リクエストボディ及びレスポンスボディの少なくともいずれかの項目をデータベース設計に含まれるカラム名を用いて決定する指示を第3の要求に含めることができる。
【0052】
データベース設計の記述は、ユーザー端末110から装置100が受信することによって取得してもよいが、装置100が生成又は取得した1又は複数のユースケースに基づいて生成AIモデルによって生成してもよい。より具体的には、装置100は、1又は複数のユースケースに基づいてデータベース設計を生成することを生成AIモデル(「第4の生成AIモデル」とも呼ぶ。)に要求(「第4の要求」とも呼ぶ。)してもよい。1又は複数のユースケースに基づいてデータベース設計の生成に進む前に、当該1又は複数のユースケースの検証を行ってもよい。当該検証は、たとえば、当該1又は複数のユースケースがそれに基づいてデータベース設計を生成する上で必要な条件を充足していることの検証とすることができる。また、第4の要求は、複数の要求を含んでもよく、第4の生成AIモデルに対する要求以外の装置100により行われる1又は複数の処理を含んでもよい。
【0053】
第4の生成AIモデルに対する第4の要求について具体例を示していないが、第2の生成AIモデルに対する第2の要求及び第3の生成AIモデルに対する第3の要求についての説明を踏まえれば、当業者であれば、第4の要求の実装を十分に理解することができるだろう。第4の要求は、第2の要求及び第3の要求と同様に、あらかじめコードを用意しておき、装置100がこれに必要な変数の設定をして実行することによって可能である。第4の生成AIモデルは、第1乃至第3の生成AIモデルの少なくともいずれかと同一であるか同一のプラットフォーム又は装置上で提供されてもよい。当然のことながら、第2及び第3の要求において変数{database_design}を設定するのであれば、第4の要求を第2及び第3の要求の前に実行する必要がある。
【0054】
(第3の実施形態)
ユーザー端末110に送信された技術文書は、ユーザー端末110の表示画面に編集可能な形式で表示することができ、ユーザー端末110のユーザーが修正を加えることができる(S212)。そして、加えられた修正は、ユーザー端末110から装置100に送信され、装置100は、当該修正に従って、少なくともいずれかのユースケースを修正することを生成AIモデル(「第5の生成AIモデル」とも呼ぶ。)に要求(「第5の要求」とも呼ぶ。)することができる。より具体的には、ユーザーがあるビジネスロジックに修正を加えた場合、第5の要求は、当該ビジネスロジックを利用可能なユースケースを修正する要求とすることができる(S213)。
【0055】
一般に、ユースケースは事業サイドのメンバーが作成し、技術文書は開発サイドのメンバーが作成することから、ユースケースとそれに基づく技術文書との間の整合性を維持することは容易ではない。本実施形態にかかるユースケースの修正を行えば、両者の間の整合性維持が現実的に可能となる。
【0056】
ビジネスロジックの修正が加えられた際に、ユースケースの修正に加えて又はそれを代替して、当該ビジネスロジックに対応するAPI文書を修正することをさらに生成AIモデル(「第6の生成AIモデル」とも呼ぶ。)に要求(「第6の要求」とも呼ぶ。)することができる。
【0057】
第5の要求及び第6の要求は、第2の要求及び第3の要求と同様に、あらかじめコードを用意しておき、装置100がこれに必要な変数の設定をして実行することによって可能である。第5の生成AIモデル及び第6の生成AIモデルは、第1乃至第3の生成AIモデルの少なくともいずれかと同一であるか同一のプラットフォーム又は装置上で提供されてもよい。また、第5及び第6の要求は、それぞれ複数の要求を含んでもよく、生成AIモデルに対する要求以外の装置100により行われる1又は複数の処理を含んでもよい。
【0058】
なお、上述の実施形態において、「のみに基づいて」、「のみに応じて」、「のみの場合」、「のみを参照して」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。また、一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」こと、「aの直後にbする」ことを必ずしも意味しないことに留意されたい。また、「Aを構成する各a」という記載は、必ずしもAが複数の構成要素によって構成されることを意味するものではなく、構成要素が単数であることを含む。
【0059】
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
【0060】
また、上述の説明では、複数の生成AIモデルに言及をしているところ、たとえば、第2の実施形態では、第2の生成AIモデル及び第3の生成AIモデルに要求を行う前に第4のAIモデルに要求を行う必要がある場合がある。このよう場合において、易読性の観点から、第4のAIモデルを「AIモデル(k)」と呼び、第1のAIモデルを「AIモデル(l)」、第2のAIモデルを「AIモデル(m)」、第3のAIモデルを「AIモデル(n)」、と呼ぶことがある。その他の場合についても、同様に適宜読み替えればよい。
【符号の説明】
【0061】
100 装置
101 通信部
102 処理部
103 記憶部
104 データベース
110 ユーザー端末
120 プラットフォーム
400 ユースケース閲覧画面
500 ビジネスロジック閲覧画面
800 API文書閲覧画面
【要約】
【課題】ソフトウェアの開発に必要な技術文書を作成するための方法において、生成AIモデルの適用による効率化を実現する。
【解決手段】まず、装置100は、開発するソフトウェアについての説明が表現された説明データを受信する(S201)。装置100が、当該説明データに基づいて、複数のユースケースを生成することを第1の生成AIモデルに要求し(S202)、第1の生成AIモデルがそれらを生成して装置100に送信する(S203及びS204)。次に、装置100は、ユースケースに基づいて、当該ユースケースに利用可能な1又は複数のビジネスロジックを生成することを第2の生成AIモデルに要求し(S205)、第2の生成AIモデルがビジネスロジックを生成して装置100に送信する(S206及びS207)。次いで、装置100は、それぞれについて、対応するAPI文書を生成することを第3の生成AIモデルに要求する(S208)。
【選択図】
図2