AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

コンテンツ 保護の使用

Atlas Agent Engine の保護を使用すると、プロジェクト管理者はエージェントのモデル呼び出しに渡すコンテンツとモデル呼び出しから渡すコンテンツを制御できます。管理者はプロジェクト内で ガーフィールド を設定し、オーケストレーション エンジン(UE)は一致する入力コンテンツと出力コンテンツをブロックまたは変更することでガーフィールドを強制します。

1 つ以上のワークスペースに上限を適用するには、上限の workspace_idsフィールドでワークスペースを指定します。このフィールドを指定しない場合、データベースはプロジェクト内のすべてのワークスペース に適用されます。

文字列はポリシー エンジンを補完します。ガーフィールドはモデルに渡される内容を制御し、ポリシー エンジンは、呼び出すことができるツールやモデルなど、エージェントが実行できるアクションを制御します。

各文字列には、評価する内容を決定する タイプ と、文字列がトリガーされたときに何が起こるかを決定するアクションがあります。

現在、Atlas Agent Engine は output_validation の保護データベース タイプのみをサポートしています。このタイプのガーフィールドを使用すると、正規式パターンのセットに対してエージェントの出力を評価できます。これらのパターンは、ガーフィールドの config.match_patternsフィールドで定義します。

各文字列の保護ルールでは、次のいずれかのアクションを指定します。

アクション
説明

block

呼び出しを拒否します。実行は停止し、呼び出し元にエラーが返されます。

modify

一致した内容を削除または変換し、変更された内容で実行を続行できるようにします。

log_only

ガーフィールドがトリガーしたレコードを記録し、元の内容で実行を続行できるようにします。

require_review

人間がレビューするために実行を一時停止します。実行は、レビューが承認した後にのみ続行されます。

ガーフィールドのステージ フィルターによって、モデルに取り込まれる内容、モデルの外部で評価される内容、またはその両方が評価されます。ステージ フィルターのない文字列はすべてのステージに適用されます。

次の表では、利用可能なステージについて説明しています。

ステージ
評価の結果
トリガー値

llm_input

ユーザー コンテンツがモデルに到達

モデルを呼び出す前に

llm_output

モデルの応答

応答がユーザーに返される前に

次の表では、文字列を定義するフィールドについて説明しています。これらのフィールドは、プラットフォームUI 、または create または update APIリクエストのJSONリクエスト本文で設定できます。

フィールド
Possible values
説明

name

任意の string

(必須) 文字列の表示名。

description

任意の string

ガーフィールドの目的の説明。

type

output_validation

(必須) 文字列

action

block, modify, log_only, require_review

(必須)ガーフィールドがトリガーされたときに実行するアクション。

status

active, inactive

Atlas Agent が文字列を強制するかどうか。 Atlas Agent エンジンは、ステータスが active のガーフィールドを強制します。

stage_filter

llm_input, llm_output

ガーフィールドがコンテンツを評価するステージの配列。両方のステージを評価するには、llm_input と llm_output の両方を一覧表示します。

workspace_ids

ワークスペース ID の配列

ガーフィールドが適用されるワークスペースの配列。プロジェクト内のすべてのワークスペースに保護を適用するには、この配列を空のままにします。

config.match_patterns

正規表現パターンの配列

ガーフィールドがコンテンツを照合するパターンの配列。各パターンは、regex の type と、正規式を含む value を設定します。

config.on_fail

fix, noop, log_only, block

パターンに一致するコンテンツに適用する動作。このフィールドは、action が modify に設定されている場合にのみ適用されます。

これらのフィールドを設定するリクエスト本文の例については、次のセクションの [REST API タブ]を参照してください。

プラットフォームUIまたはREST APIを使用して、文字列を作成および編集できます。手順を表示するには、ご希望の方法のタブを選択します。

Manage → Policies に移動し、Guardrailsタブを選択します。

次に、Create guardrail ボタンをクリックし、Create guardrail ダイアログでフィールドを構成して文字列を作成します。文字列を更新するには、文字列の Edit アイコンをクリックします。文字列を削除するには、該当する Delete アイコンをクリックします。

注意

カスタマー向けREST API はの監視操作を公開します。リクエストには Bearer認証と適切なプロジェクト権限が必要です。プロジェクトロールの詳細については、「 組織、プロジェクト、ワークスペースの管理 」を参照してください。

次の表は、使用可能なエンドポイントを示しています。

方式
エンドポイント
参照

GET

/api/v1/projects/{projectId}/guardrails

POST

/api/v1/projects/{projectId}/guardrails

GET

/api/v1/projects/{projectId}/guardrails/{guardrailId}

PUT

/api/v1/projects/{projectId}/guardrails/{guardrailId}

DELETE

/api/v1/projects/{projectId}/guardrails/{guardrailId}

作成エンドポイントとアップデート エンドポイントを呼び出すときに、文字列のフィールドをJSONリクエスト本文として渡します。次の例リクエストでは、単一のワークスペース内のモデルに到達するコンテンツから任意の 3 桁の連続した桁を編集する文字列を作成します。

{
"name": "Test guardrail",
"description": "Redacts three-digit sequences",
"type": "output_validation",
"action": "modify",
"status": "active",
"stage_filter": ["llm_input"],
"workspace_ids": ["ws-6a885deac97e9d280fa88cf3"],
"config": {
"match_patterns": [
{
"type": "regex",
"value": "\\d{3}"
}
],
"on_fail": "fix"
}
}

ガーフィールドを作成、更新、または削除すると、その変更は OA が処理する次回の実行に有効になります。ガーフィールド書込み (write) は OA のキャッシュされたデータベースを再読み込みするため、変更は次のリクエストで有効になります。

ガーフィールドの変更は、実行中の実行には影響しません。

プロジェクトを実行するたびに、UE は各ステージのコンテンツを、現在のプロジェクトに適用されている監視用の文字列と照合します。次の表は、ステージとそれに対応する評価された内容について説明しています。

ステージ
評価された内容

llm_input

ユーザー コンテンツはモデル呼び出しの前に評価されます。

llm_output

モデルの応答はユーザーに返される前に評価されます。

blockアクションのプロンプトがトリガーされると、UE は実行を停止し、呼び出し元にエラーを返します。このエラーは、ブロックの原因となったガーフィールドを特定します。 modifyアクションを持つ文字列がトリガーされると、変更された内容で実行が続行されます。

複数の上限が同じコンテンツに一致する場合、最も制限的なアクションが適用されます。アクションは、制限性が高いものから低いものの順にランク付けされます。

  1. block

  2. require_review

  3. modify

  4. log_only

例、1 つの文字列が modify を返し、別の文字列が block を返す場合、OA は呼び出しをブロックします。

文字列には次の制限があります。

  • 今後の実行についてのみ: 文字の変更は、変更が有効になった後に開始される実行にのみ適用されます。すでに進行中の実行は、開始された文字列のみの監視で継続されます。

  • コンテンツ コントロールのみ: モデルにアクセスしたりモデルから出力したりするコンテンツを制御します。呼び出すことができるツールやモデルなど、エージェントが実行できるアクションを制御するには、 ポリシーエンジン を使用します。