airequirementsprompting
曖昧な依頼を要件定義に変換する質問リスト(AI開発)|AIに実装させる前に聞くべきこと
|
6 min read
AI(LLM)に実装を任せる前に、曖昧な依頼を“拘束力のある仕様”に変えるための質問リスト。スコープ、制約、失敗時の挙動、受け入れ条件、運用を先に確定して手戻りを減らす。
目次
AIに実装させる前に、どんな質問をすれば“勝手に推測”されない?
結論(Conclusion)
聞くべきなのは「背景」より 意思決定を仕様に固定する質問。
- 誰が使う?権限は?
- 何はやらない?(スコープ外)
- 受け入れ条件は?(どうなったら完了?)
- 失敗時の挙動は?(タイムアウト/再試行/部分成功)
- 絶対条件は?(セキュリティ/速度/コスト/運用)
「何が欲しい?」だけ聞くと、AIは残りを全部推測して事故る。
Implementation examples may be available on DevSnips.
背景(Explanation)
AI実装は速いが、曖昧さも同時に増幅する。 穴がある仕様は、AIが“親切に”埋める。 そしてその埋め方がよく外れる。
- UIで隠してるだけの“認可”が崩れる
- タイムアウト/レート制限がなくて本番で死ぬ
- ログにPIIやトークンが混ざる
- 真実のソース(DB/キャッシュ/API)が曖昧で整合性が壊れる
質問リストは手続きを増やすためではない。 事故を防ぐコントロール面を作るため。
実務手順(Practical Guide)
2パスで回す。
- パス1(流入/基本): 意図・スコープ・成功条件を固める
- パス2(実務者): 制約・運用・失敗挙動を固める
パス1:意図とスコープ(最低限)
- 誰が使う?
- ペルソナ:社内管理者/有料ユーザー/匿名?
- 権限:ロール/組織/プロジェクト単位?
- 目的は1文で?
- 「ユーザーがXできて、Yを達成できる」
- スコープ外は?
- “やらないこと”を3〜5個、明記する
- 成功条件は?
- 指標、受け入れ条件、または具体テスト
- 例はある?
- 入出力のサンプル、スクショ、payload
パス2:制約と運用(本番で壊れる部分)
- セキュリティ境界は?
- 認証/認可
- PII/秘密情報(ログに残さないもの)
- 許可する外部連携/ドメイン
- 速度/コスト予算は?
- p95レイテンシ
- トークン予算(LLM利用時)
- 失敗時の挙動は?
- タイムアウト
- 再試行/バックオフ
- 冪等性
- 部分成功か、失敗で止めるか
- リリースとロールバックは?
- フィーチャーフラグ?
- 段階リリース?
- 戻すトリガー?
- 観測(見える化)は何が必要?
- ログ
- メトリクス
- アラート
判断基準:AIに丸投げしていい仕様か?
最低でもこの3つに答えられるなら、AIに実装を委譲して良い。
- 受け入れ条件(テスト)は何?
- 失敗時の挙動は何?
- セキュリティ境界(権限/PII)は何?
どれかが「後で考える」なら、フル実装は委譲しない。
失敗パターン(Pitfalls)
- スコープ外がない → スコープがAIの都合で広がる
- 期限だけ決めて成功条件がない → ずっと終わらない
- 非機能要件が抜ける → 遅い/高い/危ない
- 失敗挙動が未定義 → 最初のタイムアウトで障害
- ロールバックがない → 安全に出せない
チェックリスト(Checklist)
- [ ] ペルソナが特定できている
- [ ] 権限モデルが書かれている(ロール/組織/スコープ)
- [ ] 目的がユーザー価値として1文で書けている
- [ ] スコープ外リストがある(3〜5個)
- [ ] 入力が列挙されている(API/UI/イベント/バッチ)
- [ ] 出力が列挙されている(DB/レスポンス/UI/ログ)
- [ ] 入出力の具体例がある
- [ ] 受け入れ条件がテスト可能
- [ ] セキュリティ制約が明記されている(PII/秘密情報/ログ)
- [ ] レイテンシ予算がある(p95/p99)
- [ ] コスト予算がある(トークン/外部API)
- [ ] 失敗時の挙動が決まっている(タイムアウト/再試行/冪等)
- [ ] リリース計画がある(フラグ/段階/ロールバック)
- [ ] 観測計画がある(ログ/メトリクス/アラート)
FAQ
Q1. それって要件定義では?
そう。ただしAI実装で破綻しやすい決定点に絞って“最小セット”に圧縮している。
Q2. まだ答えられない項目があるときは?
その時点でフル実装を委譲しない。まずはAIに「設計案を2〜3個出して比較」させて、制約を確定してから実装する。
Q3. 毎回ぜんぶ聞く必要がある?
毎回パス1は必須。パス2は、認可/決済/PII/外部API/本番ユーザー向けの機能なら必ずやる。
内部リンク(Internal links)
- 親記事(Hub):AI開発:まずはここから
- 関連記事:
参考(一次情報)
- IEEE 830(requirementsの古典): https://ieeexplore.ieee.org/document/720574
免責
個人情報/機密は最小化。