見出し画像

「BPStudy#194〜生成AIによる要件定義・システムの説明」に参加してきました

2023/10/31(火)に開催された「BPStudy#194〜生成AIによる要件定義・システムの説明」に参加してきたので、その内容と学んだことを共有します。

おことわり

  • この内容は非公式なものであり、自分なりに整理したものです

    • 以下の内容には誤りが含まれる可能性があります

    • 間違っている部分などがあれば、コメントお願いします

サマリ

  • RDRAモデルを可視化するツール(RdraGraph)に搭載しているLLM問い合わせ機能の紹介

  • 実験段階ではあるものの、RDRAモデル自体の説明、重要なUC、影響範囲等を調べることができる

  • 問い合わせの仕組みはRdraGraph以外にも活用できる

本イベントについて

RDRAモデル(※1)を可視化したツール(RdraGraph(※2))にあるLLM問い合わせ機能の紹介でした。

(※1)Relationship Driven Requirement Analysis(リレーションシップ駆動要件分析)
(※2)RDRA発案者の神崎さん自作のツールでRDRAの公式ページからダウンロードできます

connpass説明文

生成AI、特にChatGPTのような技術は、さまざまなジャンルでの活用が進んでいます。
システム開発の要件定義のジャンルでも取り組みが進んでいます。
要件定義手法のRDRA(Relationship Driven Requirement Analysis:ラドラ)は、モデルベースの要件定義手法です。
RDRAでは、システムの構成要素をあらわすアイコン同士をつなぐことでシステムを直感的かつ俯瞰的に表現することが可能になります。
しかし、モデルベースの表現は課題もあります。それは、モデルの意味つまりシステムの内容を人に説明する際、自然言語への変換が必要となる点です。この課題をLLM(Large Language Model:大規模言語モデル)を活用し解決しようという取り組みが本日のテーマです。
今回のBPStudyはRDRAの提唱者である神崎善司さんに、RDRAについて説明いただくとともに、RDRAで可視化したシステムを、を使って、自然言語でシステムを説明する方法などについてお話いただきます。

Connpassイベントページの説明文

発表資料

背景

  • RDRAモデルを使うことで、システム全体像の可視化や各要素の整合性が取りやすくなった

  • 理想としては、RDRAモデルを中心に要件定義等を進めたいが、RDRAを知らない場合、定義したモデルを読み取るのが難しいという課題があった

RdraGraphの問い合わせ機能

RDRAを知らない人やよりモデルを活用したい人向けに作られた機能です。
まだ実験的な段階ですが、3つの問い合わせ対応があります。

問い合わせ①:表示されているダイアグラムの説明

  • RDRAモデルを知らない人向けの機能

  • 表示しているダイアグラムの内容をLLMに要約させる(200文字程度)

    • 表示しているダイアグラムを文書化(プログラム)

    • 文書化したものをLLMに要約させる

問い合わせ②:事前に全定義を文書化し問い合わせに応える

  • LangchainのEmbeddings機能を使って、問い合わせに応えるもの

    • 処理手順

      • ① 事前に全RDRAモデルを文書化して、LLMに読み込ませる

      • ② 読み込ませた内容をもとに問い合わせに応える

  • 問い合わせ内容と事前知識の相性によって、精度が変わってしまうのが難点

問い合わせ③:問い合わせ内容に応じて文書化し回答する

  • Open AIのFunction Callingを使って、問い合わせに応えるもの

    • 処理手順

      • ① 事前にいくつかのFunctionを用意する

      • ② 問い合わせに応じて、適切なFunctionを選択する

      • ③ 問い合わせ + 選択したFunctionをもとにLLMに問い合わせる

  • LangchainのEmbeddings機能より精度が高い

問い合わせ機能の活用方法

この問い合わせ機能の活用方法も紹介していただきました。

  • 表示しているRDRAモデルを説明させる

  • 重要なUCを確認する

  • 影響範囲を確認する

まだ精度面が課題ですが、LLMを活用できれば、RDRAをより効率的に活かせることができるとのことでした。
また今回紹介した問い合わせの仕組みはRDRAモデル以外にも活用できるとのことです。

所感

今回の講演を聞いて、確かにRDRAを知らない人にどうやって説明しようか迷っていたのでとても便利な機能だなと思いました。
またLLMを活用することでもっと要件定義が容易にできるるんだなとも感じたので、徐々にLangchainとかも触ってみようかなとおもえる会でした。

補足

RdraGraphの注意事項

  • LLM問い合わせ機能を使うには、OpenAI APIが必要

  • Local Storageを使った機能のため、適宜クリアした方が良い

RdraGraphの問い合わせ機能を試してみた

RdraGraphでAPIキーを登録後、問い合わせを試してみましたが、エラーになってしまいました。。
登録の仕方が悪いかもしれませんね。。

{
  "error": {
    "message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.","type": "invalid_request_error",
    "param": null,
    "code": null
  }
}

参考

RDRAについて

BPStudyについて

この記事が参加している募集

イベントレポ

この記事が気に入ったらサポートをしてみませんか?