22 ガードレール

ガードレールは、AIエージェントの動作をガイドおよび制御するための安全メカニズムです。

Oracle AI Data Platform Workbenchでは、エージェントによる有毒および悪意のあるコンテンツの生成または消費を防止するようにガードレールが構成されています。ガードレールはまた、エージェントによる個人を特定できる情報(PII)の漏洩を防ぎます。AIデータ・プラットフォーム・ワークベンチで使用可能な特定のガードレールは、コンテンツのモデレーション、プロンプト・インジェクションおよびPIIに適用されます。

ノート:

AIデータ・プラットフォーム・ワークベンチで提供されるガードレールは、英語でのみ使用できます。

AIデータ・プラットフォーム・ワークベンチで提供されるガードレールは、OCI生成AIサービス・チームによって実装されます。Guardrails for OCI Generative AIを参照してください。ガードレール構成に基づいて、AIデータ・プラットフォーム・ワークベンチ・サービスによって、OCIテナンシ内のガードレールAPIの適用が起動されます。

ビジュアル・フロー・キャンバスのガードレール

デフォルトでは、モデル・プロバイダのネイティブ・セーフティ・コントロールを超えるガードレールはシステムに適用されません。ガードレールを追加するには、エージェント・ビジュアル・フロー・ビルダーにガードレール・ノードをドラッグし、エージェントに接続する必要があります。

ガードレール・ノードは、チャット・トリガーとエージェント・ノード間、スーパーバイザとエグゼキュータ・エージェント間、またはエージェントとツール・ノード間のトラフィックをフィルタできます。ほとんどのシナリオでは、chatトリガーとエージェント・ノードの間に単一のガードレール・ノードを推奨します。これにより、受信ユーザーからのメッセージおよびエージェントによって生成されたメッセージがガードレールでフィルタされます。


ビジュアル・ビルダーにオープンするエージェント。ガードレール・ノードがパレットで強調表示されます。

ガードレール・ノードは、次の間でのみ挿入できます。
  • チャット・トリガー・ノードおよびエージェント(スーパーバイザまたはエグゼキュータ)

どのようなガードレールが利用できますか?

次の図は、エンド・ユーザーとエージェント間の単純な相互作用を示しています。このシナリオでは、すべてのガイドレールが適用されます(コンテンツ・モデレーション- CM、迅速な注入防止- PI、PII検出- PII)。PIはユーザークエリーにのみ適用されます。

エンド・ユーザーによって発行された2番目のメッセージの後、PI試行が検出され、エージェント開発者がPI検出(ブロック)に対して選択したアクションの後にユーザー・メッセージがブロックされました。


AIエージェント・ガードレールの例を説明する図

コンテンツ・モデレーション

コンテンツのモデレーションは、ほとんどの生成AIにおけるガードレールの一般的な実装です。チェックを外すと、LLMは有害なコンテンツを生成し、暴力的、人種差別的、性的に露骨なコンテンツを宣伝することができます。エージェント開発者は、エージェントとのユーザー・インタラクションを監視し、有害なコンテンツがないかスキャンする方法を完全に可視化し、制御することが不可欠です。コンテンツのモデレーションは、憎悪、性的、暴力的、有毒、軽蔑的、またはハラスメントベースのコンテンツがエージェントによって考慮または生成されることを防ぎます。ガードレール・モデルは、これらの6つのカテゴリに沿ってコンテンツを分類し、それらのカテゴリのいずれかに属するコンテンツにフラグを付けます。

ユーザー入力問合せまたはモデル・レスポンスのいずれかに対してアクションを実行できます。
  • ブロック:エージェントがユーザー入力を処理してレスポンスを生成できないようにします。ユーザーはエージェントからエラー応答を受け取ります。
  • 通知:エージェントがユーザー入力を処理してレスポンスを生成することを許可します。エージェントは、入力またはレスポンスにガードレール基準を満たすコンテンツが含まれていることをユーザーに通知します。
  • 許可:エージェントによる有害なコンテンツの処理または生成(あるいはその両方)を許可します。

