Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RDRAとLLM

神崎
November 27, 2024

 RDRAとLLM

エンタープライズ向けの要件定義にLLMを使ってRDRA定義を行う
テーマ:あなたは要件定義の出力に責任をもてますか
会社、プロジェクトのことを何も知らないLLMに如何に、情報を伝え、出力を理解し、要件を決定するか
段階的詳細化と要件のビジュアル化でこれらの課題に対応する方法を紹介

神崎

November 27, 2024
Tweet

Other Decks in Technology

Transcript

  1. • ㈱バリューソース • 神崎 善司 • twitter:@zenzengood • RDRA:https://www.rdra.jp/ •

    著作 • モデルベース要件定義テクニック • RDRA2.0ハンドブック • 仕事 • RDRA導入支援 • 要件定義支援 • 既存システムの可視化支援 • 好きな事 • システムの可視化 • モデリング • 表形式でのモデリング • LLMの活用 2 https://www.rdra.jp/
  2. RDRAレイヤー 依存 システム価値 システム外部環境 システム境界 システム Why Why Why アイコン

    アイコン アイコン アイコン システムに価 値をもたらす 視点 システムの使われ 方を示す視点 システムの入出 力を明らかにす る視点 システム化対 象のビジネス 上の情報と状 態 4
  3. RDRAレイヤー 5 依存 システム価値 システム境界 システム 外部システム 要求 アクター システム外部環境

    業務フロー アクティビ ティ ユースケース 状態 遷移 Why Why Why 条件 バリエー ション 業務 ビジネス ユースケース 情報 状態モデル 画面 イベント コンテキスト タイマー アクター群 外部システム群 画面
  4. 表形式でダイアグラムを再現 分類 アクター 機能要求 説明 機能要求 分類 アクター 非機能要求 説明

    検証方法 非機能要求 アクター 外部システム 情報 条件 バリエーション 状態 業務・BUC・アクティビティ・UC 情報 画面 アクター イベント 外部システム 6
  5. 表形式で構造化する BUC アクティビティ・UCにつながるオブジェクト定義 条件 外部システム アクター 状態モデル アクティビティにアクターが関わる 外部システムが提供する画面を使う システムの画面をアクターが使う

    システムが外部システムとイベントで連携する UCが情報を操作する 業務フロー アクティビティ ユースケース 業務 BUC 画面 イベント 状態モデル 条件 バリエーション UC タイマー UCが決められた時間に実行する 情報 7 始点 終点 同一行にあるものは関連 しているとみなす 階層構造を表す 階層構造を表す 階層構造を表す
  6. RDRAの要件定義は3フェーズで進める(推奨) • LLMに状況や要求をどう伝えるか • 段階的に要求を出し組立てる • LLMの出力をどう理解するか • 3段階で徐々に詳細化する •

    RDRAGraphで逆引きで確認する • LLMを使って問い合わせる • 要件を如何に早く決定するか • 従来のRDRAで細かい定義を行う • フェーズ2 3 13 フェーズ1 議論のベースを作る LLMを活用する フェーズ2 要件を組立る フェーズ3 ビジネスルールで仕様化可能にする RDRAZeroOne はここを支援
  7. 3段階で徐々に詳細化RDRAにつなぐ 14 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 行っていること ビジネスアイディア

    アクター 外部システム ビジネス ポリシー ビジネス パラメータ 業務 ビジネスデザイン 情報 状態 業務・仕事 システムデザイン 条件 バリエーション 情報 状態 業務・仕事・UC 初期情報を入力 ビジネスの外枠を固める ビジネスの組立 システム化 LLM Run LLM Run LLM Run 文脈整理 ビジネスアイディア ビジネスデザイン システムデザイン 階層的に詳細化する
  8. 文脈理解からスコープを決める 17 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 初期情報を入力 ・LLMに初期の情報を与える ・ビジネスの背景と行っていることの概要を伝える ビジネスの外枠を固める ・一旦スコープを決める ・ アクター ・ 外部システム ・ビジネスポリシー ⇒ビジネス全体を通した決まり事を明確にする ・ビジネスパラメータ ⇒多様な状況に対応するための可変性 ・業務の洗出し LLM Run 入力 出力 LLM
  9. 出力結果を更新する 18 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 初期情報を入力 ・LLMに初期の情報を与える ・ビジネスの背景と行っていることの概要を伝える ビジネスの外枠を固める ・アクター 外部システムの洗出し ・ビジネスポリシー ⇒ビジネス全体を通した決まり事 ・ビジネスパラメータ ⇒多様な状況に対応するための可変性 ・業務の洗出し LLM Run 要求 不要なものを削除 内容の訂正
  10. 段階的に要求を入力する 19 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 LLM Run 要求 業務に対する要求を入力する LLMの出力を深堀する 業務を大きく分類しながら、 業務を理解する
  11. 文脈と初期スコープから仕事を洗い出す 21 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 ビジネスデザイン 情報 状態 業務・仕事 初期情報を入力 ・LLMに初期の情報を与える ・ビジネスの背景と行っていることの概要を伝える ビジネスの外枠を固める ・アクター 外部システムの洗出し ・ビジネスポリシー ⇒ビジネス全体を通した決まり事 ・ビジネスパラメータ ⇒多様な状況に対応するための可変性 ・業務の洗出し ビジネスの組立 ・情報・状態の洗出し ・仕事の洗出し LLM Run LLM Run 要求 要求 入力・変更 出力 LLM 入力 変更
  12. 仕事からユースケースにつなげるための要求 22 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 ビジネスデザイン 情報 状態 業務・仕事 LLM Run LLM Run 要求 仕事に対する要求を入力する LLMの出力を理解するきっかけとする
  13. RDRAに必要な要素にまとめる 24 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 ビジネスデザイン 情報 状態 業務・仕事 システムデザイン 条件 バリエーション 情報 状態 業務・仕事・UC 初期情報を入力 ・LLMに初期の情報を与える ・ビジネスの背景と行っていることの概要を伝える ビジネスの外枠を固める ・アクター 外部システムの洗出し ・ビジネスポリシー ⇒ビジネス全体を通した決まり事 ・ビジネスパラメータ ⇒多様な状況に対応するための可変性 ・業務の洗出し ビジネスの組立 ・情報・状態の洗出し ・仕事の洗出し システム化 ・条件・バリエーションの洗出し ・情報:分類と関連の洗出し ・状態:分類と状態遷移を洗い出す ・仕事にユースケースを結びつける LLM Run LLM Run LLM Run 要求 要求 入力・変更 出力 LLM 入力 変更 変更
  14. Prompt構造 【systemPrompt】 #あなたは優秀なビジネスアナリストです あなたの仕事は、あなたの言語生成能力を駆使して、成功するビジネスのための各種定義を生成することです 人間のビジネスアナリストの業務定義力レベルを10とすると、あなたの業務定義力レベルは250です 【アクター】actors 【外シス】exsystems 【情報】infomations 【状態モデル】states 【最重要要求】

    【背景知識】 【業務概要】 あ 【ポリシー】plcs 【パラメータ】prms BusinessModelChatUnit 【businessAdvicePrompt】 "# 前提条件¥n" ++ "## システム名:" ++ systemName ++ "¥n" ++ "## 最重要要求:" ++ systemGoal ++ "¥n" ++ "## 背景知識¥n" ++ background ++ "¥n" ++ "## 業務概要¥n" ++ concept ++ "¥n" 【システム名】 BusinesChatUnit 【業務】 ActorChatUnit ExternalSystemChatUnit PolicyChatUnit ParameterChatUnit AttachActExsChatUnit 【業務・要求】business 【初期提案】 BusinessAnalyst 【businessDesignPrompt】 "# 前提条件¥n" ++ "## 最重要要求¥n" ++ systemGoal ++ "¥n" ++ "## 背景知識¥n" ++ businessBackground ++ "¥n" ++ "# システム化対象の業務:最重要要求と前提条件から生成¥n" ++ "## 業務一覧¥n" ++ business ++ "¥n" ++ "## 業務に関わるアクター¥n" ++ actors ++ "¥n" ++ "## 業務に関わる外部システム¥n" ++ exsystems ++ "¥n" ++ "## 対象のビジネスポリシー¥n" ++ plcs ++ "¥n" ++ "## 対象のビジネスパラメータ¥n" ++ prms ++ "¥n" BusinessDesign 【前提条件】 SystemDesign 【SystemDesignPrompt】 "# 前提条件¥n" ++ "## 最重要要求¥n" ++ systemGoal ++ "¥n" ++ "## 背景知識¥n" ++ businessBackground ++ "¥n" ++ "# システム化対象の業務:最重要要求と前提条件から生成¥n" ++ "## 業務と業務毎の仕事¥n" ++ jobs ++ "¥n" ++ "## 業務に関わるアクター¥n" ++ actors ++ "¥n" ++ "## 業務に関わる外部システム¥n" ++ exsystems ++ "¥n" ++ "## 業務に関わる情報¥n" ++ infomations ++ "¥n" ++ "## 業務で管理する状態モデル¥n" ++ states ++ "¥n" ++ "## 見直されたビジネスポリシー¥n" ++ plcs ++ "¥n" ++ "## 見直されたビジネスパラメータ¥n" ++ prms ++ "¥n" 【業務・仕事・関連】jobs InfomationChatUnit StateChatUnit AttachActInfChatUnit PreJobFlowChatUnit 【Pre業務・仕事】 【前提条件】 PreBucUcChatUnit 【Pre業務・仕事・UC】 【情報】 【状態モデル】 InfomationChatUnit StateChatUnit BucAttachChatUnit 【業務・BUC・仕事・UC・関連】 【条件】 ConditionChatUnit VariationChatUnit 【バリエーション】 { bizMdlMsg:prmsBizMdlMsg, bizBasMsg:prmsBizMsg, bizMsg:prmsAtchBizMsg, actMsg:prmsActMsg, exsMsg:prmsExsMsg, plcMsg:prmsPlcMsg, prmMsg:prmsPrmMsg } { jobPreMsg:prmsJobMsg, jobInfMsg:prmsInfMsg, jobSttMsg:prmsSttMsg, jobActExsInfMsg:prmsActExsInfMsg } { preMsg:prmsPreMsg, ucMsg:prmsUcMsg, infMsg:prmsInfMsg, sttMsg:prmsSttMsg, cndMsg:prmsCndMsg, vriMsg:prmsVriMsg, bucAttachMsg:prmsBucFieldMsg } BucUcChatUnit 【業務・BUC・仕事・UC】
  15. ZeroOne⇒ Graph ⇒ RDRA 28 文脈理解 システム名 最重要要求 ビジネスの 背景を記述

    概要 ビジネスアイディア アクター 外部システム ビジネス ポリシー ビジネス パラメータ 業務 ビジネスデザイン 情報 状態 業務・仕事 システムデザイン 条件 バリエーション 情報 状態 業務・仕事・UC LLM Run LLM Run LLM Run To RDRA To Graph ・表示されたRDRA分析をこぴー保存 ・ZeroOneシートのA1にペースト ・Importボタンを押す ・RDRA定義ファイルが生成される RDRA定義_V0.99β 以後はこのファイ ルで定義を行う フェーズ1 議論のベース を作る フェーズ2 要件を組立る フェーズ3 ビジネスルールで 仕様化可能にする
  16. 利用スタイル • RDRAを使う場合 • RDRAのたたき台として作成 • お客様との打ち合わせの場で使用 • プロトタイプ作成の前段階で作成 •

    RDRAを使わない場合 • 要件定義のヒアリング項目の洗出し • ざっくりとシステムイメージを掴む • AsIsの分析 • 想定する業務を壁打ちする 手に入る資料から背景と概要を類推する 33