要件定義をAIで作成する際の5つの問題と解決策
システム開発の要件定義フェーズにAIを活用する際の5つの主要問題(精度低下、文脈理解不足、セキュリティ、属人性、合意形成)とその解決策を詳解。SIer向けの実践的ガイド。
はじめに
システム開発において、要件定義フェーズはプロジェクトの成否を左右する極めて重要な工程です。しかし同時に、属人性が高く成果物の品質にはばらつきが生じやすい部分でもあります。また要件定義には顧客との丁寧なすり合わせが必要なため時間とコストがかかり、開発全体のスピードを鈍化させる要因にもなりえます。完璧と自信をもって言える状態で後工程に引き継げることは稀だと思います。
こうした課題に対処すべく、近年注目を集めているのがChatGPTをはじめとする生成AIの活用です。ChatGPTのような高度なAIであれば、要件定義書のドラフト作成や要件の整理を代行・支援してくれるのではないか――そんな期待がSIerの現場でも高まっています。
しかし、ChatGPTを安易に要件定義に投入するのは危険です。生成AIには現実的な限界があり、それらを理解せずに使えばかえってプロジェクトを混乱させてしまう可能性があります。
本記事では、SIerの意思決定者向けに「要件定義をAIで作成する際の5つの問題点」を解説し、それぞれの解決策を提案します。AIによるシステム開発工程の効率化には夢がありますが、その現実的な可能性と限界を正しく理解し、自社に適した活用法を見極める一助になれば幸いです。
目次
- 膨大な資料をAIに与えた際の精度低下
- プロジェクト固有の文脈を理解できない
- 機密情報の扱いとセキュリティ上の問題
- 要件定義にAIを活用する人の技術への依存(属人性の排除は不完全)
- 合意形成・説明責任をAIが担えない
要件定義をAIで作成する際の5つの問題点
1. 膨大な資料をAIに与えた際の精度低下
基本的に、要件定義の前にはシステム化計画書や企画書、構想策定資料が存在します。さらに言えば、営業の際のヒアリング議事録や音声なども存在するでしょう。
それら全てをAIに与えて、「要件定義を生成してください」や「機能一覧を生成してください」などと指示をしても良い精度がでないのは明白です。
実際に論文でも、コンテキスト長(インプットの長さ)が長くなればなるほど、精度が下がってしまう傾向があることが示されています。
解決策:自動でインプットを取得する仕組み化
例えば、膨大な資料をDBに格納し、あるドキュメントを作成する際には自動でそのドキュメントを作成するために必要な情報を取得する方法などがあります。一般的にRAG(Retrieval-Augmented Generation)と呼ばれる仕組みです。
こうすることで、あるドキュメントの作成に必要な情報をわざわざ手動で探したりせずとも、AIが自動で情報収集を行いプロンプトに含めてくれるため、探す→コピー→プロンプトに貼り付け→整形などの手間を大幅に削減することができます。
2. プロジェクト固有の文脈を理解できない
ChatGPTなどの生成AIはインターネット上の大量のテキストデータを学習した「汎用モデル」であり、あなたの企業・業界・顧客の固有事情は知らないまま回答します。
そのため、たとえば「このプロジェクトは前回の失敗を受けて再始動している」といった過去背景の理解や、部門ごとの利害関係といった"文脈"を踏まえた要件定義ができません。
解決策:用語集をプロンプトに含める
プロジェクト固有の用語集や各ステークホルダーの役割・特徴などをAIに読み込ませることで、プロジェクト固有の事情やワードを考慮した上で要件の出力をしてくれるようになります。
例えば、「商品」という言葉はECサイト上では服や一つ一つのアイテムを指しますが、配送業者からすると「商品」は段ボールなどをイメージするかもしれません。これらの用語の定義をしたリストなどを適宜プロンプトにインプットすることで、AIの認識齟齬を少なくすることができ、要件出力の精度の向上が見込めます。
3. 機密情報の扱いとセキュリティ上の問題
ChatGPTやClaudeなどのクラウドで提供されているAIの多くは、入力されたテキストがAIの運営会社のサーバーに送信・保存され、モデルの学習に使用される可能性があります。これが機密情報の漏洩リスクを生みます。
特に、要件定義は機密レベルが非常に高い機密情報であり、漏洩してしまうことは許されません。
実例:
- サムスン電子における3件の機密情報の漏洩
- ChatGPTのバグにより、ユーザーのチャット履歴が流出
解決策:ローカルLLMの使用
有効な解決策としてローカルLLMを使用する方法が挙げられます。ローカルLLMには二種類あり、自社サーバーやオンプレミスで稼働するタイプとAzureやAWSなどのクラウドで稼働するタイプがあります。
このように、自社のみがアクセス可能な閉域ネットワーク上にローカルLLMを構築することで、機密情報の漏洩を防ぐことができます。
4. 要件定義にAIを活用する人の技術への依存(属人性の排除は不完全)
生成AIの出力結果はプロンプト(指示文)の質に依存します。したがって「誰でも使えば同じ成果が出る」わけではなく、むしろ使いこなすスキルが問われる状況に変わったとも言えます。
特に、要件定義においてはプロンプトの技術と要件定義そのものの技術が必要になるため、非常に難易度が高いです。ある程度のものを生成することはできますが、やはり熟練のSEが作成するような要件定義はAIを用いても作成することは難しいです。
これは、AIを使う側のユーザーの構築対象のシステムにおけるドメインの知識が不足しているためなかなか抜け漏れに気づかなかったり、要件定義の勘どころが不足しているためです。
解決策:要件定義における標準を取り入れた生成AIを構築
この問題に対しては、仕組み化(システム化)をすることが最も有効な解決策です。ここでいうシステム化とは、シニアSEが保有しているような要件定義における要求獲得技術などをAIがサポートをすることでジュニアSEであっても、抜け漏れの少ない高品質な要件定義を作成できるようにすることです。
実際に当社では要求工学やIEEE 830-1998(Recommended Practice for Software Requirements Specifications)という標準を適用した要件定義システムを開発しています。
要件定義をAIで効率化したい方は、是非お問い合わせください。
5. 合意形成・説明責任をAIが担えない
要件定義の本質的な難しさは、関係者間で合意を形成することにあります。関係者は多岐にわたり、それぞれ異なる背景や利害関係、専門知識を持っています。そのため、要件定義の最終的な成果物を提示する際には「なぜこの要件が必要か」「なぜこの機能は実装しないのか」といった説明責任を果たし、納得感を持ってもらうことが不可欠です。
しかし、生成AIであるChatGPTは、生成した回答の「理由」や「根拠」を明確に示すことが苦手です。AIが出力した内容をそのまま関係者に提示すると、納得感を得ることが難しく、合意形成が進まずにプロジェクトが停滞する恐れがあります。
解決策:人間が判断できる知識をつける
ChatGPTになぜその機能が必要なのかを聞けばある程度の回答はしてくれますが、最終的な判断は人間が行うべきです。それは、AIは責任を取ることができないからです。
そのため、人間は判断を行うための知識は最低限つけておく必要があります。そのドメイン知識や要件定義の知識をジュニアSEやPMがどのようにつけるかは様々ありますが、当社ではそのような知識をキャッチアップしながら要件定義を半自動で生成していけるような機能を搭載したシステムを開発しております。
これによって、ジュニアSEでもミドルSEレベルの要件定義を短期間で作成することができるようになり、工数削減と品質向上に繋がります。
まとめ
要件定義にChatGPTを導入することで、工数の削減や品質向上が期待できますが、セキュリティ面や、AIを使う人の属人性を排除しなければ全社的に活用し、効率を高めることは不可能です。
AIが要件定義工程をさらに強力にサポートする時代に備え、AIと人間が協力しながら最適な成果を導き出す仕組みを構築することが重要です。
当社では要件定義の工数削減と品質向上に向けて、AIを活用した要件定義やコード生成などの開発効率化支援を行なっております。社内でAIを活用した開発効率化をお考えの方はぜひ当社の無料相談をご利用ください。
📌 要件定義AI活用に関する無料相談はこちら
AIを活用した要件定義の効率化にご関心のある企業様向けに、無料相談を実施しています。具体的な活用イメージのすり合わせや、社内導入に向けたアドバイスも可能です。ぜひお気軽にご相談ください。