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 prédéfini Antigravity, y compris à le configurer de manière dynamique. Il explique également comment gérer et réutiliser des environnements de bac à sable avec des ID d'environnement (env_id) et remplacer dynamiquement des configurations, par exemple des 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 Interaction.
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 Gemini Enterprise 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 Gemini Enterprise 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 Model Context Protocol (MCP), attribuez le rôle Utilisateur de l'outil MCP (
roles/mcp.toolUser) à votre compte utilisateur et au compte de service associé.
Interagir avec les agents Antigravity
Le moyen le plus simple d'utiliser l'API Managed Agents sur Agent Platform consiste à interagir directement avec l'agent de base first party Antigravity. Vous n'avez pas besoin de créer une ressource d'agent personnalisée. Vous pouvez appeler l'agent à la volée.
Pour lancer une interaction, spécifiez la cible de l'agent de base, telle que antigravity-preview-05-2026 (ou la dernière variante preview), et demandez un environnement distant à 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 : emplacement régional de vos interactions. Seule la région
globalest compatible.
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 streaming. Les éléments 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 de la conversation, 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 en streaming génère des objets InteractionSSEEvent. Le dernier événement interaction.complete contient l'environment_id et l'id d'interaction, 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 en streaming génère des objets d'événement. Le dernier événement interaction.complete contient l'environment_id et l'id d'interaction, 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 en savoir plus sur la récupération ou la liste des 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 définir explicitement l'environnement dans le bloc
environmentde votre requête d'interaction initiale.Exemple :
"environment": {"type": "remote"}
Vous pouvez configurer de manière dynamique les fonctionnalités de l'environnement de bac à sable lors de votre appel d'API d'interaction initial pour répondre aux 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.
Associer des compétences à l'aide du registre de compétences : fournissez une liste d'outils personnalisés, de scripts ou de compétences d'agent prépackagées pour fournir des fonctionnalités spécifiques ou votre workflow d'exécution. Consultez Registre des compétences.
Pour obtenir la liste des structures de configuration d'environnement et des exemples de gestion 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 l'ID de 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é. Pour en savoir plus sur la récupération ou la liste des agents personnalisés afin de trouver leurs ID, consultez Répertorier 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 streaming. Les éléments 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 de la conversation, 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 des conversations spécifiques. Dans les flux d'assistant multitours, vous pouvez conserver les fichiers locaux, le contexte d'exécution de code, les modifications du système, les bibliothèques de logiciels Open Source installées lors de l'exécution et l'historique des conversations d'une conversation à l'autre :
- 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 nouvel environnement de bac à sable standard. Utilisez cette option lors des interactions initiales. |
"environment": "env_CAEQ..." |
Réutilise le conteneur de bac à sable persistant existant, en conservant l'ensemble des bibliothèques, scripts, fichiers et é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 provenant des `sources` spécifiées, comme ceux stockés dans Cloud Storage. |
Pour envoyer une requête d'interaction ultérieure qui réutilise le même conteneur de bac à sable 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 lors de l'interaction 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 d'interaction renvoyé par l'interaction précédente.
- ENV_ID : ID d'environnement renvoyé par 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 de bac à sable existant. Utilisez previous_interaction_id pour poursuivre l'historique de la conversation.
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 directement la chaîne environment_id en tant que paramètre environment pour réutiliser un conteneur de bac à sable existant. Utilisez previous_interaction_id pour poursuivre l'historique de la conversation.
Remplacer les configurations pendant l'interaction
Bien que les définitions d'agents personnalisés 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 de la ressource d'agent sous-jacente.
Un cas d'utilisation courant consiste à remplacer de manière dynamique 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 requête 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 du domaine hôte MCP cible.
- MCP_HEADER_KEY : facultatif. Nom de la clé d'en-tête (par exemple,
Authorization). - MCP_HEADER_VALUE : facultatif. La 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 sur l'environnement de bac à sable Agent Platform
Découvrez le conteneur de bac à sable isolé, les autorisations et les packages/outils préinstallés.