MCP Tools Reference: ces.googleapis.com

Strumento: update_guardrail

Aggiorna la protezione specificata. Assicurati di passare sempre una maschera di aggiornamento nell'input.

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP update_guardrail.

Richiesta 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": "update_guardrail",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schema di input

Messaggio di richiesta per AgentService.UpdateGuardrail.

UpdateGuardrailRequest

Rappresentazione JSON
{
  "guardrail": {
    object (Guardrail)
  },
  "updateMask": string
}
Campi
guardrail

object (Guardrail)

Obbligatorio. La barriera di sicurezza da aggiornare.

updateMask

string (FieldMask format)

Facoltativo. La maschera di campo viene utilizzata per controllare quali campi vengono aggiornati. Se la maschera non è presente, verranno aggiornati tutti i campi.

Si tratta di un elenco separato da virgole di nomi completi dei campi. Esempio: "user.displayName,photo".

Guardrail

Rappresentazione 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.
}
Campi
name

string

Identificatore. L'identificatore univoco della regola di sicurezza. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obbligatorio. Nome visualizzato del guardrail.

description

string

Facoltativo. Descrizione della guardrail.

enabled

boolean

Facoltativo. Indica se il guardrail è abilitato.

action

object (TriggerAction)

Facoltativo. Azione da intraprendere quando viene attivato il guardrail.

createTime

string (Timestamp format)

Solo output. Timestamp della creazione della regola di protezione.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento della regola di protezione.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Etag utilizzato per garantire che l'oggetto non sia cambiato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee.

Campo unione guardrail_type. Tipo di guardrail. guardrail_type può essere solo uno dei seguenti tipi:
contentFilter

object (ContentFilter)

Facoltativo. Guardrail che vieta l'utilizzo di determinati contenuti nella conversazione.

llmPromptSecurity

object (LlmPromptSecurity)

Facoltativo. Guardrail che blocca la conversazione se il prompt è considerato non sicuro in base alla classificazione dell'LLM.

llmPolicy

object (LlmPolicy)

Facoltativo. Guardrail che blocca la conversazione se la risposta dell'LLM è considerata in violazione della policy in base alla classificazione dell'LLM.

modelSafety

object (ModelSafety)

Facoltativo. Guardrail che blocca la conversazione se la risposta dell'LLM è considerata non sicura in base alle impostazioni di sicurezza del modello.

codeCallback

object (CodeCallback)

Facoltativo. Guardrail che blocca potenzialmente la conversazione in base al risultato dell'esecuzione del callback.

supervisor

object (Supervisor)

Facoltativo. Guardrail che esegue l'intervento del supervisore.

ContentFilter

Rappresentazione JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Campi
bannedContents[]

string

Facoltativo. Elenco di frasi vietate. Si applica sia agli input degli utenti sia alle risposte degli agenti.

