生成AIを活用したシステム開発に関する情報は数多く公開されています。
特に、
- モデル選定
- プロンプト設計
- RAG
- AIエージェント
など、実装に関する話題を目にする機会が増えています。
一方で、生成AIを業務システムへ組み込む際の要件定義については、あまり語られていないように感じます。
実際には、
- AIに何を入力するのか
- AIは何を出力するのか
- システムのどこでAIを利用するのか
- AIと既存システムの責任範囲をどう分けるのか
といった上流設計の整理が重要になります。
この記事では、生成AI機能を要件定義する際に重要だと考えている5つのポイントを紹介します。
1. AIユースケースを具体化する
最初に決めるべきなのは、
AIで何を実現したいのか
です。
生成AIを導入する目的が曖昧なまま進めると、
「とりあえずAIを使う」
という状態になりがちです。
しかし要件定義で考えるべきなのは、
- ユーザーは何に困っているのか
- どの業務を効率化したいのか
- AIによってどのような価値を提供したいのか
です。
例えば、
- 入力作業を支援する
- 設定作業を効率化する
- 判断に必要な情報を提示する
など、まずは解決したい課題を明確にする必要があります。
重要なのは、
AIを使うこと
ではなく、
課題を解決すること
です。
2. AIへの入力を定義する
次に重要なのは、
AIに何を渡すのか
を決めることです。
生成AIは、与えられた情報をもとに結果を生成します。
そのため、
- ユーザー入力
- システム内の保有データ
- マスタ情報
- 設定情報
- 外部システムから取得する情報
など、どのデータをAIへ渡すのかを整理しなければなりません。
ここが曖昧なままだと、
- API設計
- データ設計
- インターフェース設計
が進みません。
また、
どの情報をシステムが収集するのか
どの情報をユーザーが入力するのか
を整理することも重要です。
生成AIの設計では、
AIそのものよりも先に入力データを定義する必要があります。
3. AIからの出力を定義する
入力と同じくらい重要なのが、
AIが何を返すのか
です。
要件定義初期では、
- AIが提案する
- AIが判定する
- AIが生成する
という表現が使われがちです。
しかし設計を進めるためには、
もっと具体的に定義する必要があります。
例えば、
- 候補データ
- 推薦理由
- 信頼度
- 設定ルール案
などです。
出力内容が曖昧なままだと、
- API設計
- 画面設計
- データ設計
すべてに影響します。
生成AI機能を要件定義するときは、
AIはどのようなデータを返却するのか
を項目レベルで定義することが重要です。
4. AIとシステムの責任範囲を決める
生成AI機能を設計する際に重要なのが、
AIとシステムの境界線
です。
設計初期は、
「AIに任せればよいのでは?」
という話になりがちです。
しかし実際には、
AIが担当する部分とシステムが担当する部分を明確に分離しなければなりません。
例えば、
AIが担当するのは、
- 情報解析
- 推論
- 候補生成
- ルール作成支援
などです。
一方で、
システムが担当するのは、
- データ管理
- 権限制御
- ワークフロー制御
- データ登録
- 監査ログ管理
などです。
この境界線が曖昧なまま進めると、
設計資料ごとに認識が分かれ、後工程で大きな手戻りが発生する可能性があります。
生成AI案件では、
AIが何をするか
だけでなく、
AIが何をしないか
も定義することが重要です。
5. AI機能だけではなくシステム全体を見る
最後に、最も重要だと感じていることです。
生成AI機能を検討していると、
どうしてもAI機能そのものに意識が向きがちです。
しかし実際には、
AI機能はシステム全体を構成する要素の一つに過ぎません。
システム開発では、
- 業務フロー
- 画面設計
- API設計
- データ設計
- 非機能要件
など、多くの成果物が存在します。
AI機能だけが正しくても、
システム全体との整合性が取れていなければ意味がありません。
特に重要なのは、
- 用語の統一
- 入出力定義の整合性
- 業務フローとの整合性
- 他機能との責務分担
です。
生成AI機能を個別最適で考えるのではなく、
システム全体の中でどのように機能するのか
という視点で設計することが重要だと考えています。
まとめ
生成AIというと、
- モデル
- プロンプト
- AIフレームワーク
などの技術的な話題に目が向きがちです。
しかし実際の要件定義では、それらの前に整理しなければならないことがあります。
生成AI機能の要件定義で重要だと考えているポイントは次の5つです。
- AIユースケースを具体化する
- AIへの入力を定義する
- AIからの出力を定義する
- AIとシステムの責任範囲を決める
- AI機能だけではなくシステム全体を見る
生成AI案件では、
「どのモデルを使うか」
よりも、
「システムの中でAIをどのように利用するか」
を定義する方が重要な場面が少なくありません。
生成AIの要件定義で難しいのはAIそのものではなく、
「AIをシステムの中にどう組み込むかを設計すること」
なのかもしれません。