Strumento: create_agent
Crea un nuovo agente nell'app specificata.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create_agent.
| 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": "create_agent", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
CreateAgentRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"agentId": string,
"agent": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Il nome della risorsa dell'app in cui creare un agente. |
agentId |
Facoltativo. L'ID da utilizzare per l'agente, che diventerà il componente finale del nome della risorsa dell'agente. Se non viene fornito, all'agente verrà assegnato automaticamente un ID univoco. |
agent |
Obbligatorio. L'agente da creare. |
Agente
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco dell'agente. Formato: |
displayName |
Obbligatorio. Nome visualizzato dell'agente. |
description |
Facoltativo. Descrizione dell'agente leggibile. |
modelSettings |
Facoltativo. Configurazioni per il modello LLM. |
instruction |
Facoltativo. Istruzioni per il modello LLM per guidare il comportamento dell'agente. |
tools[] |
Facoltativo. Elenco degli strumenti disponibili per l'agente. Formato: |
childAgents[] |
Facoltativo. Elenco degli agenti secondari nell'albero degli agenti. Formato: |
beforeAgentCallbacks[] |
Facoltativo. Le callback da eseguire prima di chiamare l'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterAgentCallbacks[] |
Facoltativo. I callback da eseguire dopo la chiamata dell'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
beforeModelCallbacks[] |
Facoltativo. I callback da eseguire prima di chiamare il modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterModelCallbacks[] |
Facoltativo. I callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
beforeToolCallbacks[] |
Facoltativo. Le funzioni di callback da eseguire prima dell'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterToolCallbacks[] |
Facoltativo. I callback da eseguire dopo l'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
createTime |
Solo output. Timestamp di creazione dell'agente. 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: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento dell'agente. 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: |
guardrails[] |
Facoltativo. Elenco delle barriere protettive per l'agente. Formato: |
etag |
Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
toolsets[] |
Facoltativo. Elenco dei toolset per l'agente. |
generatedSummary |
Solo output. Se l'agente viene generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione. |
transferRules[] |
Facoltativo. Regole di trasferimento dell'agente. Se più regole corrispondono, verrà utilizzata la prima nell'elenco. |
validationErrors[] |
Solo output. Errori o configurazioni errate nell'agente che potrebbero influire sulla qualità dell'agente. |
Campo unione agent_type. Il tipo di agente. agent_type può essere solo uno dei seguenti tipi: |
|
llmAgent |
Facoltativo. Il tipo di agente predefinito. |
remoteDialogflowAgent |
Facoltativo. L'agente Dialogflow remoto da utilizzare per l'esecuzione dell'agente. Se questo campo è impostato, tutte le altre proprietà a livello di agente verranno ignorate. Nota: se l'agente Dialogflow si trova in un progetto diverso dall'app, devi concedere |
remoteA2aAgent |
Facoltativo. L'agente A2A remoto da utilizzare per l'esecuzione dell'agente. |
RemoteDialogflowAgent
| Rappresentazione JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| Campi | |
|---|---|
agent |
Obbligatorio. Il nome risorsa dell'agente Dialogflow. Formato: |
flowId |
Facoltativo. L'ID del flusso nell'agente Dialogflow. |
environmentId |
Facoltativo. L'ID ambiente dell'agente Dialogflow da utilizzare per l'esecuzione dell'agente. Se non specificato, verrà utilizzato l'ambiente bozza. |
inputVariableMapping |
Facoltativo. La mappatura dei nomi delle variabili dell'app ai nomi dei parametri di sessione di Dialogflow da inviare all'agente Dialogflow come input. Un oggetto contenente un elenco di coppie |
outputVariableMapping |
Facoltativo. Il mapping dei nomi dei parametri di sessione di Dialogflow ai nomi delle variabili dell'app da inviare di nuovo all'agente CES al termine dell'esecuzione dell'agente Dialogflow. Un oggetto contenente un elenco di coppie |
respectResponseInterruptionSettings |
Facoltativo. Indica se rispettare le impostazioni di interruzione a livello di messaggio configurate nell'agente Dialogflow.
|
languageCodeVariable |
Facoltativo. Il nome della variabile che contiene il codice della lingua da utilizzare per la sessione Dialogflow. Se non specificato, verrà utilizzato il codice lingua predefinito dell'agente Dialogflow. |
InputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
RemoteA2aAgent
| Rappresentazione JSON |
|---|
{
"a2aConfig": {
object ( |
| Campi | |
|---|---|
a2aConfig |
Obbligatorio. La configurazione della connessione A2A. |
RemoteA2aConfig
| Rappresentazione JSON |
|---|
{ "apiAuthentication": { object ( |
| Campi | |
|---|---|
apiAuthentication |
Facoltativo. Configurazione dell'autenticazione per chiamare l'agente remoto. Facoltativo se il riferimento al registro gestisce già l'autenticazione. |
inputVariableMapping |
Facoltativo. Mapping dei nomi delle variabili di input dell'agente remoto ai nomi delle variabili GECX. Un oggetto contenente un elenco di coppie |
outputVariableMapping |
Facoltativo. Mappatura dei nomi delle variabili di output dell'agente remoto ai nomi delle variabili GECX. Un oggetto contenente un elenco di coppie |
streamingEnabled |
Facoltativo. Indica se lo streaming è abilitato per l'agente remoto. |
contextId |
Facoltativo. Se non è vuoto, le interazioni con l'agente A2A remoto utilizzeranno questo ID contesto. Questo campo context_id può fare riferimento a una variabile di sessione come |
Campo unione agent_spec. Specifica dell'agente remoto. agent_spec può essere solo uno dei seguenti tipi: |
|
agentCard |
Facoltativo. La scheda dell'agente completa definita in linea. |
agentRegistry |
Facoltativo. Riferimento all'agente in Agent Registry. Formato: |
AgentCard
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Un nome leggibile per l'agente. |
description |
Obbligatorio. Una descrizione del dominio di azione/spazio di soluzioni dell'agente. |
supportedInterfaces[] |
Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce. |
version |
Obbligatorio. La versione dell'agente. |
skills[] |
Obbligatorio. Le skill rappresentano un'unità di capacità che un agente può eseguire. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine. |
AgentInterface
| Rappresentazione JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campi | |
|---|---|
url |
Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido in produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obbligatorio. L'associazione del protocollo supportata in questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono |
tenant |
ID tenant da utilizzare nella richiesta quando chiami l'agente. |
protocolVersion |
Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0" |
AgentSkill
| Rappresentazione JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Campi | |
|---|---|
id |
Obbligatorio. Un identificatore univoco per la competenza dell'agente. |
name |
Obbligatorio. Un nome leggibile per la competenza. |
description |
Obbligatorio. Una descrizione dettagliata della skill. |
tags[] |
Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill. |
examples[] |
Esempi di prompt o scenari che questa skill può gestire. |
inputModes[] |
L'insieme dei tipi di media di input supportati per questa skill, che sostituiscono i valori predefiniti dell'agente. |
outputModes[] |
Il set di tipi di media di output supportati per questa skill, che sostituisce i valori predefiniti dell'agente. |
ApiAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
apiKeyConfig |
Facoltativo. Configurazione per l'autenticazione della chiave API. |
oauthConfig |
Facoltativo. Configurazione per OAuth. |
serviceAgentIdTokenAuthConfig |
Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES. |
serviceAccountAuthConfig |
Facoltativo. Configurazione per l'autenticazione del account di servizio. |
bearerTokenConfig |
Facoltativo. Configurazione per l'autenticazione con token di connessione. |
ApiKeyConfig
| Rappresentazione JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campi | |
|---|---|
keyName |
Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: Nota: devi concedere il ruolo |
requestLocation |
Obbligatorio. Posizione della chiave nella richiesta. |
OAuthConfig
| Rappresentazione JSON |
|---|
{
"oauthGrantType": enum ( |
| Campi | |
|---|---|
oauthGrantType |
Obbligatorio. Tipi di autorizzazione con OAuth. |
clientId |
Obbligatorio. L'ID client del fornitore OAuth. |
clientSecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: Nota: devi concedere il ruolo |
tokenEndpoint |
Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso. |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. |
ServiceAccountAuthConfig
| Rappresentazione JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campi | |
|---|---|
serviceAccount |
Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione All'account di servizio deve essere concesso il ruolo |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito |
BearerTokenConfig
| Rappresentazione JSON |
|---|
{ "token": string } |
| Campi | |
|---|---|
token |
Obbligatorio. Il token di connessione. Deve essere nel formato |
InputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
ModelSettings
| Rappresentazione JSON |
|---|
{ "model": string, "thinkingLevel": enum ( |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dal relativo agente principale. |
thinkingLevel |
Facoltativo. Il livello di ragionamento del modello. |
Campo unione
|
|
temperature |
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. Le temperature più alte producono risposte più creative. |
Callback
| Rappresentazione JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Campi | |
|---|---|
description |
Facoltativo. Descrizione leggibile del callback. |
disabled |
Facoltativo. Se il richiamo è disattivato. I callback disattivati vengono ignorati dall'agente. |
proactiveExecutionEnabled |
Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni. |
Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi: |
|
pythonCode |
Obbligatorio. Il codice Python da eseguire per il callback. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Il valore deve essere compreso tra 0 e 999.999.999 inclusi. |
AgentToolset
| Rappresentazione JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Campi | |
|---|---|
toolset |
Obbligatorio. Il nome della risorsa del toolset. Formato: |
toolIds[] |
Facoltativo. Gli ID degli strumenti per filtrare il set di strumenti. |
TransferRule
| Rappresentazione JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Campi | |
|---|---|
childAgent |
Obbligatorio. Il nome della risorsa dell'agente secondario a cui si applica la regola. Formato: |
direction |
Obbligatorio. La direzione del trasferimento. |
Campo unione rule_type. Il tipo di regola. rule_type può essere solo uno dei seguenti tipi: |
|
deterministicTransfer |
Facoltativo. Una regola che viene trasferita immediatamente all'agente di destinazione quando la condizione è soddisfatta. |
disablePlannerTransfer |
Facoltativo. Regola che impedisce al pianificatore di trasferire la chiamata all'agente di destinazione. |
DeterministicTransfer
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione condition_type. La condizione da valutare. condition_type può essere solo uno dei seguenti tipi: |
|
expressionCondition |
Facoltativo. Una regola che valuta una condizione di stato della sessione. Se la condizione restituisce il valore true, il trasferimento viene eseguito. |
pythonCodeCondition |
Facoltativo. Una regola che utilizza il blocco di codice Python per valutare le condizioni. Se la condizione restituisce il valore true, il trasferimento viene eseguito. |
ExpressionCondition
| Rappresentazione JSON |
|---|
{ "expression": string } |
| Campi | |
|---|---|
expression |
Obbligatorio. La rappresentazione stringa della condizione cloud.api.Expression. |
PythonCodeCondition
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Il codice Python da eseguire. |
DisablePlannerTransfer
| Rappresentazione JSON |
|---|
{
"expressionCondition": {
object ( |
| Campi | |
|---|---|
expressionCondition |
Obbligatorio. Se la condizione restituisce il valore true, il pianificatore non potrà essere trasferito all'agente di destinazione. |
RequestLocation
La posizione della chiave API nella richiesta.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
HEADER |
Rappresenta la chiave nell'intestazione HTTP. |
QUERY_STRING |
Rappresenta la chiave nella stringa di query. |
OauthGrantType
Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non specificato. Il valore predefinito è CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Rappresenta il flusso delle credenziali client. |
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. |
Direzione
La direzione del trasferimento.
| Enum | |
|---|---|
DIRECTION_UNSPECIFIED |
Direzione non specificata. |
PARENT_TO_CHILD |
Trasferimento dall'agente principale all'agente secondario. |
CHILD_TO_PARENT |
Trasferimento dall'agente secondario all'agente principale. |
Schema di output
Un agente funge da componente di base che fornisce istruzioni al modello linguistico di grandi dimensioni (LLM) per l'esecuzione di attività specifiche.
Agente
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco dell'agente. Formato: |
displayName |
Obbligatorio. Nome visualizzato dell'agente. |
description |
Facoltativo. Descrizione dell'agente leggibile. |
modelSettings |
Facoltativo. Configurazioni per il modello LLM. |
instruction |
Facoltativo. Istruzioni per il modello LLM per guidare il comportamento dell'agente. |
tools[] |
Facoltativo. Elenco degli strumenti disponibili per l'agente. Formato: |
childAgents[] |
Facoltativo. Elenco degli agenti secondari nell'albero degli agenti. Formato: |
beforeAgentCallbacks[] |
Facoltativo. Le callback da eseguire prima di chiamare l'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterAgentCallbacks[] |
Facoltativo. I callback da eseguire dopo la chiamata dell'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
beforeModelCallbacks[] |
Facoltativo. I callback da eseguire prima di chiamare il modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterModelCallbacks[] |
Facoltativo. I callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
beforeToolCallbacks[] |
Facoltativo. Le funzioni di callback da eseguire prima dell'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterToolCallbacks[] |
Facoltativo. I callback da eseguire dopo l'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
createTime |
Solo output. Timestamp di creazione dell'agente. 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: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento dell'agente. 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: |
guardrails[] |
Facoltativo. Elenco delle barriere protettive per l'agente. Formato: |
etag |
Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
toolsets[] |
Facoltativo. Elenco dei toolset per l'agente. |
generatedSummary |
Solo output. Se l'agente viene generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione. |
transferRules[] |
Facoltativo. Regole di trasferimento dell'agente. Se più regole corrispondono, verrà utilizzata la prima nell'elenco. |
validationErrors[] |
Solo output. Errori o configurazioni errate nell'agente che potrebbero influire sulla qualità dell'agente. |
Campo unione agent_type. Il tipo di agente. agent_type può essere solo uno dei seguenti tipi: |
|
llmAgent |
Facoltativo. Il tipo di agente predefinito. |
remoteDialogflowAgent |
Facoltativo. L'agente Dialogflow remoto da utilizzare per l'esecuzione dell'agente. Se questo campo è impostato, tutte le altre proprietà a livello di agente verranno ignorate. Nota: se l'agente Dialogflow si trova in un progetto diverso dall'app, devi concedere |
remoteA2aAgent |
Facoltativo. L'agente A2A remoto da utilizzare per l'esecuzione dell'agente. |
RemoteDialogflowAgent
| Rappresentazione JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| Campi | |
|---|---|
agent |
Obbligatorio. Il nome risorsa dell'agente Dialogflow. Formato: |
flowId |
Facoltativo. L'ID del flusso nell'agente Dialogflow. |
environmentId |
Facoltativo. L'ID ambiente dell'agente Dialogflow da utilizzare per l'esecuzione dell'agente. Se non specificato, verrà utilizzato l'ambiente bozza. |
inputVariableMapping |
Facoltativo. La mappatura dei nomi delle variabili dell'app ai nomi dei parametri di sessione di Dialogflow da inviare all'agente Dialogflow come input. Un oggetto contenente un elenco di coppie |
outputVariableMapping |
Facoltativo. Il mapping dei nomi dei parametri di sessione di Dialogflow ai nomi delle variabili dell'app da inviare di nuovo all'agente CES al termine dell'esecuzione dell'agente Dialogflow. Un oggetto contenente un elenco di coppie |
respectResponseInterruptionSettings |
Facoltativo. Indica se rispettare le impostazioni di interruzione a livello di messaggio configurate nell'agente Dialogflow.
|
languageCodeVariable |
Facoltativo. Il nome della variabile che contiene il codice della lingua da utilizzare per la sessione Dialogflow. Se non specificato, verrà utilizzato il codice lingua predefinito dell'agente Dialogflow. |
InputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
RemoteA2aAgent
| Rappresentazione JSON |
|---|
{
"a2aConfig": {
object ( |
| Campi | |
|---|---|
a2aConfig |
Obbligatorio. La configurazione della connessione A2A. |
RemoteA2aConfig
| Rappresentazione JSON |
|---|
{ "apiAuthentication": { object ( |
| Campi | |
|---|---|
apiAuthentication |
Facoltativo. Configurazione dell'autenticazione per chiamare l'agente remoto. Facoltativo se il riferimento al registro gestisce già l'autenticazione. |
inputVariableMapping |
Facoltativo. Mapping dei nomi delle variabili di input dell'agente remoto ai nomi delle variabili GECX. Un oggetto contenente un elenco di coppie |
outputVariableMapping |
Facoltativo. Mappatura dei nomi delle variabili di output dell'agente remoto ai nomi delle variabili GECX. Un oggetto contenente un elenco di coppie |
streamingEnabled |
Facoltativo. Indica se lo streaming è abilitato per l'agente remoto. |
contextId |
Facoltativo. Se non è vuoto, le interazioni con l'agente A2A remoto utilizzeranno questo ID contesto. Questo campo context_id può fare riferimento a una variabile di sessione come |
Campo unione agent_spec. Specifica dell'agente remoto. agent_spec può essere solo uno dei seguenti tipi: |
|
agentCard |
Facoltativo. La scheda dell'agente completa definita in linea. |
agentRegistry |
Facoltativo. Riferimento all'agente in Agent Registry. Formato: |
AgentCard
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Un nome leggibile per l'agente. |
description |
Obbligatorio. Una descrizione del dominio di azione/spazio di soluzioni dell'agente. |
supportedInterfaces[] |
Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce. |
version |
Obbligatorio. La versione dell'agente. |
skills[] |
Obbligatorio. Le skill rappresentano un'unità di capacità che un agente può eseguire. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine. |
AgentInterface
| Rappresentazione JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campi | |
|---|---|
url |
Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido in produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obbligatorio. L'associazione del protocollo supportata in questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono |
tenant |
ID tenant da utilizzare nella richiesta quando chiami l'agente. |
protocolVersion |
Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0" |
AgentSkill
| Rappresentazione JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Campi | |
|---|---|
id |
Obbligatorio. Un identificatore univoco per la competenza dell'agente. |
name |
Obbligatorio. Un nome leggibile per la competenza. |
description |
Obbligatorio. Una descrizione dettagliata della skill. |
tags[] |
Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill. |
examples[] |
Esempi di prompt o scenari che questa skill può gestire. |
inputModes[] |
L'insieme dei tipi di media di input supportati per questa skill, che sostituiscono i valori predefiniti dell'agente. |
outputModes[] |
Il set di tipi di media di output supportati per questa skill, che sostituisce i valori predefiniti dell'agente. |
ApiAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
apiKeyConfig |
Facoltativo. Configurazione per l'autenticazione della chiave API. |
oauthConfig |
Facoltativo. Configurazione per OAuth. |
serviceAgentIdTokenAuthConfig |
Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES. |
serviceAccountAuthConfig |
Facoltativo. Configurazione per l'autenticazione del account di servizio. |
bearerTokenConfig |
Facoltativo. Configurazione per l'autenticazione con token di connessione. |
ApiKeyConfig
| Rappresentazione JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campi | |
|---|---|
keyName |
Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: Nota: devi concedere il ruolo |
requestLocation |
Obbligatorio. Posizione della chiave nella richiesta. |
OAuthConfig
| Rappresentazione JSON |
|---|
{
"oauthGrantType": enum ( |
| Campi | |
|---|---|
oauthGrantType |
Obbligatorio. Tipi di autorizzazione con OAuth. |
clientId |
Obbligatorio. L'ID client del fornitore OAuth. |
clientSecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: Nota: devi concedere il ruolo |
tokenEndpoint |
Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso. |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. |
ServiceAccountAuthConfig
| Rappresentazione JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campi | |
|---|---|
serviceAccount |
Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione All'account di servizio deve essere concesso il ruolo |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito |
BearerTokenConfig
| Rappresentazione JSON |
|---|
{ "token": string } |
| Campi | |
|---|---|
token |
Obbligatorio. Il token di connessione. Deve essere nel formato |
InputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
ModelSettings
| Rappresentazione JSON |
|---|
{ "model": string, "thinkingLevel": enum ( |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dal relativo agente principale. |
thinkingLevel |
Facoltativo. Il livello di ragionamento del modello. |
Campo unione
|
|
temperature |
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. Le temperature più alte producono risposte più creative. |
Callback
| Rappresentazione JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Campi | |
|---|---|
description |
Facoltativo. Descrizione leggibile del callback. |
disabled |
Facoltativo. Se il richiamo è disattivato. I callback disattivati vengono ignorati dall'agente. |
proactiveExecutionEnabled |
Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni. |
Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi: |
|
pythonCode |
Obbligatorio. Il codice Python da eseguire per il callback. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Il valore deve essere compreso tra 0 e 999.999.999 inclusi. |
AgentToolset
| Rappresentazione JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Campi | |
|---|---|
toolset |
Obbligatorio. Il nome della risorsa del toolset. Formato: |
toolIds[] |
Facoltativo. Gli ID degli strumenti per filtrare il set di strumenti. |
TransferRule
| Rappresentazione JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Campi | |
|---|---|
childAgent |
Obbligatorio. Il nome della risorsa dell'agente secondario a cui si applica la regola. Formato: |
direction |
Obbligatorio. La direzione del trasferimento. |
Campo unione rule_type. Il tipo di regola. rule_type può essere solo uno dei seguenti tipi: |
|
deterministicTransfer |
Facoltativo. Una regola che viene trasferita immediatamente all'agente di destinazione quando la condizione è soddisfatta. |
disablePlannerTransfer |
Facoltativo. Regola che impedisce al pianificatore di trasferire la chiamata all'agente di destinazione. |
DeterministicTransfer
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione condition_type. La condizione da valutare. condition_type può essere solo uno dei seguenti tipi: |
|
expressionCondition |
Facoltativo. Una regola che valuta una condizione di stato della sessione. Se la condizione restituisce il valore true, il trasferimento viene eseguito. |
pythonCodeCondition |
Facoltativo. Una regola che utilizza il blocco di codice Python per valutare le condizioni. Se la condizione restituisce il valore true, il trasferimento viene eseguito. |
ExpressionCondition
| Rappresentazione JSON |
|---|
{ "expression": string } |
| Campi | |
|---|---|
expression |
Obbligatorio. La rappresentazione stringa della condizione cloud.api.Expression. |
PythonCodeCondition
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Il codice Python da eseguire. |
DisablePlannerTransfer
| Rappresentazione JSON |
|---|
{
"expressionCondition": {
object ( |
| Campi | |
|---|---|
expressionCondition |
Obbligatorio. Se la condizione restituisce il valore true, il pianificatore non potrà essere trasferito all'agente di destinazione. |
RequestLocation
La posizione della chiave API nella richiesta.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
HEADER |
Rappresenta la chiave nell'intestazione HTTP. |
QUERY_STRING |
Rappresenta la chiave nella stringa di query. |
OauthGrantType
Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non specificato. Il valore predefinito è CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Rappresenta il flusso delle credenziali client. |
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. |
Direzione
La direzione del trasferimento.
| Enum | |
|---|---|
DIRECTION_UNSPECIFIED |
Direzione non specificata. |
PARENT_TO_CHILD |
Trasferimento dall'agente principale all'agente secondario. |
CHILD_TO_PARENT |
Trasferimento dall'agente secondario all'agente principale. |
Annotazioni dello strumento
Le annotazioni dello strumento 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 un prompt di conferma a un utente.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo 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 le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.
Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