Outil : create_agent
Crée un agent dans l'application spécifiée.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP create_agent.
| Requête curl |
|---|
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 }' |
Schéma d'entrée
Message de requête pour AgentService.CreateAgent.
CreateAgentRequest
| Représentation JSON |
|---|
{
"parent": string,
"agentId": string,
"agent": {
object ( |
| Champs | |
|---|---|
parent |
Obligatoire. Nom de ressource de l'application dans laquelle créer un agent. |
agentId |
Facultatif. ID à utiliser pour l'agent, qui constituera le composant final du nom de ressource de l'agent. Si aucun ID n'est fourni, un ID unique est automatiquement attribué à l'agent. |
agent |
Obligatoire. Agent à créer. |
Agent
| Représentation JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Champs | |
|---|---|
name |
Identifiant. Identifiant unique de l'agent. Format : |
displayName |
Obligatoire. Nom à afficher de l'agent. |
description |
Facultatif. Description de l'agent lisible par l'humain. |
modelSettings |
Facultatif. Configurations du modèle LLM. |
instruction |
Facultatif. Instructions pour le modèle LLM afin de guider le comportement de l'agent. |
tools[] |
Facultatif. Liste des outils disponibles pour l'agent. Format : |
childAgents[] |
Facultatif. Liste des agents enfants dans l'arborescence des agents. Format : |
beforeAgentCallbacks[] |
Facultatif. Rappels à exécuter avant l'appel de l'agent. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
afterAgentCallbacks[] |
Facultatif. Rappels à exécuter après l'appel de l'agent. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
beforeModelCallbacks[] |
Facultatif. Rappels à exécuter avant l'appel du modèle. Si le modèle est appelé plusieurs fois, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
afterModelCallbacks[] |
Facultatif. Rappels à exécuter après l'appel du modèle. Si le modèle est appelé plusieurs fois, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
beforeToolCallbacks[] |
Facultatif. Rappels à exécuter avant l'appel de l'outil. Si plusieurs outils sont appelés, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
afterToolCallbacks[] |
Facultatif. Rappels à exécuter après l'appel de l'outil. Si plusieurs outils sont appelés, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
createTime |
Uniquement en sortie. Code temporel de la création de l'agent. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
updateTime |
Uniquement en sortie. Code temporel de la dernière mise à jour de l'agent. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
guardrails[] |
Facultatif. Liste des garde-fous pour l'agent. Format : |
etag |
Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées. |
toolsets[] |
Facultatif. Liste des ensembles d'outils pour l'agent. |
generatedSummary |
Uniquement en sortie. Si l'agent est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération. |
transferRules[] |
Facultatif. Règles de transfert d'agent. Si plusieurs règles correspondent, la première de la liste sera utilisée. |
Champ d'union agent_type. Type d'agent. agent_type ne peut être qu'un des éléments suivants : |
|
llmAgent |
Facultatif. Type d'agent par défaut. |
remoteDialogflowAgent |
Facultatif. Agent Dialogflow distant à utiliser pour l'exécution de l'agent. Si ce champ est défini, toutes les autres propriétés au niveau de l'agent seront ignorées. Remarque : Si l'agent Dialogflow se trouve dans un projet différent de celui de l'application, vous devez accorder |
RemoteDialogflowAgent
| Représentation JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| Champs | |
|---|---|
agent |
Obligatoire. Nom de ressource de l'agent Dialogflow. Format : |
flowId |
Facultatif. ID du flux dans l'agent Dialogflow. |
environmentId |
Facultatif. ID de l'environnement de l'agent Dialogflow à utiliser pour l'exécution de l'agent. Si aucune valeur n'est spécifiée, l'environnement brouillon sera utilisé. |
inputVariableMapping |
Facultatif. Mappage des noms des variables d'application avec les noms des paramètres de session Dialogflow à envoyer à l'agent Dialogflow en tant qu'entrée. Objet contenant une liste de paires |
outputVariableMapping |
Facultatif. Mappage des noms de paramètres de session Dialogflow aux noms de variables d'application à renvoyer à l'agent CES une fois l'exécution de l'agent Dialogflow terminée. Objet contenant une liste de paires |
respectResponseInterruptionSettings |
Facultatif. Indique s'il faut respecter les paramètres d'interruption au niveau du message configurés dans l'agent Dialogflow.
|
InputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
ModelSettings
| Représentation JSON |
|---|
{ "model": string, // Union field |
| Champs | |
|---|---|
model |
Facultatif. Modèle LLM que l'agent doit utiliser. Si aucune valeur n'est définie, l'agent hérite du modèle de son agent parent. |
Champ d'union
|
|
temperature |
Facultatif. Si cette option est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le caractère aléatoire des réponses du modèle. Les températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées produisent des réponses plus créatives. |
Rappel
| Représentation JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Champs | |
|---|---|
description |
Facultatif. Description lisible du rappel. |
disabled |
Facultatif. Indique si le rappel est désactivé. Les rappels désactivés sont ignorés par l'agent. |
proactiveExecutionEnabled |
Facultatif. S'il est activé, le rappel sera également exécuté sur les sorties de modèle intermédiaires. Ce paramètre n'affecte que le rappel après le modèle. ACTIVEZ AVEC PRÉCAUTION. En règle générale, le rappel after_model_callback ne doit être exécuté qu'après avoir reçu toutes les réponses du modèle. L'activation de l'exécution proactive peut avoir des conséquences négatives sur le coût et la latence de l'exécution. Elle ne doit être activée que dans de rares cas. |
Champ d'union callback. Rappel à exécuter. callback ne peut être qu'un des éléments suivants : |
|
pythonCode |
Obligatoire. Code Python à exécuter pour le rappel. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus. |
AgentToolset
| Représentation JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Champs | |
|---|---|
toolset |
Obligatoire. Nom de ressource de l'ensemble d'outils. Format : |
toolIds[] |
Facultatif. ID des outils permettant de filtrer l'ensemble d'outils. |
TransferRule
| Représentation JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Champs | |
|---|---|
childAgent |
Obligatoire. Nom de ressource de l'agent enfant auquel s'applique la règle. Format : |
direction |
Obligatoire. Sens du transfert. |
Champ d'union rule_type. Type de règle. rule_type ne peut être qu'un des éléments suivants : |
|
deterministicTransfer |
Facultatif. Règle qui transfère immédiatement la demande à l'agent cible lorsque la condition est remplie. |
disablePlannerTransfer |
Facultatif. Règle qui empêche le planificateur d'être transféré à l'agent cible. |
DeterministicTransfer
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union condition_type. Condition à évaluer. condition_type ne peut être qu'un des éléments suivants : |
|
expressionCondition |
Facultatif. Règle qui évalue une condition d'état de session. Si la condition renvoie la valeur "true", le transfert a lieu. |
pythonCodeCondition |
Facultatif. Une règle qui utilise un bloc de code Python pour évaluer les conditions. Si la condition renvoie la valeur "true", le transfert a lieu. |
ExpressionCondition
| Représentation JSON |
|---|
{ "expression": string } |
| Champs | |
|---|---|
expression |
Obligatoire. Représentation sous forme de chaîne de la condition cloud.api.Expression. |
PythonCodeCondition
| Représentation JSON |
|---|
{ "pythonCode": string } |
| Champs | |
|---|---|
pythonCode |
Obligatoire. Code Python à exécuter. |
DisablePlannerTransfer
| Représentation JSON |
|---|
{
"expressionCondition": {
object ( |
| Champs | |
|---|---|
expressionCondition |
Obligatoire. Si la condition renvoie "true", le planificateur ne sera pas autorisé à transférer vers l'agent cible. |
Schéma de sortie
Un agent sert de bloc de construction fondamental qui fournit des instructions au grand modèle de langage (LLM) pour exécuter des tâches spécifiques.
Agent
| Représentation JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Champs | |
|---|---|
name |
Identifiant. Identifiant unique de l'agent. Format : |
displayName |
Obligatoire. Nom à afficher de l'agent. |
description |
Facultatif. Description de l'agent lisible par l'humain. |
modelSettings |
Facultatif. Configurations du modèle LLM. |
instruction |
Facultatif. Instructions pour le modèle LLM afin de guider le comportement de l'agent. |
tools[] |
Facultatif. Liste des outils disponibles pour l'agent. Format : |
childAgents[] |
Facultatif. Liste des agents enfants dans l'arborescence des agents. Format : |
beforeAgentCallbacks[] |
Facultatif. Rappels à exécuter avant l'appel de l'agent. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
afterAgentCallbacks[] |
Facultatif. Rappels à exécuter après l'appel de l'agent. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
beforeModelCallbacks[] |
Facultatif. Rappels à exécuter avant l'appel du modèle. Si le modèle est appelé plusieurs fois, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
afterModelCallbacks[] |
Facultatif. Rappels à exécuter après l'appel du modèle. Si le modèle est appelé plusieurs fois, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
beforeToolCallbacks[] |
Facultatif. Rappels à exécuter avant l'appel de l'outil. Si plusieurs outils sont appelés, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
afterToolCallbacks[] |
Facultatif. Rappels à exécuter après l'appel de l'outil. Si plusieurs outils sont appelés, le rappel sera exécuté plusieurs fois. Les rappels fournis sont exécutés de manière séquentielle dans l'ordre exact dans lequel ils sont indiqués dans la liste. Si un rappel renvoie une réponse remplacée, l'exécution s'arrête et les rappels restants sont ignorés. |
createTime |
Uniquement en sortie. Code temporel de la création de l'agent. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
updateTime |
Uniquement en sortie. Code temporel de la dernière mise à jour de l'agent. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
guardrails[] |
Facultatif. Liste des garde-fous pour l'agent. Format : |
etag |
Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées. |
toolsets[] |
Facultatif. Liste des ensembles d'outils pour l'agent. |
generatedSummary |
Uniquement en sortie. Si l'agent est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération. |
transferRules[] |
Facultatif. Règles de transfert d'agent. Si plusieurs règles correspondent, la première de la liste sera utilisée. |
Champ d'union agent_type. Type d'agent. agent_type ne peut être qu'un des éléments suivants : |
|
llmAgent |
Facultatif. Type d'agent par défaut. |
remoteDialogflowAgent |
Facultatif. Agent Dialogflow distant à utiliser pour l'exécution de l'agent. Si ce champ est défini, toutes les autres propriétés au niveau de l'agent seront ignorées. Remarque : Si l'agent Dialogflow se trouve dans un projet différent de celui de l'application, vous devez accorder |
RemoteDialogflowAgent
| Représentation JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| Champs | |
|---|---|
agent |
Obligatoire. Nom de ressource de l'agent Dialogflow. Format : |
flowId |
Facultatif. ID du flux dans l'agent Dialogflow. |
environmentId |
Facultatif. ID de l'environnement de l'agent Dialogflow à utiliser pour l'exécution de l'agent. Si aucune valeur n'est spécifiée, l'environnement brouillon sera utilisé. |
inputVariableMapping |
Facultatif. Mappage des noms des variables d'application avec les noms des paramètres de session Dialogflow à envoyer à l'agent Dialogflow en tant qu'entrée. Objet contenant une liste de paires |
outputVariableMapping |
Facultatif. Mappage des noms de paramètres de session Dialogflow aux noms de variables d'application à renvoyer à l'agent CES une fois l'exécution de l'agent Dialogflow terminée. Objet contenant une liste de paires |
respectResponseInterruptionSettings |
Facultatif. Indique s'il faut respecter les paramètres d'interruption au niveau du message configurés dans l'agent Dialogflow.
|
InputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
ModelSettings
| Représentation JSON |
|---|
{ "model": string, // Union field |
| Champs | |
|---|---|
model |
Facultatif. Modèle LLM que l'agent doit utiliser. Si aucune valeur n'est définie, l'agent hérite du modèle de son agent parent. |
Champ d'union
|
|
temperature |
Facultatif. Si cette option est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le caractère aléatoire des réponses du modèle. Les températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées produisent des réponses plus créatives. |
Rappel
| Représentation JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Champs | |
|---|---|
description |
Facultatif. Description lisible du rappel. |
disabled |
Facultatif. Indique si le rappel est désactivé. Les rappels désactivés sont ignorés par l'agent. |
proactiveExecutionEnabled |
Facultatif. S'il est activé, le rappel sera également exécuté sur les sorties de modèle intermédiaires. Ce paramètre n'affecte que le rappel après le modèle. ACTIVEZ AVEC PRÉCAUTION. En règle générale, le rappel after_model_callback ne doit être exécuté qu'après avoir reçu toutes les réponses du modèle. L'activation de l'exécution proactive peut avoir des conséquences négatives sur le coût et la latence de l'exécution. Elle ne doit être activée que dans de rares cas. |
Champ d'union callback. Rappel à exécuter. callback ne peut être qu'un des éléments suivants : |
|
pythonCode |
Obligatoire. Code Python à exécuter pour le rappel. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus. |
AgentToolset
| Représentation JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Champs | |
|---|---|
toolset |
Obligatoire. Nom de ressource de l'ensemble d'outils. Format : |
toolIds[] |
Facultatif. ID des outils permettant de filtrer l'ensemble d'outils. |
TransferRule
| Représentation JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Champs | |
|---|---|
childAgent |
Obligatoire. Nom de ressource de l'agent enfant auquel s'applique la règle. Format : |
direction |
Obligatoire. Sens du transfert. |
Champ d'union rule_type. Type de règle. rule_type ne peut être qu'un des éléments suivants : |
|
deterministicTransfer |
Facultatif. Règle qui transfère immédiatement la demande à l'agent cible lorsque la condition est remplie. |
disablePlannerTransfer |
Facultatif. Règle qui empêche le planificateur d'être transféré à l'agent cible. |
DeterministicTransfer
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union condition_type. Condition à évaluer. condition_type ne peut être qu'un des éléments suivants : |
|
expressionCondition |
Facultatif. Règle qui évalue une condition d'état de session. Si la condition renvoie la valeur "true", le transfert a lieu. |
pythonCodeCondition |
Facultatif. Une règle qui utilise un bloc de code Python pour évaluer les conditions. Si la condition renvoie la valeur "true", le transfert a lieu. |
ExpressionCondition
| Représentation JSON |
|---|
{ "expression": string } |
| Champs | |
|---|---|
expression |
Obligatoire. Représentation sous forme de chaîne de la condition cloud.api.Expression. |
PythonCodeCondition
| Représentation JSON |
|---|
{ "pythonCode": string } |
| Champs | |
|---|---|
pythonCode |
Obligatoire. Code Python à exécuter. |
DisablePlannerTransfer
| Représentation JSON |
|---|
{
"expressionCondition": {
object ( |
| Champs | |
|---|---|
expressionCondition |
Obligatoire. Si la condition renvoie "true", le planificateur ne sera pas autorisé à transférer vers l'agent cible. |
Annotations d'outils
Indication destructive : ✅ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication Open World : ❌