bannedContentsInUserInput[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo agli input degli utenti.

bannedContentsInAgentResponse[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo alle risposte degli agenti.

matchType

enum (MatchType)

Obbligatorio. Tipo di corrispondenza per il filtro dei contenuti.

disregardDiacritics

boolean

Facoltativo. Se impostato su true, i segni diacritici vengono ignorati durante la ricerca di corrispondenze.

sensitiveWordsExemptions[]

string

Facoltativo. Voci dell'elenco di parole sensibili consentite da questo guardrail. Valido solo quando match_type è SENSITIVE_WORDS. Ogni valore deve corrispondere a una voce dell'elenco (senza distinzione tra maiuscole e minuscole, gli spazi vuoti circostanti vengono ignorati); altri valori non hanno alcun effetto. Si applica solo a questa regola di sicurezza. Massimo 1000 voci di massimo 256 caratteri ciascuna.

LlmPromptSecurity

Rappresentazione 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.
}
Campi
failOpen

boolean

Facoltativo. Determina il comportamento quando la barriera di protezione rileva un errore LLM. - Se true: il guardrail viene ignorato. - Se il valore è false (predefinito): il guardrail si attiva/blocca.

Nota: se viene fornita una policy personalizzata, questo campo viene ignorato a favore della configurazione "fail_open" della policy.

Campo unione security_config. Definisce la modalità di configurazione della sicurezza. L'utente deve scegliere una delle seguenti configurazioni. security_config può essere solo uno dei seguenti tipi:
defaultSettings

object (DefaultSecuritySettings)

Facoltativo. Utilizza le impostazioni di sicurezza predefinite del sistema. Per selezionare questa modalità, includi un messaggio "default_settings" vuoto nella richiesta. Il campo "default_prompt_template" all'interno verrà compilato dal server nella risposta.

customPolicy

object (LlmPolicy)

Facoltativo. Utilizza un LlmPolicy definito dall'utente per configurare il guardrail di sicurezza.

DefaultSecuritySettings

Rappresentazione JSON
{
  "defaultPromptTemplate": string
}
Campi
defaultPromptTemplate

string

Solo output. Il template di prompt predefinito utilizzato dal sistema. Questo campo serve per mostrare all'utente il prompt utilizzato dal sistema per impostazione predefinita. È OUTPUT_ONLY.

LlmPolicy

Rappresentazione JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campi
maxConversationMessages

integer

Facoltativo. Quando controlli questa policy, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, verrà utilizzato il valore predefinito 10.

modelSettings

object (ModelSettings)

Facoltativo. Impostazioni del modello.

prompt

string

Obbligatorio. Prompt delle norme. Supporta i segnaposto delle variabili di sessione ({var}) e {agent_system_instruction} per inserire le istruzioni di sistema risolte dell'agente.

policyScope

enum (PolicyScope)

Obbligatorio. Definisce quando applicare il controllo delle policy durante la conversazione. Se impostata su POLICY_SCOPE_UNSPECIFIED, la policy verrà applicata all'input utente. Quando applichi la policy alla risposta dell'agente, verrà introdotta una latenza aggiuntiva prima che l'agente possa rispondere.

failOpen

boolean

Facoltativo. Se si verifica un errore durante il controllo della policy, l'operazione non va a buon fine e il guardrail non viene attivato.

allowShortUtterance

boolean

Facoltativo. Per impostazione predefinita, il controllo delle policy LLM viene ignorato per gli enunciati brevi. Se attivi questa impostazione, il controllo delle policy viene applicato a tutti gli enunciati, inclusi quelli che normalmente verrebbero ignorati.

ModelSettings

Rappresentazione 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.
}
Campi
model

string

Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dall'agente parent.

thinkingLevel

enum (ThinkingLevel)

Facoltativo. Il livello di ragionamento del modello.

Campo unione _temperature.

_temperature può essere solo uno dei seguenti tipi:

temperature

number

Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Temperature più elevate producono risposte più creative.

ModelSafety

Rappresentazione JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campi
safetySettings[]

object (SafetySetting)

Obbligatorio. Elenco delle impostazioni di sicurezza.

SafetySetting

Rappresentazione JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campi
category

enum (HarmCategory)

Obbligatorio. La categoria di danno.

threshold

enum (HarmBlockThreshold)

Obbligatorio. La soglia di blocco dei contenuti dannosi.

CodeCallback

Rappresentazione JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campi
beforeAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire prima della chiamata dell'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata dell'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

beforeModelCallback

object (Callback)

Facoltativo. Il callback da eseguire prima della chiamata del modello. Se il modello viene chiamato più volte, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterModelCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata del modello. Se il modello viene chiamato più volte, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

Callback

Rappresentazione 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.
}
Campi
description

string

Facoltativo. Descrizione leggibile del callback.

disabled

boolean

Facoltativo. Indica se il callback è disattivato. I callback disattivati vengono ignorati dall'agente.

proactiveExecutionEnabled

boolean

Facoltativo. Se abilitato, il callback verrà eseguito anche sugli output intermedi del modello. Questa impostazione influisce solo sul callback dopo il modello. ABILITARE CON CAUTELA. In genere, il callback after_model deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'abilitazione dell'esecuzione proattiva potrebbe avere implicazioni negative sui costi e sulla latenza di esecuzione e deve essere abilitata solo in rare situazioni.

Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi:
pythonCode

string

