MCP Tools Reference: ces.googleapis.com

ツール: create_guardrail

指定されたアプリに新しいガードレールを作成します。

次のコードサンプルは、curl を使用して create_guardrail MCP ツールを呼び出す方法を示しています。

Curl リクエスト
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_guardrail",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

入力スキーマ

AgentService.CreateGuardrail のリクエスト メッセージです。

CreateGuardrailRequest

JSON 表現
{
  "parent": string,
  "guardrailId": string,
  "guardrail": {
    object (Guardrail)
  }
}
フィールド
parent

string

必須。ガードレールを作成するアプリのリソース名。

guardrailId

string

省略可。ガードレールに使用する ID。ガードレールのリソース名の最終的なコンポーネントになります。指定しない場合、ガードレールに一意の ID が自動的に割り当てられます。

guardrail

object (Guardrail)

必須。作成するガードレール。

ガードレール

JSON 表現
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
フィールド
name

string

ID。ガードレールの固有識別子。形式: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必須。ガードレールの表示名。

description

string

省略可。ガードレールの説明。

enabled

boolean

省略可。ガードレールが有効かどうか。

action

object (TriggerAction)

省略可。ガードレールがトリガーされたときに実行するアクション。

createTime

string (Timestamp format)

出力専用。ガードレールが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z"、"2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

出力専用。ガードレールが最後に更新されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z"、"2014-10-02T15:01:23+05:30"。

etag

string

読み取り / 変更 / 書き込みオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。

共用体フィールド guardrail_type。ガードレールのタイプ。guardrail_type は次のいずれかになります。
contentFilter

object (ContentFilter)

省略可。特定のコンテンツが会話で使用されないようにするガードレール。

llmPromptSecurity

object (LlmPromptSecurity)

省略可。LLM の分類に基づいてプロンプトが安全でないと判断された場合に、会話をブロックするガードレール。

llmPolicy

object (LlmPolicy)

省略可。LLM の分類に基づいて LLM レスポンスがポリシーに違反していると判断された場合に、会話をブロックするガードレール。

modelSafety

object (ModelSafety)

省略可。モデルの安全に関する設定に基づいて LLM のレスポンスが安全でないと判断された場合に、会話をブロックするガードレール。

codeCallback

object (CodeCallback)

省略可。コールバック実行の結果に基づいて会話をブロックする可能性のあるガードレール。

supervisor

object (Supervisor)

省略可。監督者の介入を実行するガードレール。

ContentFilter

JSON 表現
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
フィールド
bannedContents[]

string

省略可。禁止されたフレーズのリスト。ユーザー入力とエージェントの回答の両方に適用されます。

bannedContentsInUserInput[]

string

省略可。禁止されたフレーズのリスト。ユーザー入力にのみ適用されます。

bannedContentsInAgentResponse[]

string

省略可。禁止されたフレーズのリスト。エージェントの回答にのみ適用されます。

matchType

enum (MatchType)

必須。コンテンツ フィルタのマッチタイプ。

disregardDiacritics

boolean

省略可。true の場合、マッチング時に発音区別符号が無視されます。

LlmPromptSecurity

JSON 表現
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
フィールド
failOpen

boolean

省略可。ガードレールで LLM エラーが発生した場合の動作を決定します。- true の場合: ガードレールはバイパスされます。- false(デフォルト)の場合: ガードレールがトリガーまたはブロックされます。

注: カスタム ポリシーが指定されている場合、このフィールドは無視され、ポリシーの fail_open 構成が優先されます。

共用体フィールド security_config。セキュリティ構成モードを定義します。ユーザーは次のいずれかの構成を選択する必要があります。security_config は次のいずれかになります。
defaultSettings

object (DefaultSecuritySettings)

省略可。システムの事前定義されたデフォルトのセキュリティ設定を使用します。このモードを選択するには、リクエストに空の「default_settings」メッセージを含めます。レスポンス内の「default_prompt_template」フィールドには、サーバーによって値が設定されます。

customPolicy

object (LlmPolicy)

省略可。ユーザー定義の LlmPolicy を使用して、セキュリティ ガードレールを構成します。

DefaultSecuritySettings

JSON 表現
{
  "defaultPromptTemplate": string
}
フィールド
defaultPromptTemplate

string

出力専用。システムで使用されるデフォルトのプロンプト テンプレート。このフィールドは、システムがデフォルトで使用するプロンプトをユーザーに表示するためのものです。OUTPUT_ONLY です。

