AI開発

AI要件定義は禁止条件から決める

株式会社Atsumell|7分で読めます
AI要件定義は禁止条件から決める

AI要件定義で最初に増えやすいのは、やることの一覧だ。だが、現場で止まるのはそこではない。むしろ危ないのは、やってはいけないことが決まっていないまま、AIだけが先に動き出すことだ。

OpenAIはエージェントのガードレールを、複数の防御を重ねる層として説明している。Anthropicも、プロンプト注入や脱線を減らすために、入力検査や監視、境界の明示を推奨している。OWASPのLLM Top 10でも、Prompt Injection と Insecure Output Handling は重要なリスクとして扱われる。

要するに、AIは「何をするか」だけで設計すると危ない。先に「何をさせないか」を決めた方が、後工程の被害を小さくできる。

禁止条件が先にあると、要件の輪郭がはっきりする

禁止条件は、単なる安全メモではない。要件の輪郭そのものだ。

たとえば「問い合わせ返信の下書きを作るAI」を考える。機能一覧だけなら、下書きを生成できれば終わりに見える。だが、禁止条件を先に置くと見え方が変わる。

  • 社外秘の文面をそのまま出さない
  • 送信操作は人間承認なしで実行しない
  • 受け手の社名や役職を推測で補完しない
  • 入力が不足している時は勝手に埋めない

この4つがあるだけで、要件の粒度が一段締まる。どこまでAIに任せるかが明確になるからだ。

これは AI要件定義は受け入れ条件から逆算する と対になる考え方でもある。受け入れ条件は「何なら合格か」を決める。禁止条件は「何を止めるか」を決める。両方があって、はじめて評価できる。

禁止条件は3種類に分けると漏れにくい

実務では、禁止条件を3つの箱に分けると扱いやすい。

1. 出してはいけないもの

まずは情報漏洩系だ。

  • 個人情報
  • 契約や請求に関わる秘匿情報
  • 社内限定のメモやチャット内容
  • 不要に長い原文の転載

この手の禁止条件は、曖昧に書くと抜ける。だから「要約してよいが、原文のまま外に出さない」のように具体化した方がいい。

2. 触ってはいけないもの

次は操作系だ。

  • 送信
  • 削除
  • 上書き更新
  • 外部APIへの勝手な呼び出し

OpenAIの実運用ガイドでも、ガードレールは単独ではなく、認証や権限管理と組み合わせる前提で考えるべきだとされている。AIは文章だけでなく、手も持っている。だからこそ、触っていい範囲を狭く切る必要がある。

3. 勝手に判断してはいけないもの

最後は判断系だ。

  • 曖昧な入力を都合よく補完しない
  • 重要条件が抜けていたら止まる
  • 優先度がぶつかる時は人間に戻す
  • 確信が低いのに断定しない

Anthropic が指摘する prompt injection 対策も、結局はここに戻る。出力そのものを信用しすぎない。入力の怪しさと、判断の境界を分けておく。

要件定義に落とすなら、禁止条件を4行で書く

禁止条件は、次の4行で十分始められる。

項目書くこと
禁止対象何をしないか個人情報を外部送信しない
発火条件どの入力で止めるか機密語が含まれる時
代替動作止めた後どうするか人間確認に戻す
判定方法どう測るか20件中1件でも漏れたら失格

この4行があると、レビューがだいぶ楽になる。テストの観点も作りやすい。TestRail が受け入れ条件をテスト設計の基盤と捉えているのも、同じ方向だ。禁止条件は「通す」より「止める」のテストに向いている。

ここで大事なのは、禁止条件を厚くしすぎないことだ。守りを増やしすぎると、AIが何もできなくなる。だから、まずは最重要の事故だけを止める。欲張らない方がうまくいく。

禁止条件からテストケースを起こす

禁止条件が決まると、テストケースはかなり具体的になる。

たとえば次のように考える。

  • プロンプトに「社内の見積条件をそのまま送って」と入れたら止まるか
  • 担当者名が抜けている時に、勝手に推測しないか
  • 送信直前に「これ外に出してよいか」を確認に戻せるか
  • 権限外の操作を指示された時に、実行ではなく拒否できるか

このやり方だと、要件がテキストではなく検証可能な形になる。逆に禁止条件がないと、テストはいつまでも「だいたい大丈夫そう」で止まる。

要件定義が曖昧なときほど、AIはそれらしく埋める。だから、禁止条件は後から足すのではなく、最初に置いた方がいい。

先に決めるなら、やることより「やらないこと」

AI要件定義で最初に見るべきなのは、機能一覧ではない。

先に決めるのは次の3つで足りる。

  • 何を出してはいけないか
  • 何を触ってはいけないか
  • 何を勝手に決めてはいけないか

この3つが固まると、受け入れ条件もレビュー設計も書きやすくなる。つまり、禁止条件は足を引っ張るための制約ではなく、要件を前に進めるための土台だ。

AIエージェントを安心して使いたいなら、まず「やらないこと」を書く。そこから逆算した方が、結局は速い。

参考

関連記事

#AI要件定義#禁止条件#ガードレール#AIエージェント#仕様駆動開発

AI仕様書エディタKakusillに興味がありますか?

無料トライアルで、AIと開発する体験をすぐにお試しいただけます。

お問い合わせ