はじめに
昨今、システム開発にAIを利用することは一般的になりつつあります。
今回は、要件定義で使用できそうなAIサービスの調査や、要件定義作成の方法について考えたいと思います。
要件定義で活用できるAI・ツール
AIチャットサービス
ChatGPT
ChatGPTとは、OpenAIが開発した、人間と自然な会話ができるように設計された大規模言語モデル(LLM)の一種です。会話形式でユーザーとやり取りしながら、質問の回答や作業のサポートをしてくれます。
Gemini
Geminiは、Googleが開発した大規模言語モデル(LLM)です。Googleの検索エンジンやその他のサービスから得られる膨大なデータを学習することで、高度な性能を実現しています。
メモ
チャット系のAIサービスを使って、
ChatGPTやGeminiは画像を読み取って内容を分析することが可能。
画像を読み取れるのでOCRのような使い方ができそう。
資料作成
python-pptx (スライド)
pythonでパワーポイントを操作するライブラリです。これを使用してパワーポイントの資料を自動生成できます。
Marp (スライド)
Markdownでスライドが作れるツールです。VSCodeの拡張機能としてもあります。
AI駆動の要件定義について考える
要件定義前の事前情報
要件を決めるために以下などに対してAIチャットサービスを使用した分析を行います。
- 現行の業務や現行システム
- 新しい業務
- 業務知識・ビジネスルール
上記で分析した情報を要件定義するための事前知識として活用します。
事前情報をAIチャットサービスにインプットしておくことで、ハルシネーションの問題をできるだけ回避できると考えます。
※ハルシネーション: AI(人工知能)が誤認や論理の矛盾を含む事象や事実とは異なる情報を作り出してしまう現象
要件定義書作成
要件を決めるために、AIチャットに指示を出していきます。
試しにTODOアプリの要件定義書を書いてもらいました。
事前情報を入力したあとに、要件定義を指示すると事前情報を含めて要件定義をしてくれました。
各プロジェクトで同様の内容が要件定義に入ってくることも多いと思うので、事前情報入力用の雛形を作っておいて事前情報の入力に活用するのも良いと思いました。
メモ
基本設計、ソフトウェア設計のために要件定義書の書き方やフォーマットなどを検討するのが良さそう。
もしくは、作られた要件定義書から次のフェーズで使いやすい形式のファイルを出力できるようにしておく。
まとめ
今回は、AI駆動で要件定義について考えてみました。インターネットで情報を探してみると要件定義やソフトウェア設計にAIを活用しているところも多くあり、今後一般的になってくると感じました。
今後もコーディングだけでなく、要件定義や設計にもAIを活用していく方法を検討していきたいと思います。
(コーディングはDevinなど自律的にコードを書いてくれるAIが将来使われそう)