LlmPolicy

JSON 表現
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
フィールド
maxConversationMessages

integer

省略可。このポリシーを確認する際は、会話の最後の「n」件のメッセージを考慮します。設定しない場合、デフォルト値の 10 が使用されます。

modelSettings

object (ModelSettings)

省略可。モデル設定。

prompt

string

必須。ポリシーのプロンプト。

policyScope

enum (PolicyScope)

必須。会話中にポリシー チェックを適用するタイミングを定義します。POLICY_SCOPE_UNSPECIFIED に設定すると、ポリシーがユーザー入力に適用されます。ポリシーをエージェントのレスポンスに適用すると、エージェントが応答できるようになるまでに遅延が発生します。

failOpen

boolean

省略可。ポリシーチェック中にエラーが発生した場合は、フェイルオープンしてガードレールをトリガーしません。

allowShortUtterance

boolean

省略可。デフォルトでは、短い発話の場合、LLM ポリシー チェックはバイパスされます。この設定を有効にすると、通常はスキップされる発話も含め、すべての発話にポリシー チェックが適用されます。

ModelSettings

JSON 表現
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
フィールド
model

string

省略可。エージェントが使用する LLM モデル。設定されていない場合、エージェントは親エージェントからモデルを継承します。

thinkingLevel

enum (ThinkingLevel)

省略可。モデルの思考レベル。

共用体フィールド _temperature。

_temperature は次のいずれかになります。

temperature

number

省略可。設定すると、この Temperature が LLM モデルに使用されます。Temperature は、モデルのレスポンスのランダム性を制御します。温度が低いほど、予測しやすい回答が生成されます。温度が高いほど、より創造的な回答が生成されます。

ModelSafety

JSON 表現
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
フィールド
safetySettings[]

object (SafetySetting)

必須。安全に関する設定のリスト。

SafetySetting

JSON 表現
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
フィールド
category

enum (HarmCategory)

必須。有害カテゴリ。

threshold

enum (HarmBlockThreshold)

必須。有害ブロックのしきい値。

CodeCallback

JSON 表現
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
フィールド
beforeAgentCallback

object (Callback)

省略可。エージェントが呼び出される前に実行するコールバック。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

afterAgentCallback

object (Callback)

省略可。エージェントの呼び出し後に実行するコールバック。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

beforeModelCallback

object (Callback)

省略可。モデルが呼び出される前に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

afterModelCallback

object (Callback)

省略可。モデルの呼び出し後に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

コールバック

JSON 表現
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
フィールド
description

string

省略可。コールバックの説明(人が読める形式)。

disabled

boolean

省略可。コールバックが無効かどうか。無効になっているコールバックはエージェントによって無視されます。

proactiveExecutionEnabled

boolean

省略可。有効にすると、中間モデルの出力でもコールバックが実行されます。この設定は、モデル呼び出し後のコールバックにのみ影響します。慎重に有効にしてください。通常、モデル コールバック後は、すべてのモデル レスポンスを受信した後にのみ実行する必要があります。プロアクティブな実行を有効にすると、実行コストとレイテンシに悪影響が生じる可能性があるため、有効にするのはまれな状況のみにしてください。

共用体フィールド callback。実行するコールバック。callback は次のいずれかになります。
pythonCode

string

必須。コールバックで実行する Python コード。

スーパーバイザー

JSON 表現
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
フィールド
type

enum (Type)

省略可。スーパーバイザーのタイプ。

detectionMode

enum (DetectionMode)

省略可。スーパーバイザーの検出モード。

TriggerAction

JSON 表現
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
フィールド
共用体フィールド action。必要な対応。action は次のいずれかになります。
respondImmediately

object (RespondImmediately)

省略可。事前設定された返信で即座に対応します。

transferAgent

object (TransferAgent)

省略可。会話を別のエージェントに転送します。

generativeAnswer

object (GenerativeAnswer)

省略可。生成回答で応答します。

RespondImmediately

JSON 表現
{
  "responses": [
    {
      object (Response)
    }
  ]
}
フィールド
responses[]

object (Response)

必須。エージェントが選択できる返信定型文。回答はランダムに選択されます。

レスポンス

JSON 表現
{
  "text": string,
  "disabled": boolean
}
フィールド
text

string

必須。エージェントが返信するテキスト。

disabled

boolean

省略可。レスポンスが無効かどうか。無効にしたレスポンスはエージェントによって使用されません。

TransferAgent

JSON 表現
{
  "agent": string
}
フィールド
agent

string

必須。会話の転送先のエージェントの名前。エージェントは、現在のエージェントと同じアプリに存在する必要があります。形式: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 表現
{
  "prompt": string
}
フィールド
prompt

string

必須。生成回答に使用するプロンプト。

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

MatchType

コンテンツ フィルタのマッチタイプ。

列挙型
MATCH_TYPE_UNSPECIFIED マッチタイプが指定されていません。
SIMPLE_STRING_MATCH コンテンツは、部分文字列の文字ごとに照合されます。
WORD_BOUNDARY_STRING_MATCH コンテンツは、テキスト内のパターンが単語区切り文字で囲まれている場合にのみ一致します。禁止フレーズに単語区切り文字を含めることもできます。
REGEXP_MATCH コンテンツは正規表現構文を使用して照合されます。

ThinkingLevel

モデルの思考レベルの構成。

列挙型
THINKING_LEVEL_UNSPECIFIED 思考レベルが指定されていません。
DEFAULT デフォルトの思考レベル。
LOW 思考レベルが低い。
MEDIUM 中程度の思考レベル。
HIGH 高度な思考レベル。

PolicyScope

会話中にポリシー チェックを適用するタイミングを定義します。

列挙型
POLICY_SCOPE_UNSPECIFIED ポリシーのスコープが指定されていません。
USER_QUERY ポリシー チェックはユーザー入力時にトリガーされます。
AGENT_RESPONSE ポリシー チェックはエージェントの回答でトリガーされます。このポリシー スコープを適用すると、エージェントが応答可能になるまでにレイテンシが追加されます。
USER_QUERY_AND_AGENT_RESPONSE ポリシー チェックは、ユーザー入力とエージェントの回答の両方でトリガーされます。このポリシー スコープを適用すると、エージェントが応答可能になるまでにレイテンシが追加されます。

HarmCategory

有害カテゴリ。

列挙型
HARM_CATEGORY_UNSPECIFIED 有害カテゴリが指定されていません。
HARM_CATEGORY_HATE_SPEECH 有害カテゴリはヘイトスピーチです。
HARM_CATEGORY_DANGEROUS_CONTENT 有害カテゴリは危険なコンテンツです。
HARM_CATEGORY_HARASSMENT 有害カテゴリはハラスメントです。
HARM_CATEGORY_SEXUALLY_EXPLICIT 有害カテゴリは、性的描写が露骨なコンテンツです。
HARM_CATEGORY_PROFANITY 有害カテゴリは不適切な表現です。
HARM_CATEGORY_TOXIC 有害カテゴリは有害です。

HarmBlockThreshold

ブロックの確率ベースのしきい値レベル。

列挙型
HARM_BLOCK_THRESHOLD_UNSPECIFIED 有害ブロックのしきい値が指定されていません。
BLOCK_LOW_AND_ABOVE 低いしきい値以上をブロックします(つまり、より多くのものをブロックします)。
BLOCK_MEDIUM_AND_ABOVE 中程度のしきい値以上をブロックします。
BLOCK_ONLY_HIGH 高しきい値のみをブロックします(つまり、ブロックを少なくします)。
BLOCK_NONE ブロックなし。
OFF 安全フィルタをオフにします。

タイプ

スーパーバイザーのタイプ。

列挙型
TYPE_UNSPECIFIED タイプは指定されていません。
INVALID_TEXT テキストの問題タイプが無効です。
LANGUAGE_SHIFT 言語切り替えに関する問題の種類。
SPEAKER_SHIFT スピーカーのシフトに関する問題のタイプ。
AUDIO_MISMATCH 音声の不一致に関する問題タイプ。
MISSING_TOOL_CALL ツール呼び出しの問題タイプがありません。
CUSTOM カスタムの問題タイプ。
CHOPPY_AUDIO 音声が途切れる問題のタイプ。
PROFANITY エージェントの不適切な発言に関する問題のタイプ。

DetectionMode

スーパーバイザーの検出モード。

列挙型
DETECTION_MODE_UNSPECIFIED 検出モードが指定されていません。デフォルトは NON_BLOCKING です。
NON_BLOCKING ブロックしない検出モード。監督者の検出が進行中の場合、レスポンスはブロックされません。
BLOCKING ブロック検出モード。スーパーバイザーの検出が進行中の場合、レスポンスはブロックされます。

出力スキーマ

ガードレールには、エージェントの安全性とセキュリティを維持するためのチェックとバランスのリストが含まれています。

ガードレール

JSON 表現
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
フィールド
name

string

ID。ガードレールの固有識別子。形式: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必須。ガードレールの表示名。

description

string

省略可。ガードレールの説明。

enabled

boolean

省略可。ガードレールが有効かどうか。

action

object (TriggerAction)

省略可。ガードレールがトリガーされたときに実行するアクション。

createTime

string (Timestamp format)

出力専用。ガードレールが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z"、"2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

出力専用。ガードレールが最後に更新されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z"、"2014-10-02T15:01:23+05:30"。

etag

string

読み取り / 変更 / 書き込みオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。

共用体フィールド guardrail_type。ガードレールのタイプ。guardrail_type は次のいずれかになります。
contentFilter

object (ContentFilter)

省略可。特定のコンテンツが会話で使用されないようにするガードレール。

llmPromptSecurity

object (LlmPromptSecurity)

省略可。LLM の分類に基づいてプロンプトが安全でないと判断された場合に、会話をブロックするガードレール。

llmPolicy

object (LlmPolicy)

省略可。LLM の分類に基づいて LLM レスポンスがポリシーに違反していると判断された場合に、会話をブロックするガードレール。

modelSafety

object (ModelSafety)

省略可。モデルの安全に関する設定に基づいて LLM のレスポンスが安全でないと判断された場合に、会話をブロックするガードレール。

codeCallback

object (CodeCallback)

省略可。コールバック実行の結果に基づいて会話をブロックする可能性のあるガードレール。

supervisor

object (Supervisor)

省略可。監督者の介入を実行するガードレール。

ContentFilter

JSON 表現
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
フィールド
bannedContents[]

string

省略可。禁止されたフレーズのリスト。ユーザー入力とエージェントの回答の両方に適用されます。

bannedContentsInUserInput[]

string

省略可。禁止されたフレーズのリスト。ユーザー入力にのみ適用されます。

bannedContentsInAgentResponse[]

string

省略可。禁止されたフレーズのリスト。エージェントの回答にのみ適用されます。

matchType

enum (MatchType)

必須。コンテンツ フィルタのマッチタイプ。

disregardDiacritics

boolean

省略可。true の場合、マッチング時に発音区別符号が無視されます。

LlmPromptSecurity

JSON 表現
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
フィールド
failOpen

boolean

省略可。ガードレールで LLM エラーが発生した場合の動作を決定します。- true の場合: ガードレールはバイパスされます。- false(デフォルト)の場合: ガードレールがトリガーまたはブロックされます。

注: カスタム ポリシーが指定されている場合、このフィールドは無視され、ポリシーの fail_open 構成が優先されます。

共用体フィールド security_config。セキュリティ構成モードを定義します。ユーザーは次のいずれかの構成を選択する必要があります。security_config は次のいずれかになります。
defaultSettings

object (DefaultSecuritySettings)

省略可。システムの事前定義されたデフォルトのセキュリティ設定を使用します。このモードを選択するには、リクエストに空の「default_settings」メッセージを含めます。レスポンス内の「default_prompt_template」フィールドには、サーバーによって値が設定されます。

customPolicy

object (LlmPolicy)

省略可。ユーザー定義の LlmPolicy を使用して、セキュリティ ガードレールを構成します。

DefaultSecuritySettings

JSON 表現
{
  "defaultPromptTemplate": string
}
フィールド
defaultPromptTemplate

string

出力専用。システムで使用されるデフォルトのプロンプト テンプレート。このフィールドは、システムがデフォルトで使用するプロンプトをユーザーに表示するためのものです。OUTPUT_ONLY です。

LlmPolicy

JSON 表現
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
フィールド
maxConversationMessages

integer

省略可。このポリシーを確認する際は、会話の最後の「n」件のメッセージを考慮します。設定しない場合、デフォルト値の 10 が使用されます。

modelSettings

object (ModelSettings)

省略可。モデル設定。

prompt

string

必須。ポリシーのプロンプト。

policyScope

enum (PolicyScope)

必須。会話中にポリシー チェックを適用するタイミングを定義します。POLICY_SCOPE_UNSPECIFIED に設定すると、ポリシーがユーザー入力に適用されます。ポリシーをエージェントのレスポンスに適用すると、エージェントが応答できるようになるまでに遅延が発生します。

failOpen

boolean

省略可。ポリシーチェック中にエラーが発生した場合は、フェイルオープンしてガードレールをトリガーしません。

allowShortUtterance

boolean

省略可。デフォルトでは、短い発話の場合、LLM ポリシー チェックはバイパスされます。この設定を有効にすると、通常はスキップされる発話も含め、すべての発話にポリシー チェックが適用されます。

ModelSettings

JSON 表現
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
フィールド
model

string

省略可。エージェントが使用する LLM モデル。設定されていない場合、エージェントは親エージェントからモデルを継承します。

thinkingLevel

enum (ThinkingLevel)

省略可。モデルの思考レベル。

共用体フィールド _temperature。

_temperature は次のいずれかになります。

temperature

number

省略可。設定すると、この Temperature が LLM モデルに使用されます。Temperature は、モデルのレスポンスのランダム性を制御します。温度が低いほど、予測しやすい回答が生成されます。温度が高いほど、より創造的な回答が生成されます。

ModelSafety

JSON 表現
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
フィールド
safetySettings[]

object (SafetySetting)

必須。安全に関する設定のリスト。

SafetySetting

JSON 表現
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
フィールド
category

enum (HarmCategory)

必須。有害カテゴリ。

threshold

enum (HarmBlockThreshold)

必須。有害ブロックのしきい値。

CodeCallback

JSON 表現
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
フィールド
beforeAgentCallback

object (Callback)

省略可。エージェントが呼び出される前に実行するコールバック。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

afterAgentCallback

object (Callback)

省略可。エージェントの呼び出し後に実行するコールバック。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

beforeModelCallback

object (Callback)

省略可。モデルが呼び出される前に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

afterModelCallback

object (Callback)

省略可。モデルの呼び出し後に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返すことが想定されています。- 'decision': 'OK' または 'TRIGGER' のいずれか。- 'reason': 判定を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止されることがあります。

コールバック

JSON 表現
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
フィールド
description

string

省略可。コールバックの説明(人が読める形式)。

disabled

boolean

省略可。コールバックが無効かどうか。無効になっているコールバックはエージェントによって無視されます。

proactiveExecutionEnabled

boolean

省略可。有効にすると、中間モデルの出力でもコールバックが実行されます。この設定は、モデル呼び出し後のコールバックにのみ影響します。慎重に有効にしてください。通常、モデル コールバック後は、すべてのモデル レスポンスを受信した後にのみ実行する必要があります。プロアクティブな実行を有効にすると、実行コストとレイテンシに悪影響が生じる可能性があるため、有効にするのはまれな状況のみにしてください。

共用体フィールド callback。実行するコールバック。callback は次のいずれかになります。
pythonCode

string

必須。コールバックで実行する Python コード。

スーパーバイザー

JSON 表現
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
フィールド
type

enum (Type)

省略可。スーパーバイザーのタイプ。

detectionMode

enum (DetectionMode)

省略可。スーパーバイザーの検出モード。

TriggerAction

JSON 表現
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
フィールド
共用体フィールド action。必要な対応。action は次のいずれかになります。
respondImmediately

object (RespondImmediately)

省略可。事前設定された返信で即座に対応します。

transferAgent

object (TransferAgent)

省略可。会話を別のエージェントに転送します。

generativeAnswer

object (GenerativeAnswer)

省略可。生成回答で応答します。

RespondImmediately

JSON 表現
{
  "responses": [
    {
      object (Response)
    }
  ]
}
フィールド
responses[]

object (Response)

必須。エージェントが選択できる返信定型文。回答はランダムに選択されます。

レスポンス

JSON 表現
{
  "text": string,
  "disabled": boolean
}
フィールド
text

string

必須。エージェントが返信するテキスト。

disabled

boolean

省略可。レスポンスが無効かどうか。無効にしたレスポンスはエージェントによって使用されません。

TransferAgent

JSON 表現
{
  "agent": string
}
フィールド
agent

string

必須。会話の転送先のエージェントの名前。エージェントは、現在のエージェントと同じアプリに存在する必要があります。形式: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 表現
{
  "prompt": string
}
フィールド
prompt

string

必須。生成回答に使用するプロンプト。

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

MatchType

コンテンツ フィルタのマッチタイプ。

列挙型
MATCH_TYPE_UNSPECIFIED マッチタイプが指定されていません。
SIMPLE_STRING_MATCH コンテンツは、部分文字列の文字ごとに照合されます。
WORD_BOUNDARY_STRING_MATCH コンテンツは、テキスト内のパターンが単語区切り文字で囲まれている場合にのみ一致します。禁止フレーズに単語区切り文字を含めることもできます。
REGEXP_MATCH コンテンツは正規表現構文を使用して照合されます。

ThinkingLevel

モデルの思考レベルの構成。

列挙型
THINKING_LEVEL_UNSPECIFIED 思考レベルが指定されていません。
DEFAULT デフォルトの思考レベル。
LOW 思考レベルが低い。
MEDIUM 中程度の思考レベル。
HIGH 高度な思考レベル。

PolicyScope

会話中にポリシー チェックを適用するタイミングを定義します。

列挙型
POLICY_SCOPE_UNSPECIFIED ポリシーのスコープが指定されていません。
USER_QUERY ポリシー チェックはユーザー入力時にトリガーされます。
AGENT_RESPONSE ポリシー チェックはエージェントの回答でトリガーされます。このポリシー スコープを適用すると、エージェントが応答可能になるまでにレイテンシが追加されます。
USER_QUERY_AND_AGENT_RESPONSE ポリシー チェックは、ユーザー入力とエージェントの回答の両方でトリガーされます。このポリシー スコープを適用すると、エージェントが応答可能になるまでにレイテンシが追加されます。

HarmCategory

有害カテゴリ。

列挙型
HARM_CATEGORY_UNSPECIFIED 有害カテゴリが指定されていません。
HARM_CATEGORY_HATE_SPEECH 有害カテゴリはヘイトスピーチです。
HARM_CATEGORY_DANGEROUS_CONTENT 有害カテゴリは危険なコンテンツです。
HARM_CATEGORY_HARASSMENT 有害カテゴリはハラスメントです。
HARM_CATEGORY_SEXUALLY_EXPLICIT 有害カテゴリは、性的描写が露骨なコンテンツです。
HARM_CATEGORY_PROFANITY 有害カテゴリは不適切な表現です。
HARM_CATEGORY_TOXIC 有害カテゴリは有害です。

HarmBlockThreshold

ブロックの確率ベースのしきい値レベル。

列挙型
HARM_BLOCK_THRESHOLD_UNSPECIFIED 有害ブロックのしきい値が指定されていません。
BLOCK_LOW_AND_ABOVE 低いしきい値以上をブロックします(つまり、より多くのものをブロックします)。
BLOCK_MEDIUM_AND_ABOVE 中程度のしきい値以上をブロックします。
BLOCK_ONLY_HIGH 高しきい値のみをブロックします(つまり、ブロックを少なくします)。
BLOCK_NONE ブロックなし。
OFF 安全フィルタをオフにします。

タイプ

スーパーバイザーのタイプ。

列挙型
TYPE_UNSPECIFIED タイプは指定されていません。
INVALID_TEXT テキストの問題タイプが無効です。
LANGUAGE_SHIFT 言語切り替えに関する問題の種類。
SPEAKER_SHIFT スピーカーのシフトに関する問題のタイプ。
AUDIO_MISMATCH 音声の不一致に関する問題タイプ。
MISSING_TOOL_CALL ツール呼び出しの問題タイプがありません。
CUSTOM カスタムの問題タイプ。
CHOPPY_AUDIO 音声が途切れる問題のタイプ。
PROFANITY エージェントの不適切な発言に関する問題のタイプ。

DetectionMode

スーパーバイザーの検出モード。

列挙型
DETECTION_MODE_UNSPECIFIED 検出モードが指定されていません。デフォルトは NON_BLOCKING です。
NON_BLOCKING ブロックしない検出モード。監督者の検出が進行中の場合、レスポンスはブロックされません。
BLOCKING ブロック検出モード。スーパーバイザーの検出が進行中の場合、レスポンスはブロックされます。

ツールのアノテーション

ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントはこれらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。

タイトル文字列とともに、次のブール値のヒントが次のように定義されます。

  • readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。
  • destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。
  • idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に影響はありません。デフォルトは false です。
  • openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。

破壊的ヒント: ✅ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