Obbligatorio. Il codice Python da eseguire per il callback.

Supervisore

Rappresentazione JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Campi
type

enum (Type)

Facoltativo. Il tipo di supervisore.

detectionMode

enum (DetectionMode)

Facoltativo. La modalità di rilevamento del supervisore.

TriggerAction

Rappresentazione 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.
}
Campi
Campo unione action. L'azione da eseguire. action può essere solo uno dei seguenti tipi:
respondImmediately

object (RespondImmediately)

Facoltativo. Rispondi immediatamente con una risposta preconfigurata.

transferAgent

object (TransferAgent)

Facoltativo. Trasferire la conversazione a un altro agente.

generativeAnswer

object (GenerativeAnswer)

Facoltativo. Rispondi con una risposta generativa.

RespondImmediately

Rappresentazione JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campi
responses[]

object (Response)

Obbligatorio. Le risposte predefinite tra cui l'agente può scegliere. La risposta viene scelta in modo casuale.

Risposta

Rappresentazione JSON
{
  "text": string,
  "disabled": boolean
}
Campi
text

string

Obbligatorio. Testo con cui l'agente deve rispondere.

disabled

boolean

Facoltativo. Indica se la risposta è disattivata. Le risposte disattivate non vengono utilizzate dall'agente.

TransferAgent

Rappresentazione JSON
{
  "agent": string
}
Campi
agent

string

Obbligatorio. Il nome dell'agente a cui trasferire la conversazione. L'agente deve trovarsi nella stessa app dell'agente corrente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Rappresentazione JSON
{
  "prompt": string
}
Campi
prompt

string

Obbligatorio. Il prompt da utilizzare per la risposta generativa.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi dell'ora UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrispondono a un intervallo compreso tra 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori dei secondi negativi con frazioni devono comunque avere valori di nanosecondi non negativi che avanzano nel tempo. Deve essere un valore compreso tra 0 e 999.999.999 inclusi.

FieldMask

Rappresentazione JSON
{
  "paths": [
    string
  ]
}
Campi
paths[]

string

L'insieme di percorsi della maschera di campo.

MatchType

Tipo di corrispondenza per il filtro dei contenuti.

Enum
MATCH_TYPE_UNSPECIFIED Il tipo di corrispondenza non è specificato.
SIMPLE_STRING_MATCH I contenuti vengono confrontati con le sottostringhe carattere per carattere.
WORD_BOUNDARY_STRING_MATCH I contenuti corrispondono solo se il pattern trovato nel testo è circondato da delimitatori di parole. Le frasi vietate possono contenere anche delimitatori di parole.
REGEXP_MATCH I contenuti vengono abbinati utilizzando la sintassi delle espressioni regolari.
SENSITIVE_WORDS I contenuti vengono confrontati con un elenco di parole e frasi sensibili gestito dal sistema. Se colleghi un guardrail con questo tipo di corrispondenza a un'app o a un agente, il filtro predefinito per le parole sensibili viene sostituito per gli agenti interessati. Disattiva il guardrail per disattivare il filtro predefinito.

ThinkingLevel

Configurazione del livello di ragionamento per il modello.

Enum
THINKING_LEVEL_UNSPECIFIED Il livello di ragionamento non è specificato.
DEFAULT Livello di ragionamento predefinito.
LOW Livello di ragionamento basso.
MEDIUM Livello di ragionamento medio.
HIGH Livello di ragionamento elevato.

PolicyScope

Definisce quando applicare il controllo delle policy durante la conversazione.

Enum
POLICY_SCOPE_UNSPECIFIED L'ambito della policy non è specificato.
USER_QUERY Il controllo delle norme viene attivato in base all'input utente.
AGENT_RESPONSE Il controllo delle policy viene attivato in base alla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà una latenza aggiuntiva prima che l'agente possa rispondere.
USER_QUERY_AND_AGENT_RESPONSE Il controllo delle policy viene attivato sia sull'input utente dell'utente che sulla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà una latenza aggiuntiva prima che l'agente possa rispondere.

HarmCategory

Categoria di danno.

