複雑な要件定義を壊さない ― 要件台帳・未確定事項・機械検証で段階化する

プロンプト・LLM活用

この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。OpenAIとGoogleの公式情報を確認し、旧版を現在の実務向けに見直しました。

検証ステータス:📘 公式情報確認済み/個別業務での精度は未検証

複雑な要件定義では、最初から完成版の仕様書を生成するより、要件を小さな管理単位へ分け、根拠と状態を固定してから統合する方がレビューしやすくなります。

最初に「要件台帳」を作る

各要件へ一意のIDを付け、少なくとも「要件内容」「根拠資料」「確定/未確定」「関連する要件ID」「受入条件」を記録します。LLMには文章をきれいにする前に、この台帳を埋めさせます。

ID: R-014
要件: 承認者が申請者本人の場合は自動承認しない
根拠: 業務規程 4.2
状態: 確定
関連: R-008, R-021
受入条件: 代理承認者へルーティングされること

未確定事項を推測で埋めない

資料に書かれていない条件は「不明」「要確認」として残します。生成AIが一般的な業務慣行を補ってしまうと、それが本当の要件なのか後から判別できません。

モジュール間はインターフェース契約でつなぐ

モジュールごとに入力、出力、エラー、責任範囲を固定し、他モジュールとの接続点をIDで参照します。文章の相互参照だけに頼らないのがポイントです。

形式はStructured Outputs、意味は別検証

JSONなど機械処理する出力では、利用可能なAPIのStructured OutputsやJSON Schemaを使って型と必須項目を固定します。ただし、スキーマに通ったことは要件が正しいことを意味しません。ID重複、参照切れ、未確定事項の残存、受入条件の不足などはアプリケーション側でも検証します。

実務フロー

  1. 元資料から要件候補を抽出する。
  2. 各要件へIDと根拠を付ける。
  3. 未確定事項を別表へ分離する。
  4. モジュールごとの入出力契約を作る。
  5. 機械検証できる項目をコードで確認する。
  6. 最後に人間が意味と優先順位を確認して仕様書へ統合する。

まとめ

コンテキストを長くすること自体が目的ではありません。中間成果物を固定し、何が事実で何が未確定かを追跡できる状態にすることが、複雑な要件定義での再現性を高めます。

公式情報・一次情報

この記事の更新履歴

  • 2026-09-13 追加:要件台帳、受入条件、未確定事項、機械検証の実務フローを追加。
  • 2026-09-13 変更:長文プロンプト中心の構成から、中間成果物を固定する要件管理中心の構成へ変更。
  • 2026-09-13 削除:内部style_prompt、本文H1、詳細な思考過程の出力要求、根拠のない精度保証を削除。

文書情報

記事タイトル
複雑な要件定義を壊さない ― 要件台帳・未確定事項・機械検証で段階化する
作成日
更新日
Source URL
https://papanda925.com/?p=5886

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました