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 将成为护栏资源名称的最后一个组成部分。如果未提供,系统会自动为该护栏分配一个唯一 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

标识符。护栏的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必需。护栏的显示名称。

description

string

可选。护栏的说明。

enabled

boolean

可选。是否启用了护栏。

action

object (TriggerAction)

可选。触发护栏时要执行的操作。

createTime

string (Timestamp format)

仅限输出。创建护栏时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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,
  "sensitiveWordsExemptions": [
    string
  ]
}
字段
bannedContents[]

string

可选。禁用短语列表。同时适用于用户输入和智能体回答。

bannedContentsInUserInput[]

string

可选。禁用短语列表。仅适用于用户输入。

bannedContentsInAgentResponse[]

string

可选。禁用短语列表。仅适用于智能体回答。

matchType

enum (MatchType)

必需。内容过滤器的匹配类型。

disregardDiacritics

boolean

可选。如果为 true,则在匹配过程中会忽略变音符号。

sensitiveWordsExemptions[]

string

可选。此护栏允许的敏感词列表条目。仅在 match_type 为 SENSITIVE_WORDS 时有效。每个值都必须与列表条目一致(不区分大小写,忽略周围的空格);其他值无效。仅适用于此护栏。最多 1,000 个条目,每个条目最多 256 个字符。

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

必需。政策提示。支持会话变量占位符 ({var}) 以及 {agent_system_instruction},用于注入智能体已解析的系统指令。

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

可选。如果设置,此温度将用于 LLM 模型。温度控制模型回答的随机性。温度越低,生成的回答越可预测。温度越高,生成的回答越有创意。

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':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

afterAgentCallback

object (Callback)

可选。调用智能体后要执行的回调。每个回调函数都应返回一个结构(例如字典或对象),其中至少包含:-“decision”:值为“OK”或“TRIGGER”。- 'reason':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

beforeModelCallback

object (Callback)

可选。在调用模型之前执行的回调。如果对模型进行了多次调用,则回调将执行多次。每个回调函数都应返回一个结构(例如字典或对象),其中至少包含:-“decision”:值为“OK”或“TRIGGER”。- 'reason':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

afterModelCallback

object (Callback)

可选。调用模型后要执行的回调。如果对模型进行了多次调用,则回调将执行多次。每个回调函数都应返回一个结构(例如字典或对象),其中至少包含:-“decision”:值为“OK”或“TRIGGER”。- 'reason':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

回调

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)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

MatchType

内容过滤器的匹配类型。

枚举
MATCH_TYPE_UNSPECIFIED 未指定匹配类型。
SIMPLE_STRING_MATCH 系统会逐个字符地匹配内容中的子字符串。
WORD_BOUNDARY_STRING_MATCH 只有当文本中找到的模式被字词定界符包围时,内容才会匹配。禁用短语也可以包含字词定界符。
REGEXP_MATCH 系统会使用正则表达式语法来匹配内容。
SENSITIVE_WORDS 系统会将内容与系统管理的敏感字词和短语列表进行匹配。将具有此匹配类型的护栏附加到应用或代理后,受影响代理的默认敏感词过滤器将被替换;停用护栏即可停用默认过滤器。

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

标识符。护栏的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必需。护栏的显示名称。

description

string

可选。护栏的说明。

enabled

boolean

可选。是否启用了护栏。

action

object (TriggerAction)

可选。触发护栏时要执行的操作。

createTime

string (Timestamp format)

仅限输出。创建护栏时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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,
  "sensitiveWordsExemptions": [
    string
  ]
}
字段
bannedContents[]

string

可选。禁用短语列表。同时适用于用户输入和智能体回答。

bannedContentsInUserInput[]

string

可选。禁用短语列表。仅适用于用户输入。

bannedContentsInAgentResponse[]

string

可选。禁用短语列表。仅适用于智能体回答。

matchType

enum (MatchType)

必需。内容过滤器的匹配类型。

disregardDiacritics

boolean

可选。如果为 true,则在匹配过程中会忽略变音符号。

sensitiveWordsExemptions[]

string

可选。此护栏允许的敏感词列表条目。仅在 match_type 为 SENSITIVE_WORDS 时有效。每个值都必须与列表条目一致(不区分大小写,忽略周围的空格);其他值无效。仅适用于此护栏。最多 1,000 个条目,每个条目最多 256 个字符。

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

必需。政策提示。支持会话变量占位符 ({var}) 以及 {agent_system_instruction},用于注入智能体已解析的系统指令。

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

可选。如果设置,此温度将用于 LLM 模型。温度控制模型回答的随机性。温度越低,生成的回答越可预测。温度越高,生成的回答越有创意。

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':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

afterAgentCallback

object (Callback)

可选。调用智能体后要执行的回调。每个回调函数都应返回一个结构(例如字典或对象),其中至少包含:-“decision”:值为“OK”或“TRIGGER”。- 'reason':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

beforeModelCallback

object (Callback)

可选。在调用模型之前执行的回调。如果对模型进行了多次调用,则回调将执行多次。每个回调函数都应返回一个结构(例如字典或对象),其中至少包含:-“decision”:值为“OK”或“TRIGGER”。- 'reason':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

afterModelCallback

object (Callback)

可选。调用模型后要执行的回调。如果对模型进行了多次调用,则回调将执行多次。每个回调函数都应返回一个结构(例如字典或对象),其中至少包含:-“decision”:值为“OK”或“TRIGGER”。- 'reason':解释决策的字符串。“触发”判定可能会导致进一步处理中止。

回调

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)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

MatchType

内容过滤器的匹配类型。

枚举
MATCH_TYPE_UNSPECIFIED 未指定匹配类型。
SIMPLE_STRING_MATCH 系统会逐个字符地匹配内容中的子字符串。
WORD_BOUNDARY_STRING_MATCH 只有当文本中找到的模式被字词定界符包围时,内容才会匹配。禁用短语也可以包含字词定界符。
REGEXP_MATCH 系统会使用正则表达式语法来匹配内容。
SENSITIVE_WORDS 系统会将内容与系统管理的敏感字词和短语列表进行匹配。将具有此匹配类型的护栏附加到应用或代理后,受影响代理的默认敏感词过滤器将被替换;停用护栏即可停用默认过滤器。

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,则该工具只能与内部实体交互。例如,网页搜索工具是开放世界,而记忆工具不是开放世界。

破坏性提示:✅ | 幂等性提示:❌ | 只读提示:❌ | 开放世界提示:❌