🤖
RDRAを使ったAIベースの要件定義を体験してきました
RDRAを使ったAIベースの要件定義を体験してきました。
LLM を使った要件定義とはどういうものか気になり参加をしました。RDRA は知りませんでした。
イベントを知った当初、RDRA は LLM を前提とした手法だと誤認していたのですが、RDRA は LLM を使わなくても取り組める手法で、LLM を活用するとこんなふうにできるよ、というお話なんだなと後から気がつきました。
この記事では、RDRA について正しく解説するというよりは、私の理解を文字に起こすことを目的としています。正しい RDRA について知りたい方は、ハンドブックやスライド資料を参照して下さい。
RDRA とは
- "役に立つ"システムを作るための手法であり表現方法
- アクターからシステムまでの繋がりを表現する
- 曖昧な要求を一旦受け入れ、レイヤーで整理していき、レイヤー間の整合性を整えることで、要求に紐づいたシステムを作ることを助ける
RDRA のやり方
大まかに、以下のフェーズに分けられます。
フェーズ1
- 議論のベースを作る
- システムのスコープを明らかにするために、登場人物と業務を洗い出す
- 決まったものでは無く思いついたものを書く。曖昧でも良い
- 議論の土台を作る
フェーズ2
- 要件を組み立てる
- フェーズ1の成果物を土台にして、論理的で整合性のある要件に組み立て直す
- 辻褄が合わないものを解消していく
フェーズ3
- 精度を上げて仕様化可能にする
- システムが従うべきビジネスルール(料金表や入会条件といったもの)を「条件」として洗い出す
- ビジネスで使っている区分や種別(顧客ランク、商品分類など)のバリエーションを洗い出す
LLM を使った RDRA のやり方
イベントでは、フェーズ1を LLM を使い、スピーディーに行う方法が紹介されました。
使ったツールは「RDRAZeroOne」というツールです。以下にある URL から Web 上で操作が行えます。操作方法についても以下の URL に記載があります。
神崎さんに共有していただいたプロンプトを使うことで、Claude や Cursor でも「RDRAZeroOne」に近いことを再現できることを教えていただきました。イベント中、Claude や Cursor を試すこともしましたが、個人的に「RDRAZeroOne」の方が、全体の作業状況や工程ごとの成果物を追いやすく好きでした。Cursor を使うことで、大量に生成された情報を要約してもらうことが可能になり、それは Cursor を使う利点だと説明がありました。
感想(RDRA と LLM の感想が混ざっています)
- 前日に行われたイベントも含め、今回のイベントに参加したおかげで、RDRA の大枠はイメージできるようになった気がします。モデル間ごとの紐付けを表形式で見て、整合性を取るという作業を実際にやってみたいと思いました。今回はフェーズ1を LLM を使ってやってみるというものでしたが、フェーズ1〜3までを一気通貫でやるようなワークショップがあったら参加してみたいです
- Cursor が RDRA をできるようにプロセスを設計しプロンプトに落とし込まれた神崎さんの取り組みを見て、AI を意図通りに仕事させるためにプロセスを設計したり、それをプロンプトで表現するスキルが、AI を使った業務の効率化を実現するにあたって重要そうだと改めて感じました
- 今回のイベントでも、LLM の生成結果を確認し、必要に応じて修正する手順は必要とされており、この確認のスピードを上げるためにはどうするのがいいか、確認対象について詳しくなる以外の方法があるのか考えたいと思いました(懇親会では、モデリングや、そもそも完全に信用しきるというアイデアが出ていました)
おしまい
本イベントのトゥギャッターが作成されていましたので、リンクを貼っておきます。
この度はイベントを開催していただきありがとうございました。
Discussion