Enum
HARM_CATEGORY_UNSPECIFIED La categoria di danno non è specificata.
HARM_CATEGORY_HATE_SPEECH La categoria di danno è l'incitamento all'odio.
HARM_CATEGORY_DANGEROUS_CONTENT La categoria di danno è Contenuti pericolosi.
HARM_CATEGORY_HARASSMENT La categoria di danno è molestie.
HARM_CATEGORY_SEXUALLY_EXPLICIT La categoria di danno è contenuti sessualmente espliciti.
HARM_CATEGORY_PROFANITY La categoria di danno è il linguaggio volgare.
HARM_CATEGORY_TOXIC La categoria di danno è tossica.

HarmBlockThreshold

Livelli di soglia basati sulla probabilità per il blocco.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Soglia di blocco dei contenuti dannosi non specificata.
BLOCK_LOW_AND_ABOVE Blocca soglia bassa e superiore (ovvero blocca più contenuti).
BLOCK_MEDIUM_AND_ABOVE Blocca soglia media e superiore.
BLOCK_ONLY_HIGH Blocco solo soglia alta (ovvero blocco ridotto).
BLOCK_NONE Nessun blocco.
OFF Disattiva il filtro di sicurezza.

Tipo

Tipo di supervisore.

Enum
TYPE_UNSPECIFIED Il tipo non è specificato.
INVALID_TEXT Tipo di problema di testo non valido.
LANGUAGE_SHIFT Tipo di problema relativo al cambio di lingua.
SPEAKER_SHIFT Tipo di problema di spostamento dello speaker.
AUDIO_MISMATCH Tipo di problema di mancata corrispondenza audio.
MISSING_TOOL_CALL Tipo di problema di chiamata allo strumento mancante.
CUSTOM Tipo di problema personalizzato.
CHOPPY_AUDIO Tipo di problema: audio frammentato.
PROFANITY Tipo di problema relativo al linguaggio volgare dell'agente.

DetectionMode

Modalità di rilevamento del supervisore.

Enum
DETECTION_MODE_UNSPECIFIED La modalità di rilevamento non è specificata. Il valore predefinito è NON_BLOCKING.
NON_BLOCKING Modalità di rilevamento non bloccante. La risposta non viene bloccata quando è in corso il rilevamento del supervisore.
BLOCKING Modalità di rilevamento del blocco. La risposta viene bloccata quando è in corso il rilevamento del supervisore.

Schema di output

La barriera di protezione contiene un elenco di controlli e bilanciamenti per mantenere gli agenti al sicuro.

Guardrail

Rappresentazione 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.
}
Campi
name

string

Identificatore. L'identificatore univoco della regola di sicurezza. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obbligatorio. Nome visualizzato del guardrail.

description

string

Facoltativo. Descrizione della guardrail.

enabled

boolean

Facoltativo. Indica se il guardrail è abilitato.

action

object (TriggerAction)

Facoltativo. Azione da intraprendere quando viene attivato il guardrail.

createTime

string (Timestamp format)

Solo output. Timestamp della creazione della regola di protezione.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento della regola di protezione.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Etag utilizzato per garantire che l'oggetto non sia cambiato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee.

Campo unione guardrail_type. Tipo di guardrail. guardrail_type può essere solo uno dei seguenti tipi:
contentFilter

object (ContentFilter)

Facoltativo. Guardrail che vieta l'utilizzo di determinati contenuti nella conversazione.

llmPromptSecurity

object (LlmPromptSecurity)

Facoltativo. Guardrail che blocca la conversazione se il prompt è considerato non sicuro in base alla classificazione dell'LLM.

llmPolicy

object (LlmPolicy)

Facoltativo. Guardrail che blocca la conversazione se la risposta dell'LLM è considerata in violazione della policy in base alla classificazione dell'LLM.

modelSafety

object (ModelSafety)

Facoltativo. Guardrail che blocca la conversazione se la risposta dell'LLM è considerata non sicura in base alle impostazioni di sicurezza del modello.

codeCallback

object (CodeCallback)

Facoltativo. Guardrail che blocca potenzialmente la conversazione in base al risultato dell'esecuzione del callback.

supervisor

object (Supervisor)

