RDRA定義にLLMを使う

エンタープライズ向けの要件定義にLLMを活用し素早く全体像を構築する

RDRAZeroOne:LLMを使ったRDRA定義ツール

あなたはLLMが出力した要件定義に責任をもてますか?

•事実

•課題

•RDRAZeroOneの狙い

注意:LLMへのプロンプトにRDRA独自の用語を使うのを避けるために、一部の言葉を変えて使っている

   業務:BUC 仕事:アクティビティ 分類:業務/コンテキスト

要件定義全体のイメージ

RDRAZeroOneから要件定義を始め、RDRASheetで要件を組立てる

LLM出力を理解し要件を組立てる

RDRAZeroOneが支援するタイミング

要件定義を3つのフェーズで進める

フェーズ1:要件定義の立ち上がりに空中戦を避けるために議論のベースを作る

フェーズ:RDRAモデルの構造を使って要件を組立てる

フェーズ:条件・バリエーションまでを含めて整合性を合わせ、精度を向上させる

フェーズ1にRDRAZeroOneを活用し素早く議論のベースを作り、要件の組立はフェーズ2で従来通りのRDRAモデルで組立てる

※エンタープライズ向けの要件定義に無理にLLMを使うと効率が落ちるので、フェーズ2から従来通りのRDRA定義を行う

3段階で徐々に詳細化しRDRAにつなぐ

処理の文脈情報を与えて要件定義を開始し、3ステップでLLMを活用し段階的に詳細化する。各ステップでLLMの出力を手直しすることで、要件定義に方向性を持たせ、企業ごとの仕組みや独自情報を与える。

LLMのAPIキーを登録する

LLMを使うためにOpenAIのAPIキーを登録する


※現状はOpenAIのLLMだけに対応しModelはGPT-4oを使用

文脈理解:初期の入力

文脈理解:図書館システム

要件を定義する対象の背景や業務の概要を記入する。

ビジネスアイディア

文脈理解からスコープを決める

文脈理解を入力とし以下の要素を出力する

⇒システム化のスコープを決める

LLMの反応をよくするためにRDRAの用語とは違う用語を使っている

  業務:BUC   分類:業務

アクターや外部システムを記述すると、LLMに出力されるものが限定される

※業務の概要を2階層で整理して出力するとLLMもその階層を利用する

 1階層目の先頭に「・」 2階層目の先頭に「- 」を付ける

LLMの出力結果を見直す

※時間をかけて見直すのではなく、直感的におかしなところだけ見直す。文脈理解の入力を見直すために、LLMの出力を見直す

要求の入力と分類の確認

業務毎の各項目を見直す

※2、3回は文脈理解の見直しとLLMの実行を行い、入力の精度を上げていく

ビジネスデザイン

ビジネスの構成要素を洗い出す

ビジネスアイディアの出力がある程度妥当なものであれば、ビジネスデザインのLLMを実行する

※明らかにLLMの出力が妥当(想定しているものが出力されない)ではない場合は再度LLMを実行する。数回実行して出力されない場合は、後でRDRA定義の段階で手直しする

※ここで扱う業務と仕事はRDRAのBUCとアクティビティに対応する

仕事への分割と関連付け

この段階では要求が思いつかないことも多いので、出力された要求をそのままにしておいてもよい

※この段階ではまだ確かなことは決められないので、明らかに違うものを削除、欠けていると思われるものを追加し、内容の変更を行う。迷っているものは基本的に残していくようにする。

システム化検討

ビジネス上どこをシステム化するかを決める

RDRAに必要な要素を出力する

ビジネスデザインの出力がある程度妥当なものであればシステム化検討のLLMを実行し、RDRAに必要な要素を出力する

システム化検討では、情報、状態モデルを構造化し、条件、バリエーションを洗い出す。そして、仕事にユースケースを結びつけることで、システム化範囲を明らかにする。さらにユースケースに情報、アクター、外部システム、条件を結びつけてシステムが行うことを明らかにする

※意図したものが出力されない場合は出力結果を修正せずにLLMの再実行を行う

※この段階ではまだ確かなことは決められないので、明らかに違うものを削除、内容の変更を行い、迷っているものは基本的に残していくようにする

要素の見直しポイント

※条件、バリエーションはRDRA上で定義する場合の参考にするために

※この段階の修正はRDRASheet上でも行えるので、グラフィカルに精度を確認するために分類と関連を中心に見直す

グラフィカルに確認するためにはコンテキスト、分類、業務などのグルーピング、ユースケースとの関係が重要になる

メニュー説明

LLMの出力を理解する

RDRASheet・RDRAGraphへの出力

ZeroOneではたたき台となるものを素早く作成することが重要

システム検討まで進めるとRDRAGraphやRDRASheetに出力できるようになる

RDRAGraphで内容を確認し、必要なところに戻って再度LLM実行を行う

ある程度の精度になったところでToRDRAでRDRA定義のSpreadSheetで編集を始める

※ZeroOneだけで精度を上げようとしない、ある程度システムスコープの合意ができればRDRASheetを使って要件を組立てる

LLMの出力をグラフで理解する

表形式だけでは出力の精度を理解するのは難しいので、RDRAGraphを使って定義内容をオブジェクトから逆引きして内容の精度を確認する

精度を確認するポイント

※妥当性はつながりの偏りから判断する。全くつながっていないもの、つながりの多いものなどから妥当性を確認する

LLMを使って定義内容を問い合わす

ChatBotを使ってLLMに内容を確認する

※RDRAGraphを参照

グラフの構造からチェック

構造から要件の精度をチェックすることができる


グラフから意味的なチェックする

各アイコンの意味のつながりから要件の精度をチェックする



このようにダイアグラムの構造から違和感を探すことや、個々のアイコンの名前と意味から関りの違和感を把握することで、違和感を使ってLLMの出力の精度を把握する

RDRASheetに移行する

ZeroOneからRDRASheet

RDRAZeroOneから

※以後はRDRASheet上でRDRA定義を続け、RDRAZeroOneの内容は破棄してもよい

Spreadsheetでの最初の作業

「To RDRA」では適切に処理されないものを適切なものに見直す

以後はGoogle Spreadsheet上で編集しRDRAGraphを出力し精度を上げる