Strumento: create_agent
Crea un nuovo agente nell'app specificata.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_agent.
| Curl Request |
|---|
curl --location 'https://ces.[REGION].rep.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 tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio di richiesta per AgentService.CreateAgent.
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. Il 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 funzioni di 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 all'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 di richiamare lo 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 degli agenti. Se corrispondono più regole, verrà utilizzata la prima nell'elenco. |
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 |
RemoteDialogflowAgent
| Rappresentazione JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| 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. Il mapping 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.
|
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, // Union field |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale. |
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. Indica se il callback è 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. ATTIVARE 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 a partire dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti 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 parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. 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 viene 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 dello 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 di 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 true, il pianificatore non potrà essere trasferito all'agente di destinazione. |
Schema di output
Un agente funge da elemento costitutivo fondamentale 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. Il 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 funzioni di 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 all'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 di richiamare lo 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 degli agenti. Se corrispondono più regole, verrà utilizzata la prima nell'elenco. |
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 |
RemoteDialogflowAgent
| Rappresentazione JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| 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. Il mapping 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.
|
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, // Union field |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale. |
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. Indica se il callback è 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. ATTIVARE 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 a partire dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti 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 parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. 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 viene 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 dello 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 di 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 true, il pianificatore non potrà essere trasferito all'agente di destinazione. |
Annotazioni dello strumento
Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