Outil : create_agent
Crée un agent dans l'application spécifiée.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP create_agent.
| Requête 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 }' |
Schéma d'entrée
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 sera 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 fournis 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 fournis 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. S'il existe plusieurs appels au modèle, 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 fournis 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. S'il existe plusieurs appels au modèle, 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 fournis 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 fournis 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 fournis 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 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. |
validationErrors[] |
Uniquement en sortie. Erreurs ou configurations incorrectes dans l'agent pouvant affecter sa qualité. |
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 le rôle |
remoteA2aAgent |
Facultatif. Agent A2A distant à utiliser pour l'exécution de l'agent. |
RemoteDialogflowAgent
| Représentation JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| 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 aucun environnement n'est spécifié, 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.
|
languageCodeVariable |
Facultatif. Nom de la variable contenant le code de langue à utiliser pour la session Dialogflow. Si aucune valeur n'est spécifiée, le code de langue par défaut de l'agent Dialogflow sera utilisé. |
InputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
RemoteA2aAgent
| Représentation JSON |
|---|
{
"a2aConfig": {
object ( |
| Champs | |
|---|---|
a2aConfig |
Obligatoire. Configuration de la connexion A2A. |
RemoteA2aConfig
| Représentation JSON |
|---|
{ "apiAuthentication": { object ( |
| Champs | |
|---|---|
apiAuthentication |
Facultatif. Configuration de l'authentification pour appeler l'agent distant. Facultatif si la référence de registre gère déjà l'authentification. |
inputVariableMapping |
Facultatif. Mappage des noms de variables d'entrée de l'agent distant aux noms de variables GECX. Objet contenant une liste de paires |
outputVariableMapping |
Facultatif. Mappage des noms de variables de sortie de l'agent distant avec les noms de variables GECX. Objet contenant une liste de paires |
streamingEnabled |
Facultatif. Indique si le streaming est activé pour l'agent à distance. |
contextId |
Facultatif. Si ce champ n'est pas vide, les interactions avec l'agent A2A distant utiliseront cet ID de contexte. Ce champ context_id peut faire référence à une variable de session telle que |
Champ d'union agent_spec. Spécification de l'agent distant. agent_spec ne peut être qu'un des éléments suivants : |
|
agentCard |
Facultatif. Carte complète de l'agent définie de manière intégrée. |
agentRegistry |
Facultatif. Référence à l'agent dans Agent Registry. Format : |
AgentCard
| Représentation JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom d'agent lisible par l'humain. |
description |
Obligatoire. Description du domaine d'action/de l'espace de solution de l'agent. |
supportedInterfaces[] |
Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée. |
version |
Obligatoire. Version de l'agent. |
skills[] |
Obligatoire. Les compétences représentent une unité de capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir. |
AgentInterface
| Représentation JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Champs | |
|---|---|
url |
Obligatoire. URL où cette interface est disponible. Vous devez saisir une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatoire. La liaison de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont |
tenant |
ID du locataire à utiliser dans la requête lors de l'appel de l'agent. |
protocolVersion |
Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0" |
AgentSkill
| Représentation JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Champs | |
|---|---|
id |
Obligatoire. Identifiant unique de la compétence de l'agent. |
name |
Obligatoire. Nom de la compétence lisible par l'humain. |
description |
Obligatoire. Description détaillée de la compétence. |
tags[] |
Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence. |
examples[] |
Exemples de requêtes ou de scénarios que cette compétence peut traiter. |
inputModes[] |
Ensemble de types de supports d'entrée acceptés pour cette compétence, qui remplace les valeurs par défaut de l'agent. |
outputModes[] |
Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
ApiAuthentication
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
apiKeyConfig |
Facultatif. Configuration pour l'authentification par clé API. |
oauthConfig |
Facultatif. Configuration pour OAuth. |
serviceAgentIdTokenAuthConfig |
Facultatif. Configuration pour l'authentification par jeton d'identité générée à partir de l'agent de service CES. |
serviceAccountAuthConfig |
Facultatif. Configuration pour l'authentification du compte de service. |
bearerTokenConfig |
Facultatif. Configuration pour l'authentification par jeton de support. |
ApiKeyConfig
| Représentation JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Champs | |
|---|---|
keyName |
Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : Remarque : Vous devez attribuer le rôle |
requestLocation |
Obligatoire. Emplacement de la clé dans la requête. |
OAuthConfig
| Représentation JSON |
|---|
{
"oauthGrantType": enum ( |
| Champs | |
|---|---|
oauthGrantType |
Obligatoire. Types d'attribution OAuth. |
clientId |
Obligatoire. ID client du fournisseur OAuth. |
clientSecretVersion |
Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : Remarque : Vous devez attribuer le rôle |
tokenEndpoint |
Obligatoire. Point de terminaison de jeton chez le fournisseur OAuth à échanger contre un jeton d'accès. |
scopes[] |
Facultatif. Niveaux d'accès OAuth à accorder. |
ServiceAccountAuthConfig
| Représentation JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Champs | |
|---|---|
serviceAccount |
Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Le compte de service doit disposer du rôle |
scopes[] |
Facultatif. Niveaux d'accès OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut |
BearerTokenConfig
| Représentation JSON |
|---|
{ "token": string } |
| Champs | |
|---|---|
token |
Obligatoire. Jeton de support. Il doit respecter le format |
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, "thinkingLevel": enum ( |
| Champs | |
|---|---|
model |
Facultatif. Modèle LLM que l'agent doit utiliser. Si elle n'est pas définie, l'agent hérite du modèle de son agent parent. |
thinkingLevel |
Facultatif. Niveau de réflexion du modèle. |
Champ d'union
|
|
temperature |
Facultatif. Si elle 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 génèrent 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. Si elle est activée, 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 CETTE FONCTIONNALITÉ AVEC PRÉCAUTION. En règle générale, le rappel "après le modèle" 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. Doit être compris 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. Doit être compris 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. 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 la valeur "true", le planificateur ne sera pas autorisé à transférer la demande à l'agent cible. |
RequestLocation
l'emplacement de la clé API dans la requête ;
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non spécifié. Cette valeur ne doit pas être utilisée. |
HEADER |
Représente la clé dans l'en-tête HTTP. |
QUERY_STRING |
Représente la clé dans la chaîne de requête. |
OauthGrantType
Types d'attribution OAuth. Seule l'autorisation d'identifiants client est acceptée.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Représente le flux d'identifiants client. |
ThinkingLevel
Niveau de réflexion configuré pour le modèle.
| Enums | |
|---|---|
THINKING_LEVEL_UNSPECIFIED |
Le niveau de réflexion n'est pas spécifié. |
DEFAULT |
Niveau de réflexion par défaut. |
LOW |
Niveau de réflexion faible. |
MEDIUM |
Niveau de réflexion moyen. |
HIGH |
Niveau de réflexion élevé. |
Direction
Sens du transfert.
| Enums | |
|---|---|
DIRECTION_UNSPECIFIED |
Direction non spécifiée. |
PARENT_TO_CHILD |
Transférez l'agent parent vers l'agent enfant. |
CHILD_TO_PARENT |
Transférez de l'agent enfant vers l'agent parent. |
Schéma de sortie
Un agent sert de composant de base 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 fournis 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 fournis 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. S'il existe plusieurs appels au modèle, 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 fournis 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. S'il existe plusieurs appels au modèle, 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 fournis 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 fournis 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 fournis 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 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. |
validationErrors[] |
Uniquement en sortie. Erreurs ou configurations incorrectes dans l'agent pouvant affecter sa qualité. |
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 le rôle |
remoteA2aAgent |
Facultatif. Agent A2A distant à utiliser pour l'exécution de l'agent. |
RemoteDialogflowAgent
| Représentation JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| 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 aucun environnement n'est spécifié, 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.
|
languageCodeVariable |
Facultatif. Nom de la variable contenant le code de langue à utiliser pour la session Dialogflow. Si aucune valeur n'est spécifiée, le code de langue par défaut de l'agent Dialogflow sera utilisé. |
InputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
RemoteA2aAgent
| Représentation JSON |
|---|
{
"a2aConfig": {
object ( |
| Champs | |
|---|---|
a2aConfig |
Obligatoire. Configuration de la connexion A2A. |
RemoteA2aConfig
| Représentation JSON |
|---|
{ "apiAuthentication": { object ( |
| Champs | |
|---|---|
apiAuthentication |
Facultatif. Configuration de l'authentification pour appeler l'agent distant. Facultatif si la référence de registre gère déjà l'authentification. |
inputVariableMapping |
Facultatif. Mappage des noms de variables d'entrée de l'agent distant aux noms de variables GECX. Objet contenant une liste de paires |
outputVariableMapping |
Facultatif. Mappage des noms de variables de sortie de l'agent distant avec les noms de variables GECX. Objet contenant une liste de paires |
streamingEnabled |
Facultatif. Indique si le streaming est activé pour l'agent à distance. |
contextId |
Facultatif. Si ce champ n'est pas vide, les interactions avec l'agent A2A distant utiliseront cet ID de contexte. Ce champ context_id peut faire référence à une variable de session telle que |
Champ d'union agent_spec. Spécification de l'agent distant. agent_spec ne peut être qu'un des éléments suivants : |
|
agentCard |
Facultatif. Carte complète de l'agent définie de manière intégrée. |
agentRegistry |
Facultatif. Référence à l'agent dans Agent Registry. Format : |
AgentCard
| Représentation JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom d'agent lisible par l'humain. |
description |
Obligatoire. Description du domaine d'action/de l'espace de solution de l'agent. |
supportedInterfaces[] |
Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée. |
version |
Obligatoire. Version de l'agent. |
skills[] |
Obligatoire. Les compétences représentent une unité de capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir. |
AgentInterface
| Représentation JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Champs | |
|---|---|
url |
Obligatoire. URL où cette interface est disponible. Vous devez saisir une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatoire. La liaison de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont |
tenant |
ID du locataire à utiliser dans la requête lors de l'appel de l'agent. |
protocolVersion |
Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0" |
AgentSkill
| Représentation JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Champs | |
|---|---|
id |
Obligatoire. Identifiant unique de la compétence de l'agent. |
name |
Obligatoire. Nom de la compétence lisible par l'humain. |
description |
Obligatoire. Description détaillée de la compétence. |
tags[] |
Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence. |
examples[] |
Exemples de requêtes ou de scénarios que cette compétence peut traiter. |
inputModes[] |
Ensemble de types de supports d'entrée acceptés pour cette compétence, qui remplace les valeurs par défaut de l'agent. |
outputModes[] |
Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
ApiAuthentication
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
apiKeyConfig |
Facultatif. Configuration pour l'authentification par clé API. |
oauthConfig |
Facultatif. Configuration pour OAuth. |
serviceAgentIdTokenAuthConfig |
Facultatif. Configuration pour l'authentification par jeton d'identité générée à partir de l'agent de service CES. |
serviceAccountAuthConfig |
Facultatif. Configuration pour l'authentification du compte de service. |
bearerTokenConfig |
Facultatif. Configuration pour l'authentification par jeton de support. |
ApiKeyConfig
| Représentation JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Champs | |
|---|---|
keyName |
Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : Remarque : Vous devez attribuer le rôle |
requestLocation |
Obligatoire. Emplacement de la clé dans la requête. |
OAuthConfig
| Représentation JSON |
|---|
{
"oauthGrantType": enum ( |
| Champs | |
|---|---|
oauthGrantType |
Obligatoire. Types d'attribution OAuth. |
clientId |
Obligatoire. ID client du fournisseur OAuth. |
clientSecretVersion |
Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : Remarque : Vous devez attribuer le rôle |
tokenEndpoint |
Obligatoire. Point de terminaison de jeton chez le fournisseur OAuth à échanger contre un jeton d'accès. |
scopes[] |
Facultatif. Niveaux d'accès OAuth à accorder. |
ServiceAccountAuthConfig
| Représentation JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Champs | |
|---|---|
serviceAccount |
Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Le compte de service doit disposer du rôle |
scopes[] |
Facultatif. Niveaux d'accès OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut |
BearerTokenConfig
| Représentation JSON |
|---|
{ "token": string } |
| Champs | |
|---|---|
token |
Obligatoire. Jeton de support. Il doit respecter le format |
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, "thinkingLevel": enum ( |
| Champs | |
|---|---|
model |
Facultatif. Modèle LLM que l'agent doit utiliser. Si elle n'est pas définie, l'agent hérite du modèle de son agent parent. |
thinkingLevel |
Facultatif. Niveau de réflexion du modèle. |
Champ d'union
|
|
temperature |
Facultatif. Si elle 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 génèrent 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. Si elle est activée, 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 CETTE FONCTIONNALITÉ AVEC PRÉCAUTION. En règle générale, le rappel "après le modèle" 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. Doit être compris 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. Doit être compris 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. 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 la valeur "true", le planificateur ne sera pas autorisé à transférer la demande à l'agent cible. |
RequestLocation
l'emplacement de la clé API dans la requête ;
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non spécifié. Cette valeur ne doit pas être utilisée. |
HEADER |
Représente la clé dans l'en-tête HTTP. |
QUERY_STRING |
Représente la clé dans la chaîne de requête. |
OauthGrantType
Types d'attribution OAuth. Seule l'autorisation d'identifiants client est acceptée.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Représente le flux d'identifiants client. |
ThinkingLevel
Niveau de réflexion configuré pour le modèle.
| Enums | |
|---|---|
THINKING_LEVEL_UNSPECIFIED |
Le niveau de réflexion n'est pas spécifié. |
DEFAULT |
Niveau de réflexion par défaut. |
LOW |
Niveau de réflexion faible. |
MEDIUM |
Niveau de réflexion moyen. |
HIGH |
Niveau de réflexion élevé. |
Direction
Sens du transfert.
| Enums | |
|---|---|
DIRECTION_UNSPECIFIED |
Direction non spécifiée. |
PARENT_TO_CHILD |
Transférez l'agent parent vers l'agent enfant. |
CHILD_TO_PARENT |
Transférez de l'agent enfant vers l'agent parent. |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.
En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indice destructif : ✅ | Indice idempotent : ❌ | Indice en lecture seule : ❌ | Indice Open World : ❌