エージェントの作成時に、コンテンツ・モデレーションに対して「ブロック」アクションが選択されます。Oracleでは、コンテンツ・モデレーションのガードレール選択として「ブロック」を保持することをお薦めします。

プロンプトインジェクション

AIエージェントのプロンプト・インジェクション・ガードレールは、ユーザー入力に埋め込まれた悪意のある命令または意図しない命令を検出、防止および軽減する保護メカニズムです。プロンプト・インジェクション攻撃では、以前のルールの無視、シークレットの抽出、認可されていないアクションの実行をモデルに指示する隠しテキストを挿入して、エージェントの元の指示、ポリシーまたは目標をオーバーライドまたは無効化しようとします。

コンテンツ・モデレーションに対して実行できるアクション(ブロック、通知または許可)と同じアクションを選択できます。プロンプト・インジェクション・ガードレールは、ユーザー入力問合せにのみ適用されます。
  • ブロック:エージェントがユーザー入力を処理できないようにします。ユーザーはエージェントからエラー応答を受け取ります。
  • 通知:エージェントがユーザー入力を処理することを許可します。エージェントは、入力にガードレール条件を満たすコンテンツが含まれていることをユーザーに通知します。
  • 許可:エージェントによる潜在的に有害なコンテンツの処理を許可します。

「ブロック」アクションは、エージェントの作成時にプロンプト・インジェクションが選択されます。Oracleでは、プロンプト・インジェクション用のガードレール選択として「ブロック」を保持することをお薦めします。

個人の身元を特定する情報(PII)

PIIガードレールは、ユーザー入力問合せまたはエージェント・レスポンスからPIIを自動的に検出、ブロックまたはマスクします。このガードレールは、エージェントがプライバシー規制や組織ポリシーに違反する方法で機密ユーザー情報を公開することを防ぎます。

PIIガードレールは、次の4つのエンティティ・タイプをサポートしています。
  • Email
  • 電話番号
  • 物理アドレス
  • 個人情報
これらの4つのエンティティのそれぞれについて、入力ユーザー問合せまたはエージェント・レスポンスに対してエージェントが実行する次のアクションのいずれかを適用することを選択します。
  • ブロック:エージェントがユーザー入力を処理してレスポンスを生成できないようにします。ユーザーはエージェントからエラー応答を受け取ります。
  • 通知:エージェントがユーザー入力を処理してレスポンスを生成することを許可します。エージェントは、入力またはレスポンスにPIIが含まれていることをユーザーに通知します。
  • マスク:エージェントが入力を処理し、マスクされたレスポンスを生成できるようにします。使用されるPIIは、露出を防ぐためにリダクションされます。
  • 許可:エージェントによるPIIデータの処理または生成(あるいはその両方)を許可します。

新規エージェントでは、PIIはデフォルトでユーザー入力とレスポンスの両方で許可されます。Oracleでは、セキュリティ・ニーズに基づいてPIIのガードレールを慎重に選択することをお薦めします。

ノードでの特定のガードレールの有効化

ビジュアル・キャンバスにガードレール・ノードを追加するときに、有効にするガードレールとそれぞれの構成方法を選択できます。

  1. ワークスペース内のエージェントにナビゲートします。
  2. 「ガードレール」ノードをパレットからキャンバスにドラッグします。
  3. ノードにわかりやすい名前と説明を指定します。

    ガードレール構成ページが開いています。名前と説明が強調表示されます。

  4. ガードレールを切り替えて有効にし、構成を開始します。トグルを再度押すと、ガードレールとその構成が無効になります。

    ガードレール構成。コンテンツのモデレーション防止のトグルが強調表示されます。

  5. 各カテゴリに必要なガードレール構成を選択します。

    ガードレール構成ページが表示されます。コンテンツ・モデレーション防止およびプロンプト・インジェクション検出の切替えが有効化および強調表示されます。入力および出力オプションがブロックに設定され、ブロックが強調表示されます。