Facoltativo. Guardrail che esegue l'intervento del supervisore.

ContentFilter

Rappresentazione JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Campi
bannedContents[]

string

Facoltativo. Elenco di frasi vietate. Si applica sia agli input degli utenti sia alle risposte degli agenti.

bannedContentsInUserInput[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo agli input degli utenti.

bannedContentsInAgentResponse[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo alle risposte degli agenti.

matchType

enum (MatchType)

Obbligatorio. Tipo di corrispondenza per il filtro dei contenuti.

disregardDiacritics

boolean

Facoltativo. Se impostato su true, i segni diacritici vengono ignorati durante la ricerca di corrispondenze.

sensitiveWordsExemptions[]

string

Facoltativo. Voci dell'elenco di parole sensibili consentite da questo guardrail. Valido solo quando match_type è SENSITIVE_WORDS. Ogni valore deve corrispondere a una voce dell'elenco (senza distinzione tra maiuscole e minuscole, gli spazi vuoti circostanti vengono ignorati); altri valori non hanno alcun effetto. Si applica solo a questa regola di sicurezza. Massimo 1000 voci di massimo 256 caratteri ciascuna.

LlmPromptSecurity

Rappresentazione 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.
}
Campi
failOpen

boolean

Facoltativo. Determina il comportamento quando la barriera di protezione rileva un errore LLM. - Se true: il guardrail viene ignorato. - Se il valore è false (predefinito): il guardrail si attiva/blocca.

Nota: se viene fornita una policy personalizzata, questo campo viene ignorato a favore della configurazione "fail_open" della policy.

Campo unione security_config. Definisce la modalità di configurazione della sicurezza. L'utente deve scegliere una delle seguenti configurazioni. security_config può essere solo uno dei seguenti tipi:
defaultSettings

object (DefaultSecuritySettings)

Facoltativo. Utilizza le impostazioni di sicurezza predefinite del sistema. Per selezionare questa modalità, includi un messaggio "default_settings" vuoto nella richiesta. Il campo "default_prompt_template" all'interno verrà compilato dal server nella risposta.

customPolicy

object (LlmPolicy)

Facoltativo. Utilizza un LlmPolicy definito dall'utente per configurare il guardrail di sicurezza.

DefaultSecuritySettings

Rappresentazione JSON
{
  "defaultPromptTemplate": string
}
Campi
defaultPromptTemplate

string

Solo output. Il template di prompt predefinito utilizzato dal sistema. Questo campo serve per mostrare all'utente il prompt utilizzato dal sistema per impostazione predefinita. È OUTPUT_ONLY.

LlmPolicy

Rappresentazione JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campi
maxConversationMessages

integer

Facoltativo. Quando controlli questa policy, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, verrà utilizzato il valore predefinito 10.

modelSettings

object (ModelSettings)

Facoltativo. Impostazioni del modello.

prompt

string

Obbligatorio. Prompt delle norme. Supporta i segnaposto delle variabili di sessione ({var}) e {agent_system_instruction} per inserire le istruzioni di sistema risolte dell'agente.

policyScope

enum (PolicyScope)

Obbligatorio. Definisce quando applicare il controllo delle policy durante la conversazione. Se impostata su POLICY_SCOPE_UNSPECIFIED, la policy verrà applicata all'input utente. Quando applichi la policy alla risposta dell'agente, verrà introdotta una latenza aggiuntiva prima che l'agente possa rispondere.

failOpen

boolean

Facoltativo. Se si verifica un errore durante il controllo della policy, l'operazione non va a buon fine e il guardrail non viene attivato.

allowShortUtterance

boolean

Facoltativo. Per impostazione predefinita, il controllo delle policy LLM viene ignorato per gli enunciati brevi. Se attivi questa impostazione, il controllo delle policy viene applicato a tutti gli enunciati, inclusi quelli che normalmente verrebbero ignorati.

ModelSettings

Rappresentazione 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.
}
Campi
model

string

Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dall'agente parent.

thinkingLevel

enum (ThinkingLevel)

Facoltativo. Il livello di ragionamento del modello.

Campo unione _temperature.

_temperature può essere solo uno dei seguenti tipi:

