Ce guide explique comment interagir avec les agents déployés dans l'API Managed Agents sur Agent Platform à l'aide de l'API Interactions. Vous apprendrez à interagir avec des agents personnalisés créés à l'aide de l'API Agents et de l'agent de base Antigravity prédéfini, y compris à le configurer de manière dynamique. Il explique également comment gérer et réutiliser les environnements de bac à sable avec des ID d'environnement (env_id) et comment remplacer dynamiquement les configurations, par exemple les serveurs MCP (Model Context Protocol), lors des interactions.
Pour en savoir plus sur l'API, consultez la documentation de référence de l'API Interactions.
Avant de commencer
Avant de commencer à interagir avec les agents, configurez votre environnement :
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Agent Platform User (
roles/aiplatform.user) or Agent Platform Administrator (roles/aiplatform.admin)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Agent Platform User (
roles/aiplatform.user) or Agent Platform Administrator (roles/aiplatform.admin)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
Si votre agent utilise des outils Google Cloud MCP (Model Context Protocol), accordez le rôle Utilisateur d'outils MCP (
roles/mcp.toolUser) à votre compte utilisateur et au compte de service associé.
Interagir avec les agents Antigravity
La façon la plus simple d'utiliser l'API Managed Agents sur Agent Platform consiste à interagir directement avec l'agent de base Antigravity first party. Vous n'avez pas besoin de créer une ressource d'agent personnalisé. Vous pouvez appeler l'agent à la volée.
Pour lancer une interaction, spécifiez la cible de l'agent de base, par exemple antigravity-preview-05-2026 (ou la dernière variante preview), et demandez un environnement à distance à la volée :
REST
Variables de requête
Avant d'appeler l'API, remplacez les variables suivantes :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : région de vos interactions. Seule la région
globalest acceptée.
Méthode HTTP et URL :
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions
Corps JSON de la requête
{
"stream": true,
"background": true,
"store": true,
"agent": "antigravity-preview-05-2026",
"environment": {
"type": "remote"
},
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Who are you, can you execute python code? Show me an example."
}
]
}
]
}
Commande curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Api-Revision: 2026-05-20" \
-d '{
"stream": true,
"background": true,
"store": true,
"agent": "antigravity-preview-05-2026",
"environment": {"type": "remote"},
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Who are you, can you execute python code? Show me an example."
}
]
}
]
}'
Exemple de réponse
Après l'interaction initiale, le service renvoie une réponse en flux continu. Les interaction.id et environment_id inclus dans les données interaction.complete peuvent être utilisés dans les appels suivants pour maintenir l'état de la session. interaction.id permet de poursuivre l'historique des conversations, tandis que environment_id permet de réutiliser le même environnement de bac à sable. Pour en savoir plus, consultez Gérer l'état de la session.
event: interaction.complete
data: {
"interaction": {
"id": "1234567890",
"status": "completed",
"usage": {
"total_tokens": 51132,
"total_input_tokens": 48984,
"input_tokens_by_modality": [
{
"modality": "text",
"tokens": 48984
}
],
"total_output_tokens": 769,
"output_tokens_by_modality": [
{
"modality": "text",
"tokens": 769
}
],
"total_thought_tokens": 1379
},
"created": "2026-05-15T22:26:05Z",
"updated": "2026-05-15T22:26:05Z",
"environment_id": "env_CAE1234567890",
"object": "interaction"
},
"event_type": "interaction.complete"
}
Python
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
stream = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Who are you, can you execute python code? Show me an example.",
environment={"type": "remote"},
stream=True,
background=True,
store=True,
)
for event in stream:
print(event)
La réponse de flux génère des objets InteractionSSEEvent. L'événement interaction.complete final contient le environment_id et l'interaction id, que vous pouvez réutiliser dans les appels suivants pour conserver l'état de la session et l'historique des conversations. Pour en savoir plus, consultez Gérer l'état de la session.
JavaScript
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const stream = await client.interactions.create({
agent: "antigravity-preview-05-2026",
input: "Who are you, can you execute python code? Show me an example.",
environment: { type: "remote" },
stream: true,
background: true,
store: true,
});
for await (const event of stream) {
console.log(event);
}
La réponse de flux génère des objets d'événement. L'événement interaction.complete final contient environment_id et l'interaction id, que vous pouvez réutiliser dans les appels suivants pour conserver l'état de la session et l'historique des conversations. Pour en savoir plus, consultez Gérer l'état de la session.
Interagir avec un agent personnalisé créé à l'aide de l'API Agents
Pour interagir avec un agent personnalisé créé comme décrit dans Créer et gérer des agents, vous devez le spécifier à l'aide de son ID d'agent.
Pour savoir comment récupérer ou lister les agents personnalisés afin de trouver leurs ID, consultez Lister les agents.
Configuration et initialisation de l'environnement
Lorsque vous interagissez avec un agent personnalisé :
Comportement par défaut : si vous créez l'agent avec un environnement par défaut, spécifiez
AGENT_IDdans votre requête.Définissez explicitement l'environnement : si vous n'avez pas défini la configuration de l'environnement lors de la création de l'agent, vous devez le définir explicitement dans le bloc
environmentde votre demande d'interaction initiale.Exemple :
"environment": {"type": "remote"}
Vous pouvez configurer dynamiquement des fonctionnalités dans l'environnement bac à sable lors de votre appel d'API d'interaction initiale pour répondre à des exigences de tâches spécifiques. Exemple :
Associer une compétence à l'aide de Cloud Storage : associez des buckets Cloud Storage pour charger de grands volumes de données ou des répertoires de fichiers persistants dans le système de fichiers du conteneur.
Associez des compétences à l'aide du Skill Registry : fournissez une liste d'outils, de scripts ou de compétences d'agent préconfigurés personnalisés pour fournir des fonctionnalités spécifiques ou votre workflow d'exécution. Consultez Registre de compétences.
Pour obtenir la liste des structures de configuration d'environnement et des exemples de conservation de l'état des conversations multitours, consultez Gérer l'état de la session avec des ID d'environnement.
Envoyer une interaction à un agent personnalisé
Envoyez une interaction à votre agent personnalisé en spécifiant son ID :
REST
Variables de requête
Avant d'appeler l'API, remplacez les variables suivantes :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : seule la région
globalest acceptée. - AGENT_ID : identifiant personnalisé de la ressource de votre agent enregistré. Pour savoir comment récupérer ou lister des agents personnalisés afin de trouver leurs ID, consultez Lister les agents.
Méthode HTTP et URL :
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions
Corps JSON de la requête
{
"stream": true,
"background": true,
"store": true,
"agent": "AGENT_ID",
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Tell me the name of python packages used for data analysis."
}
]
}
]
}
Commande curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Api-Revision: 2026-05-20" \
-d '{
"stream": true,
"background": true,
"store": true,
"agent": "AGENT_ID",
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Tell me the name of python packages used for data analysis."
}
]
}
]
}'
Exemple de réponse
Après l'interaction initiale, le service renvoie une réponse en flux continu. Les interaction.id et environment_id inclus dans les données interaction.complete peuvent être utilisés dans les appels suivants pour maintenir l'état de la session. interaction.id permet de poursuivre l'historique des conversations, tandis que environment_id permet de réutiliser le même environnement de bac à sable. Pour en savoir plus, consultez Gérer l'état de la session.
data: {
"interaction": {
"id": "1234567890",
"status": "completed",
"usage": {
"total_tokens": 7558,
"total_input_tokens": 6822,
"input_tokens_by_modality": [
{
"modality": "text",
"tokens": 6822
}
],
"total_output_tokens": 278,
"output_tokens_by_modality": [
{
"modality": "text",
"tokens": 278
}
],
"total_thought_tokens": 458
},
"created": "2026-05-15T22:38:56Z",
"updated": "2026-05-15T22:38:56Z",
"environment_id": "env_CAE1234567890",
"object": "interaction"
},
"event_type": "interaction.complete"
}
Python
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
stream = client.interactions.create(
agent="AGENT_ID",
input="Tell me the name of python packages used for data analysis.",
stream=True,
background=True,
store=True,
)
for event in stream:
print(event)
JavaScript
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const stream = await client.interactions.create({
agent: "AGENT_ID",
input: "Tell me the name of python packages used for data analysis.",
stream: true,
background: true,
store: true,
});
for await (const event of stream) {
console.log(event);
}
Gérer l'état de la session et les interactions multitours
Par défaut, les interactions sont sans état, sauf si vous ciblez un conteneur d'environnement ou un historique de conversation spécifiques. Dans les flux d'assistant multitours, vous pouvez conserver les fichiers locaux, le contexte d'exécution du code, les modifications du système, les bibliothèques de logiciels Open Source installées au moment de l'exécution et l'historique des conversations :
- Pour poursuivre une conversation : transmettez l'ID de l'interaction précédente au paramètre
previous_interaction_id. - Pour continuer à utiliser un environnement créé : transmettez l'ID d'environnement renvoyé par l'interaction précédente au paramètre
environment.
Vous pouvez sélectionner des configurations d'environnement clés à l'aide des paramètres suivants dans le champ environment :
| Structure JSON | Description |
|---|---|
"environment": {"type": "remote"} |
Provisionne un environnement de bac à sable standard et vierge. Utilisez cette option lors des interactions initiales. |
"environment": "env_CAEQ..." |
Réutilise le conteneur bac à sable persistant existant, en conservant toutes les bibliothèques, tous les scripts, tous les fichiers et tous les états associés à cet ID d'environnement. |
"environment": {"type": "remote", "sources": [{"type": "gcs", "source": "gs://YOUR_BUCKET/YOUR_FILE", "target": "YOUR_TARGET_PATH"}]}
|
Provisionne un nouveau bac à sable distant et le précharge avec des compétences ou des fichiers personnalisés à partir des `sources` spécifiées, telles que celles stockées dans Google Cloud Storage. |
Pour envoyer une demande d'interaction ultérieure qui réutilise le même conteneur sandbox et poursuit une conversation, transmettez le environment_id renvoyé dans le champ environment et spécifiez previous_interaction_id. Les exemples suivants montrent comment poursuivre une session avec état lorsque vous interagissez avec l'agent.
REST
Variables de requête
Avant d'appeler l'API, remplacez les variables suivantes :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : seule la région
globalest acceptée. - AGENT_ID : identifiant personnalisé de votre ressource d'agent enregistré (ou
antigravity-preview-05-2026). - PREVIOUS_INTERACTION_ID : ID de l'interaction renvoyé par l'interaction précédente.
- ENV_ID : ID de l'environnement renvoyé lors de l'interaction précédente.
Méthode HTTP et URL :
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions
Corps JSON de la requête
{
"stream": true,
"background": true,
"store": true,
"agent": "AGENT_ID",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID",
"environment": "ENV_ID",
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "What did I ask you before and what did you do?"
}
]
}
]
}
Commande curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Api-Revision: 2026-05-20" \
-d '{
"stream": true,
"background": true,
"store": true,
"agent": "AGENT_ID",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID",
"environment": "ENV_ID",
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "What did I ask you before and what did you do?"
}
]
}
]
}'
Python
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
stream = client.interactions.create(
agent="AGENT_ID",
input="What did I ask you before and what did you do?",
previous_interaction_id="PREVIOUS_INTERACTION_ID",
environment="ENV_ID",
stream=True,
background=True,
store=True,
)
for event in stream:
print(event)
Dans le SDK Python, transmettez la chaîne environment_id directement en tant que paramètre environment pour réutiliser un conteneur sandbox existant. Utilisez previous_interaction_id pour continuer l'historique des conversations.
JavaScript
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const stream = await client.interactions.create({
agent: "AGENT_ID",
input: "What did I ask you before and what did you do?",
previous_interaction_id: "PREVIOUS_INTERACTION_ID",
environment: "ENV_ID",
stream: true,
background: true,
store: true,
});
for await (const event of stream) {
console.log(event);
}
Dans le SDK JavaScript, transmettez la chaîne environment_id directement en tant que paramètre environment pour réutiliser un conteneur sandbox existant. Utilisez previous_interaction_id pour continuer l'historique des conversations.
Remplacer les configurations lors de l'interaction
Bien que les définitions d'agent personnalisé incluent généralement des configurations par défaut pour les outils, les compétences et les connexions tierces, vous pouvez ajuster ces définitions de manière dynamique pour chaque interaction sans modifier la configuration des ressources de l'agent sous-jacent.
Un cas d'utilisation courant consiste à remplacer dynamiquement les connexions aux serveurs MCP (Model Context Protocol) au moment de l'exécution. Tous les outils ou serveurs MCP spécifiés dans le corps de la requête d'interaction remplacent complètement les outils préconfigurés de l'agent pendant la durée de ce tour d'interaction.
Pour remplacer ou définir un serveur MCP au moment de l'interaction, ajoutez un outil de type mcp_server
dans la liste tools de votre demande d'interaction :
REST
Variables de requête
Avant d'appeler l'API, remplacez les variables suivantes :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : emplacement de votre interaction. Seule la région
globalest acceptée. - AGENT_ID : identifiant personnalisé de votre ressource d'agent.
- MCP_SERVER_URL : URL de la passerelle HTTP distante du nouveau serveur MCP.
- MCP_SERVER_NAME : libellé descriptif pour le domaine hôte MCP cible.
- MCP_HEADER_KEY : facultatif. Nom de la clé d'en-tête (par exemple,
Authorization). - MCP_HEADER_VALUE : facultatif. Valeur de l'identifiant (par exemple,
Bearer <token>).
Méthode HTTP et URL :
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions
Corps JSON de la requête
{
"stream": true,
"background": true,
"store": true,
"agent": "agents/AGENT_ID",
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Analyze our database and summarize recent purchase events."
}
]
}
],
"tools": [
{
"type": "mcp_server",
"url": "MCP_SERVER_URL",
"name": "MCP_SERVER_NAME",
"headers": {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE"
}
}
]
}
Commande curl
curl -X POST "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/interactions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Api-Revision: 2026-05-20" \
-d '{
"stream": true,
"background": true,
"store": true,
"agent": "agents/AGENT_ID",
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Analyze our database and summarize recent purchase events."
}
]
}
],
"tools": [
{
"type": "mcp_server",
"url": "MCP_SERVER_URL",
"name": "MCP_SERVER_NAME",
"headers": {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE"
}
}
]
}'
Python
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
from google import genai
client = genai.Client(
vertexai=True,
project="PROJECT_ID",
location="global",
)
stream = client.interactions.create(
agent="AGENT_ID",
input="Analyze our database and summarize recent purchase events.",
tools=[
{
"type": "mcp_server",
"url": "MCP_SERVER_URL",
"name": "MCP_SERVER_NAME",
"headers": {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE"
},
}
],
stream=True,
background=True,
store=True,
)
for event in stream:
print(event)
JavaScript
Avant d'exécuter ce code, définissez les variables décrites dans l'onglet "REST".
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
vertexai: true,
project: "PROJECT_ID",
location: "global",
});
const stream = await client.interactions.create({
agent: "AGENT_ID",
input: "Analyze our database and summarize recent purchase events.",
tools: [
{
type: "mcp_server",
url: "MCP_SERVER_URL",
name: "MCP_SERVER_NAME",
headers: {
"MCP_HEADER_KEY": "MCP_HEADER_VALUE",
},
},
],
stream: true,
background: true,
store: true,
});
for await (const event of stream) {
console.log(event);
}
Étapes suivantes
Présentation de l'API Managed Agents sur Agent Platform
Découvrez l'API Managed Agents sur Agent Platform, un environnement orienté REST basé sur la configuration pour créer des agents autonomes.
API Managed Agents dans l'environnement bac à sable Agent Platform
Découvrez le conteneur bac à sable isolé, les autorisations et les packages/outils préinstallés.