- 公開日
RAG・Agentの導入可否は、検索できたか、操作できたかだけで決めません。利用者の権限で参照した根拠を追え、承認された操作だけを許し、上限や停止が実際の実行経路で働くことを確認します。証拠が不足する操作は保留し、誰が何を直せば再判定できるかを決めます。
RAGは、検索した資料を生成AIの回答に使う検索拡張生成です。Agentは、目的に応じて検索や外部ツールを選び、処理を進める仕組みを指します。本稿では、社内規程を探す機能と、申請システムへ登録する機能を持つAIを点検します。表は導入判断のための記入例であり、特定製品の認証基準ではありません。
点検する構成と四つの判定を固定する
点検票の先頭に、対象業務、利用者の役割、参照資料、モデルと設定、検索索引、接続ツール、対象環境、確認日、判定責任者を書きます。検索索引は、検索のために作ったデータの集合です。同じ製品名でも、索引の内容や実行アカウントが違えば、以前の合格をそのまま引き継げません。
各行の判定は次の四つです。
- はい:指定した対象と条件で照合を終え、証拠が命題に合う
- いいえ:照合を終え、命題に合わない事実がある
- 未確認:必要な資料、観測記録、対象環境の一致を確認できない
- 対象外:その機能や経路が、今回許可する構成に存在しないと確かめられる
対象外にするには、今回使う構成との関係を説明します。未試験や担当不在の項目を、対象外に置き換えることはできません。申請機能を導入するのに、承認の記録がない行を対象外にはできません。また、「仕様書に停止機能の説明がある」と「停止後に新しい申請が送信されない」は別の命題です。前者が「はい」でも、後者の観測がなければ「未確認」です。
以下はすべて架空の資料と記録を置いた記入例で、実際にシステムを動かした結果ではありません。現場では、例の判定を転記せず、対象版の設定、認可結果、評価記録、操作先の台帳を照合して埋めます。動作記録には入力、利用者、期待結果、観測結果、版、取得時点を含め、条件の分からない画面写真だけで合格にしません。
架空の社内検索・備品申請AI
営業部員が「備品規程を確認して、キーボード三台の申請案を作って」と依頼した場面を考えます。対象は自部門で閲覧可能な規程です。人事限定資料は対象外のデータであり、検索経路で除外される必要があります。申請登録には、内容を表示したうえで本人の明示承認を求める設計とします。これはAIに操作を任せる承認であり、規程にある部門長の業務承認とは別です。検索の依頼だけでは登録しません。
点検用の架空資料を次のように置きます。
- 設計書には、閲覧範囲、申請登録前の承認、停止ボタン、依頼一件あたりAI処理費一〇〇円の上限が書かれている
- 設定一覧では申請登録と状態照会だけを許可し、発注・決済・社外送信の接続はない
- 規程は「三台以上は部門長の承認が必要」とし、回答案は「三台なら追加承認は不要」としている
- 権限拒否の架空記録はあるが、権限変更後のキャッシュ、並列処理を含む費用上限、停止後の送信については記録が揃っていない
これは購入を実行する例ではありません。品目・数量・利用者・対象版を固定し、証拠の有無と内容に応じて導入判断を分けます。
検索権限と根拠を点検する
OWASPのRAG Security Cheat Sheetは、取得時のアクセス制御、元資料までの来歴、キャッシュや派生データの管理を扱っています。ここでは、それらを社内規程の検索について照合する項目に落とします。文書を分割したチャンクや過去回答にも権限が及ぶかを確認し、モデルに見せた後の言い換えだけで権限制御を済ませません。
| 確認する命題 | 確認資料・方法 | 架空例の判定 | いいえ・未確認時の対応 |
|---|---|---|---|
| A1:設計書に利用者別の検索範囲が記載されている | 対象版の設計書と利用者・部門・文書範囲を照合 | はい:営業部員と対象範囲の記載がある | 記載がなければ範囲を定義。版が不明なら設計責任者へ照会 |
| A2:権限外の本文は、回答生成に渡る前に除外される | 許可用と拒否用の架空資料について、認可判定とモデルへ渡した内容を対照 | はい:記入例では人事限定資料の本文が渡されていない | 混入なら検索利用を停止して認可位置を是正。入力側が観測不能なら未確認のまま保留 |
| A3:権限変更後も、過去回答から制限情報を取得できない | 権限変更を含む記録と、再検索・キャッシュ再利用の双方を照合 | 未確認:キャッシュ側の記録がない | 記録を取得し、無効化または権限を再確認する経路を点検。機密資料の利用は開始しない |
| A4:回答から使った規程の版と該当箇所へ到達できる | 文書識別子、版、引用箇所を保存した記録と原資料を照合 | はい:例では三台以上の条項へ戻れる | 来歴の欠落を補い、追跡できない規程回答は確定案内に使わない |
| A5:回答の承認条件が、その規程の該当箇所と一致する | 「三台以上」と「三台なら不要」を意味と対象数量で比較 | いいえ:三台も追加承認の対象 | 回答案を訂正し、申請案へ部門長承認の条件を反映。原資料未入手なら未確認として断定を保留 |
| A6:認可基盤の不調を、該当規程なしという回答へ変えていない | 認可不能時の例外記録と画面表示を照合 | 未確認:障害時の記録がない | 障害と空の検索結果を分ける表示を確認し、認可できない資料の検索を停止 |
| A7:許可した情報だけが指定の処理・保存先へ渡る | データ経路図と接続設定、送信・ログ項目の記録を対照 | 未確認:診断ログの項目が不明 | 不要な本文記録を減らし、保存先・閲覧者・保持条件を確認するまで対象データの投入を保留 |
A4の「はい」は引用先へ戻れるという判定です。A5の内容一致まで証明しません。引用リンクがあることと、主張を支えることを一つの欄にすると、この例の誤答を見逃します。根拠が必要な社内規程の回答で検索に失敗した場合も、モデルの一般知識で規程を補わず、確認できないことを示します。
A7では、社内資料だからすべて送ってよいとは扱いません。対象サービスへの送信、検索用の派生データ、会話履歴、診断記録について、実際に利用する範囲の許可と設定を確かめます。監査のために本文や認証情報を丸ごと残す方法を既定にせず、文書識別子や判定など、追跡に必要な記録へ絞ります。
承認された操作だけを実行できるか
検索した文書に「この申請は承認済み」という文があっても、利用者の承認記録にはできません。外部内容を通じてAIの行動を変えようとするプロンプトインジェクションは、社内検索でも点検対象です。OWASP LLM01:2025は外部内容の分離や権限の制限を示しますが、RAGの採用だけで防げるとはしていません。
また、OWASP LLM06:2025は、過剰な機能・権限・自律性を分け、必要な操作に絞ることや下流での認可を勧めています。次表は、その考え方を申請登録に適用した点検例です。
| 確認する命題 | 確認資料・方法 | 架空例の判定 | いいえ・未確認時の対応 |
|---|---|---|---|
| B1:実行アカウントは、対象部門の申請登録と照会の範囲に制限される | 接続設定と操作先の権限一覧、他部門の登録拒否記録を照合 | 未確認:設定一覧はあるが拒否記録がない | 操作先で有効な権限を点検し、権限を狭める。設定名だけで登録を許可しない |
| B2:承認のない申請登録は実行経路で拒否される | 承認欄を空にした記録と登録先の台帳を対照 | はい:例では要求拒否と未登録を照合できる | 承認の検査を実行直前へ置く。台帳が見られない場合は未確認として登録を保留 |
| B3:承認後に数量・対象部門が変わった要求は、その承認で登録できない | 承認対象と実行引数を比較する記録を確認 | 未確認:変更した場合の記録がない | 承認内容との照合を追加し、変更後の内容を本人へ再確認 |
| B4:検索文書内の承認主張だけでは登録が成立しない | 模擬の承認主張を含む資料と、検知・実行拒否・台帳を対照 | 未確認:文章上の警告しか記録されていない | 警告と登録阻止を別々に確認。不要なツールを外し、承認経路を是正 |
| B5:今回の構成に、決済実行の承認経路がある | 機能一覧・接続設定・実行可能な操作一覧を照合 | 対象外:決済機能を含めない構成と確認した例 | 構成が不明なら未確認。決済機能を追加する変更時に新たに点検 |
B4は、危険な文を検知したというログだけでは合格にしません。登録が阻止されたかを操作先で確認します。一方で、通常の規程を検索するだけの依頼まで拒否していないかも対照します。危険な操作の阻止と、正当な回答の継続を分けることで、安全策による過剰な停止も見つけられます。
B5の対象外は、決済の安全性に問題がないという意味ではありません。構成から除外されているため、今回の導入判断に使わないという意味です。申請登録が後続の自動発注を起動するなら、その影響を無視して決済・発注を対象外にせず、実際に生じる処理を確認します。
上限・停止・監視の証拠を揃える
費用上限は、管理画面に数字があるだけでは足りません。どの費用を、どの単位で、いつ制限する設定かを確認します。また、停止ボタンの押下記録から、実行中の外部操作まで取り消されたと推測しません。例えば、AIと外部ツールを接続するプロトコルであるMCP(Model Context Protocol)のCancellation仕様では、取消が遅れて届く場合や取消不能の場合があります。2026-07-28版では通信方式で取消の伝え方も異なり、ボタン表示だけでは対象実装の結果が分かりません。
| 確認する命題 | 確認資料・方法 | 架空例の判定 | いいえ・未確認時の対応 |
|---|---|---|---|
| C1:設計書にAI処理費の集計範囲と上限が定められている | 依頼単位、子処理・再試行を含む費用範囲、制限方法を読む | いいえ:一〇〇円の記載だけで集計範囲がない | 範囲と課金反映の遅れを定義。資料未入手なら未確認として費用を伴う実行を保留 |
| C2:並列処理と再試行を含め、定めた上限を守れる | 予約済み費用と実績の集計、追加開始の拒否記録を対照 | 未確認:単独処理の記録しかない | 連鎖全体の制限を確認。厳密な金額を保証できないなら許容条件を再決定 |
| C3:停止受付後、新しい申請登録を開始しない | 受付時刻、待機要求、送信時刻、操作先の受理記録を照合 | 未確認:停止ボタン押下の記録のみ | 新規開始を止める経路と競合時の判定を確認し、登録機能は無効のままにする |
| C4:停止時に実行中だった申請を、照会して担当者へ引き継げる | 要求識別子、台帳の状態、結果不明の引継ぎ手順を照合 | 未確認:照会機能はあるが引継ぎ担当が未定 | 担当と確認期限を決める。結果不明なら完了と表示せず、再登録を保留 |
| C5:検索・承認・登録結果を同じ依頼として追跡できる | 依頼識別子から文書版、承認記録、登録結果への対応を確認 | はい:例では対応を追える | 欠落した対応を補う。本文を無制限に複製せず、必要な参照情報を保全 |
| C6:異常通知の受信者と、停止・再開を判断する担当が決まっている | 当番表と通知到達記録、停止権限、再開承認手順を照合 | 未確認:通知先はあるが到達記録がない | 受信・対応を確認し、代理担当と再開条件を定めるまで運用開始を保留 |
一〇〇円は架空の設計値で、推奨金額ではありません。外部サービスの請求確定が遅れる場合は、表示額を読むだけでは厳密な上限を保証できません。申請する備品の金額と、AI処理の利用料も別に管理します。時間や呼出し回数の上限も、採用する制限について同じく、定義と実際の拒否を分けて確認します。
C3とC4はセットで読みます。新規登録を止められても、受付前に送信済みの処理は残り得ます。停止後も、権限のある照会経路を維持し、登録済み・処理中・結果不明を区別します。「停止しました」という一表示で、外部状態を確定したことにしません。
いいえ・未確認から導入判断へ進む
この架空例では、引用先へ戻れても規程の説明が誤っており、登録権限、費用集計、停止後の送信、運用担当にも未確認が残っています。したがって、申請登録を開始できるという判定にはなりません。「はい」が多数あることや、仕様書が揃ったことでは相殺できません。
是正票には、該当行、影響する機能、現在の証拠、是正担当、確認期限、再判定に必要な証拠を残します。例えばC3なら、「申請登録を保留。実行基盤担当が停止受付と送信の記録を揃え、待機中・実行中・停止との競合を確認。導入責任者が新規送信の拒否を再判定」と具体化します。期限が来ても証拠が揃わなければ、期限の経過だけで合格にしません。
修正後は、変えた行だけでなく関連する行を見直します。承認検査を直したなら通常の登録と取消後の要求、検索索引を直したなら権限変更とキャッシュ、停止機能を直したなら未完了操作の照会を確認します。変更していない利用者・資料・構成を明示することで、どの範囲に判断を適用できるかが残ります。
検索だけを先に導入する選択もあります。ただし、この例では検索側にも未確認があるため、申請ボタンを隠すだけでは導入可能とはいえません。登録経路を実行側で無効にし、検索の権限、根拠、データ経路を別途満たした限定構成を再判定します。機能を絞る判断にも、絞れたことを示す証拠が必要です。
この表で確認できる範囲
この表が扱うのは、指定した構成を使い始める前の検索・実行の安全条件です。権限外チャンクを除外する具体的な実装や、Agentの目標逸脱を制御する詳細設計を置き換えるものではありません。目標・完了・中止の条件と反復の上限は、AIエージェントの目標逸脱・反復・過剰実行を止める条件で扱っています。医療や金融など個別業務の適法性、契約、業務判断の妥当性も別の確認が必要です。
すべて「はい」になっても、将来の入力や更新まで安全を保証するものではありません。モデル、検索資料、権限、接続ツール、料金条件を変えるときは、その変更が影響する行を再点検します。記録を集める負担も考え、各行を判断するための証拠と、その管理責任者を決めておきます。