temperature

number

Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Temperature più elevate producono risposte più creative.

ModelSafety

Rappresentazione JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campi
safetySettings[]

object (SafetySetting)

Obbligatorio. Elenco delle impostazioni di sicurezza.

SafetySetting

Rappresentazione JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campi
category

enum (HarmCategory)

Obbligatorio. La categoria di danno.

threshold

enum (HarmBlockThreshold)

Obbligatorio. La soglia di blocco dei contenuti dannosi.

CodeCallback

Rappresentazione JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campi
beforeAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire prima della chiamata dell'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata dell'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

beforeModelCallback

object (Callback)

Facoltativo. Il callback da eseguire prima della chiamata del modello. Se il modello viene chiamato più volte, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterModelCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata del modello. Se il modello viene chiamato più volte, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dict o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

Callback

Rappresentazione 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.
}
Campi
description

string

Facoltativo. Descrizione leggibile del callback.

disabled

boolean

Facoltativo. Indica se il callback è disattivato. I callback disattivati vengono ignorati dall'agente.

proactiveExecutionEnabled

boolean

Facoltativo. Se abilitato, il callback verrà eseguito anche sugli output intermedi del modello. Questa impostazione influisce solo sul callback dopo il modello. ABILITARE CON CAUTELA. In genere, il callback after_model deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'abilitazione dell'esecuzione proattiva potrebbe avere implicazioni negative sui costi e sulla latenza di esecuzione e deve essere abilitata solo in rare situazioni.

Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi:
pythonCode

string

Obbligatorio. Il codice Python da eseguire per il callback.

Supervisore

Rappresentazione JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Campi
type

enum (Type)

Facoltativo. Il tipo di supervisore.

detectionMode

enum (DetectionMode)

Facoltativo. La modalità di rilevamento del supervisore.

TriggerAction

Rappresentazione 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.
}
Campi
Campo unione action. L'azione da eseguire. action può essere solo uno dei seguenti tipi:
respondImmediately

object (RespondImmediately)

Facoltativo. Rispondi immediatamente con una risposta preconfigurata.

transferAgent

object (TransferAgent)

Facoltativo. Trasferire la conversazione a un altro agente.

generativeAnswer

object (GenerativeAnswer)

Facoltativo. Rispondi con una risposta generativa.

RespondImmediately

Rappresentazione JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campi
responses[]

object (Response)

Obbligatorio. Le risposte predefinite tra cui l'agente può scegliere. La risposta viene scelta in modo casuale.

Risposta

Rappresentazione JSON
{
  "text": string,
  "disabled": boolean
}
Campi
text

string

Obbligatorio. Testo con cui l'agente deve rispondere.

disabled

boolean

Facoltativo. Indica se la risposta è disattivata. Le risposte disattivate non vengono utilizzate dall'agente.

TransferAgent

Rappresentazione JSON
{
  "agent": string
}
Campi
agent

string

Obbligatorio. Il nome dell'agente a cui trasferire la conversazione. L'agente deve trovarsi nella stessa app dell'agente corrente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Rappresentazione JSON
{
  "prompt": string
}
Campi
prompt

string

Obbligatorio. Il prompt da utilizzare per la risposta generativa.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi dell'ora UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrispondono a un intervallo compreso tra 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori dei secondi negativi con frazioni devono comunque avere valori di nanosecondi non negativi che avanzano nel tempo. Deve essere un valore compreso tra 0 e 999.999.999 inclusi.

MatchType

Tipo di corrispondenza per il filtro dei contenuti.

Enum
MATCH_TYPE_UNSPECIFIED Il tipo di corrispondenza non è specificato.
SIMPLE_STRING_MATCH I contenuti vengono confrontati con le sottostringhe carattere per carattere.
WORD_BOUNDARY_STRING_MATCH I contenuti corrispondono solo se il pattern trovato nel testo è circondato da delimitatori di parole. Le frasi vietate possono contenere anche delimitatori di parole.
REGEXP_MATCH I contenuti vengono abbinati utilizzando la sintassi delle espressioni regolari.
SENSITIVE_WORDS I contenuti vengono confrontati con un elenco di parole e frasi sensibili gestito dal sistema. Se colleghi un guardrail con questo tipo di corrispondenza a un'app o a un agente, il filtro predefinito per le parole sensibili viene sostituito per gli agenti interessati. Disattiva il guardrail per disattivare il filtro predefinito.

