Instiq
第3章 · AI の安全性・セキュリティ・ガバナンス·v1.0.0·更新 2026/6/22·読了目安 約12分

変更要約: 初版: ドメイン3(安全性・セキュリティ・ガバナンス)の4節を作成

3.1入出力のセーフティ制御

この節の要点

有害な入力・出力から守る多層防御を学びます。Bedrock Guardrails による入出力フィルタ、毒性/モデレーション、ハルシネーション低減(Knowledge Base 根拠付け・JSON Schema)、プロンプトインジェクションジェイルブレイク検出を扱います。

GenAI は有害入力(攻撃プロンプト)と有害出力(毒性・幻覚・PII 漏えい)の両方に対処が必要です。単一の防御でなく、前処理・モデル層・後処理の多層防御で守ります。

3.1.1多層のセーフティ

  • Bedrock Guardrails:入力/出力をフィルタ(禁止トピック・毒性・PII・単語)。責任ある AI のルールを宣言的に強制する中核。
  • ハルシネーション低減Knowledge Base で回答を根拠付け(grounding)、信頼度スコア/意味的類似度で検証、JSON Schema で構造化出力を強制。
  • 多層防御:前処理(Comprehend フィルタ)→モデル層(Guardrails)→後処理(Lambda 検証)→API 層(API Gateway 応答フィルタ)。
  • 脅威検出プロンプトインジェクションジェイルブレイクの検出、入力サニタイズ、セーフティ分類器、敵対的テストの自動化。
試験ポイント

「入出力の安全フィルタ=Guardrails」「幻覚を減らす=KB 根拠付け+JSON Schema 強制」「攻撃プロンプト=プロンプトインジェクション/ジェイルブレイク検出」「単一でなく多層防御」 は頻出です。Guardrails は入力側と出力側の両方に適用できます。

安全設計は「攻撃を入れない・有害を出さない・幻覚を出さない」を多層で実現します。入力側は Comprehend や分類器で前処理し、プロンプトインジェクション(指示の上書き)や ジェイルブレイク(制約回避)を検出・サニタイズ。モデル層は Bedrock Guardrails で禁止トピック・毒性・PII・単語を遮断(入力/出力の双方)。出力側は Lambda で後処理検証、API Gateway で応答フィルタを追加します。幻覚対策は Knowledge Base で回答を根拠付けし(出典提示)、信頼度スコアや意味的類似度で事実確認、JSON Schema で形式を固定、決定的な結果が要る箇所は text-to-SQL など決定論に寄せます。敵対的入力には自動敵対的テストを CI に組み込み、Guardrails の有効性を継続検証します。重要なのは「Guardrails だけ」「プロンプトだけ」に頼らず、前処理〜API 層まで冗長に重ねることです。

脅威対策
有害入力/攻撃プロンプトインジェクション検出+サニタイズ前処理
有害出力(毒性/PII)Bedrock Guardrailsモデル層(入出力)
幻覚KB 根拠付け+JSON Schema検索+後処理
回避の継続検証自動敵対的テストCI/CD
注意

ひっかけ: 「システムプロンプトに“無視しないで”と書けばプロンプトインジェクションは防げる」は誤りです。プロンプトだけに頼らず、検出/サニタイズ+Guardrails+後処理の多層で守ります。また「Guardrails は出力にだけ効く」も誤り(入力側にも適用可)。

前処理・Guardrails・後処理・インジェクション検出の多層防御図。
単一でなく多層で守る

3.1.2この節のまとめ

  • 安全=多層防御(前処理→Guardrails→後処理→API)
  • 幻覚=KB 根拠付け+JSON Schema/攻撃=インジェクション/ジェイルブレイク検出

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. カスタマー向け生成 AI が禁止トピックへの言及や PII の出力をしないよう、入力と出力の両方をフィルタしたい。中核となるのは?

Q2. RAG ベースの回答で事実に基づかない幻覚を減らしたい。最も効果的な対策の組み合わせは?

Q3. ユーザーがシステムの制約を回避しようとする「指示の上書き」攻撃に備えたい。適切な設計は?

理解度を確認第3章「AI の安全性・セキュリティ・ガバナンス」の問題を解く