Overview
Atlas Agent Engine の保護を使用すると、プロジェクト管理者はエージェントのモデル呼び出しに渡すコンテンツとモデル呼び出しから渡すコンテンツを制御できます。管理者はプロジェクト内で ガーフィールド を設定し、オーケストレーション エンジン(UE)は一致する入力コンテンツと出力コンテンツをブロックまたは変更することでガーフィールドを強制します。
1 つ以上のワークスペースに上限を適用するには、上限の workspace_idsフィールドでワークスペースを指定します。このフィールドを指定しない場合、データベースはプロジェクト内のすべてのワークスペース に適用されます。
文字列はポリシー エンジンを補完します。ガーフィールドはモデルに渡される内容を制御し、ポリシー エンジンは、呼び出すことができるツールやモデルなど、エージェントが実行できるアクションを制御します。
文字列のタイプ
各文字列には、評価する内容を決定する タイプ と、文字列がトリガーされたときに何が起こるかを決定するアクションがあります。
現在、Atlas Agent Engine は output_validation の保護データベース タイプのみをサポートしています。このタイプのガーフィールドを使用すると、正規式パターンのセットに対してエージェントの出力を評価できます。これらのパターンは、ガーフィールドの config.match_patternsフィールドで定義します。
各文字列の保護ルールでは、次のいずれかのアクションを指定します。
アクション | 説明 |
|---|---|
| 呼び出しを拒否します。実行は停止し、呼び出し元にエラーが返されます。 |
| 一致した内容を削除または変換し、変更された内容で実行を続行できるようにします。 |
| ガーフィールドがトリガーしたレコードを記録し、元の内容で実行を続行できるようにします。 |
| 人間がレビューするために実行を一時停止します。実行は、レビューが承認した後にのみ続行されます。 |
ガーフィールド ステージ
ガーフィールドのステージ フィルターによって、モデルに取り込まれる内容、モデルの外部で評価される内容、またはその両方が評価されます。ステージ フィルターのない文字列はすべてのステージに適用されます。
次の表では、利用可能なステージについて説明しています。
ステージ | 評価の結果 | トリガー値 |
|---|---|---|
| ユーザー コンテンツがモデルに到達 | モデルを呼び出す前に |
| モデルの応答 | 応答がユーザーに返される前に |
文字列フィールド
次の表では、文字列を定義するフィールドについて説明しています。これらのフィールドは、プラットフォームUI 、または create または update APIリクエストのJSONリクエスト本文で設定できます。
フィールド | Possible values | 説明 |
|---|---|---|
| 任意の string | (必須) 文字列の表示名。 |
| 任意の string | ガーフィールドの目的の説明。 |
|
| (必須) 文字列 |
|
| (必須)ガーフィールドがトリガーされたときに実行するアクション。 |
|
| Atlas Agent が文字列を強制するかどうか。 Atlas Agent エンジンは、ステータスが |
|
| ガーフィールドがコンテンツを評価するステージの配列。両方のステージを評価するには、 |
| ワークスペース ID の配列 | ガーフィールドが適用されるワークスペースの配列。プロジェクト内のすべてのワークスペースに保護を適用するには、この配列を空のままにします。 |
| 正規表現パターンの配列 | ガーフィールドがコンテンツを照合するパターンの配列。各パターンは、 |
|
| パターンに一致するコンテンツに適用する動作。このフィールドは、 |
これらのフィールドを設定するリクエスト本文の例については、次のセクションの [REST API タブ]を参照してください。
文字列の作成と編集
プラットフォームUIまたはREST APIを使用して、文字列を作成および編集できます。手順を表示するには、ご希望の方法のタブを選択します。
Manage → Policies に移動し、Guardrailsタブを選択します。
次に、Create guardrail ボタンをクリックし、Create guardrail ダイアログでフィールドを構成して文字列を作成します。文字列を更新するには、文字列の Edit アイコンをクリックします。文字列を削除するには、該当する Delete アイコンをクリックします。
注意
カスタマー向けREST API はの監視操作を公開します。リクエストには Bearer認証と適切なプロジェクト権限が必要です。プロジェクトロールの詳細については、「 組織、プロジェクト、ワークスペースの管理 」を参照してください。
次の表は、使用可能なエンドポイントを示しています。
方式 | エンドポイント | 参照 |
|---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
作成エンドポイントとアップデート エンドポイントを呼び出すときに、文字列のフィールドを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 は各ステージのコンテンツを、現在のプロジェクトに適用されている監視用の文字列と照合します。次の表は、ステージとそれに対応する評価された内容について説明しています。
ステージ | 評価された内容 |
|---|---|
| ユーザー コンテンツはモデル呼び出しの前に評価されます。 |
| モデルの応答はユーザーに返される前に評価されます。 |
blockアクションのプロンプトがトリガーされると、UE は実行を停止し、呼び出し元にエラーを返します。このエラーは、ブロックの原因となったガーフィールドを特定します。 modifyアクションを持つ文字列がトリガーされると、変更された内容で実行が続行されます。
複数の上限が同じコンテンツに一致する場合、最も制限的なアクションが適用されます。アクションは、制限性が高いものから低いものの順にランク付けされます。
blockrequire_reviewmodifylog_only
例、1 つの文字列が modify を返し、別の文字列が block を返す場合、OA は呼び出しをブロックします。
制限
文字列には次の制限があります。
今後の実行についてのみ: 文字の変更は、変更が有効になった後に開始される実行にのみ適用されます。すでに進行中の実行は、開始された文字列のみの監視で継続されます。
コンテンツ コントロールのみ: モデルにアクセスしたりモデルから出力したりするコンテンツを制御します。呼び出すことができるツールやモデルなど、エージェントが実行できるアクションを制御するには、 ポリシーエンジン を使用します。