ThinkingLevel

Configurazione del livello di ragionamento per il modello.

Enum
THINKING_LEVEL_UNSPECIFIED Il livello di ragionamento non è specificato.
DEFAULT Livello di ragionamento predefinito.
LOW Livello di ragionamento basso.
MEDIUM Livello di ragionamento medio.
HIGH Livello di ragionamento elevato.

PolicyScope

Definisce quando applicare il controllo delle policy durante la conversazione.

Enum
POLICY_SCOPE_UNSPECIFIED L'ambito della policy non è specificato.
USER_QUERY Il controllo delle norme viene attivato in base all'input utente.
AGENT_RESPONSE Il controllo delle policy viene attivato in base alla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà una latenza aggiuntiva prima che l'agente possa rispondere.
USER_QUERY_AND_AGENT_RESPONSE Il controllo delle policy viene attivato sia sull'input utente dell'utente che sulla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà una latenza aggiuntiva prima che l'agente possa rispondere.

HarmCategory

Categoria di danno.

Enum
HARM_CATEGORY_UNSPECIFIED La categoria di danno non è specificata.
HARM_CATEGORY_HATE_SPEECH La categoria di danno è l'incitamento all'odio.
HARM_CATEGORY_DANGEROUS_CONTENT La categoria di danno è Contenuti pericolosi.
HARM_CATEGORY_HARASSMENT La categoria di danno è molestie.
HARM_CATEGORY_SEXUALLY_EXPLICIT La categoria di danno è contenuti sessualmente espliciti.
HARM_CATEGORY_PROFANITY La categoria di danno è il linguaggio volgare.
HARM_CATEGORY_TOXIC La categoria di danno è tossica.

HarmBlockThreshold

Livelli di soglia basati sulla probabilità per il blocco.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Soglia di blocco dei contenuti dannosi non specificata.
BLOCK_LOW_AND_ABOVE Blocca soglia bassa e superiore (ovvero blocca più contenuti).
BLOCK_MEDIUM_AND_ABOVE Blocca soglia media e superiore.
BLOCK_ONLY_HIGH Blocco solo soglia alta (ovvero blocco ridotto).
BLOCK_NONE Nessun blocco.
OFF Disattiva il filtro di sicurezza.

Tipo

Tipo di supervisore.

Enum
TYPE_UNSPECIFIED Il tipo non è specificato.
INVALID_TEXT Tipo di problema di testo non valido.
LANGUAGE_SHIFT Tipo di problema relativo al cambio di lingua.
SPEAKER_SHIFT Tipo di problema di spostamento dello speaker.
AUDIO_MISMATCH Tipo di problema di mancata corrispondenza audio.
MISSING_TOOL_CALL Tipo di problema di chiamata allo strumento mancante.
CUSTOM Tipo di problema personalizzato.
CHOPPY_AUDIO Tipo di problema: audio frammentato.
PROFANITY Tipo di problema relativo al linguaggio volgare dell'agente.

DetectionMode

Modalità di rilevamento del supervisore.

Enum
DETECTION_MODE_UNSPECIFIED La modalità di rilevamento non è specificata. Il valore predefinito è NON_BLOCKING.
NON_BLOCKING Modalità di rilevamento non bloccante. La risposta non viene bloccata quando è in corso il rilevamento del supervisore.
BLOCKING Modalità di rilevamento del blocco. La risposta viene bloccata quando è in corso il rilevamento del supervisore.

Annotazioni dello strumento

Le annotazioni degli strumenti vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare una richiesta di conferma a un utente.

Oltre alla stringa del titolo, i seguenti suggerimenti booleani sono definiti come segue:

  • readOnlyHint: se true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se true, lo strumento può eseguire azioni distruttive. Se è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se true, la chiamata ripetuta dello strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.
  • openWorldHint: se true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.

Destructive Hint: ✅ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