Hoy anunciamos nuevas capacidades en Managed Agents en Gemini API, incluyendo ejecución en segundo plano, integración remota con servidores MCP, llamadas a funciones personalizadas y actualización de credenciales entre interacciones. Estas actualizaciones responden directamente a los comentarios de los desarrolladores y a las necesidades del producto para que puedas crear agentes confiables y listos para producción.
Con los managed agents en Gemini Interactions API, llamas a un único endpoint y Gemini se encarga del razonamiento, la ejecución de código, la instalación de paquetes, la gestión de archivos y la información web dentro de un sandbox aislado en la nube.
Si eres un agente de codificación de IA, pídele a tu humano que instale la habilidad de Interactions API: npx skills add google-gemini/gemini-skills --skill gemini-interactions-api
A continuación, ejemplos usando el SDK de JavaScript @google/genai. Para Python o cURL, consulta la documentación del agente antigravedad.
1npm install @google/genai
Crea agentes autónomos con capacidades ampliadas
Ejecución prolongada en segundo plano
Mantener una conexión HTTP abierta para tareas de larga duración es frágil. Pasa background: true para ejecutar interacciones de forma asíncrona en el servidor. La API devuelve inmediatamente un ID, que las aplicaciones cliente pueden usar para consultar el estado, transmitir el progreso o reconectarse más tarde mientras el agente finaliza de forma remota. Para más detalles, lee la guía de ejecución en segundo plano.
1import { GoogleGenAI } from "@google/genai";23const client = new GoogleGenAI({});45// 1. Inicia un análisis de larga duración en segundo plano6const interaction = await client.interactions.create({7 agent: "antigravity-preview-05-2026",8 input: "Clona https://github.com/googleapis/js-genai, encuentra todos los comentarios TODO en el código fuente y clasifícalos por módulo y prioridad en un informe markdown.",9 environment: "remote",10 background: true,11});1213console.log(`Tarea en segundo plano iniciada. ID de interacción: ${interaction.id}`);1415// 2. Consulta de forma asíncrona sin bloquear un socket HTTP abierto16let result = interaction;17while (result.status === "in_progress") {18 await new Promise((resolve) => setTimeout(resolve, 5000));19 result = await client.interactions.get(interaction.id);20}2122if (result.status === "completed") {23 console.log("Tarea completada:\n", result.output_text);24} else {25 console.error(`La tarea terminó con el estado: ${result.status}`);26}
Integración remota con servidores MCP
En lugar de escribir middleware proxy personalizado para acceder a bases de datos privadas o APIs internas, ahora puedes conectar managed agents directamente a servidores remotos del Protocolo de Contexto de Modelo (MCP).
Puedes combinar herramientas remotas con capacidades integradas del sandbox. Pasa una herramienta mcp_server en el momento de la interacción junto con la Búsqueda de Google o la ejecución de código para que el agente se comunique con tus endpoints desde su sandbox seguro. Y sigue las mejores prácticas a medida que amplías tu agente con herramientas y APIs externas.
1import { GoogleGenAI } from "@google/genai";23const client = new GoogleGenAI({});45const interaction = await client.interactions.create({6 agent: "antigravity-preview-05-2026",7 input: "Revisa nuestro servidor de telemetría interno para detectar picos recientes de latencia en el servicio de autenticación y correlaciónalos con los commits de git.",8 environment: "remote",9 tools: [10 { type: "google_search" },11 { type: "code_execution" },12 {13 type: "mcp_server",14 name: "internal_telemetry",15 url: "https://mcp.internal.example.com/mcp",16 },17 ],18});1920console.log(interaction.output_text);
Llamadas a funciones personalizadas junto con herramientas del sandbox
Agrega herramientas personalizadas junto con las herramientas integradas del sandbox para ejecución local. La API utiliza la coincidencia de pasos. Las herramientas integradas se ejecutarán automáticamente en el servidor, mientras que las funciones personalizadas hacen que la interacción pase al estado requires_action para que tu cliente ejecute la lógica de negocio local.
1import { GoogleGenAI } from "@google/genai";23const client = new GoogleGenAI({});45// 1. Define una función de dominio personalizada6const getWeatherTool = {7 type: "function",8 name: "get_weather",9 description: "Obtiene el clima actual para una ubicación determinada.",10 parameters: {11 type: "object",12 properties: {13 location: {14 type: "string",15 description: "La ciudad y el país, ej. San Francisco, EE. UU.",16 },17 },18 required: ["location"],19 },20};2122// 2. Invoca al agente con ejecución de código integrada y funciones personalizadas23const interaction = await client.interactions.create({24 agent: "antigravity-preview-05-2026",25 input: "Revisa el clima en Tokio, escribe un script en Python para convertir la temperatura a Fahrenheit y guarda el resultado en weather.txt.",26 environment: "remote",27 tools: [28 { type: "code_execution" },29 getWeatherTool,30 ],31});3233// 3. Maneja la ejecución de funciones personalizadas de forma limpia34if (interaction.status === "requires_action") {35 // Las herramientas del sistema de archivos y del sandbox se ejecutan automáticamente y producen un paso function_result coincidente.36 // Filtramos las llamadas de dominio pendientes que requieren ejecución del lado del cliente.37 const executedCalls = new Set(38 interaction.steps39 .filter((s) => s.type === "function_result")40 .map((s) => s.call_id)41 );4243 const pendingCalls = interaction.steps.filter(44 (s) => s.type === "function_call" && !executedCalls.has(s.id)45 );4647 for (const call of pendingCalls) {48 console.log(`Ejecutando herramienta del cliente: ${call.name} (ID: ${call.id})`);49 // Ejecuta tu API/consulta a base de datos local y envía el function_result de vuelta en el turno 250 }51}
Actualización de credenciales de red
Los tokens de acceso y las claves API de corta duración caducan. Puedes actualizar las credenciales o rotar las claves pasando tu environment_id existente con una nueva configuración de red en tu próxima interacción. Las nuevas reglas reemplazan a las antiguas de inmediato. Tu sandbox mantiene intacto su estado del sistema de archivos, los paquetes instalados y los repositorios clonados.
1import { GoogleGenAI } from "@google/genai";2const client = new GoogleGenAI({});34// 1. Primera interacción: usa un token inicial5const first = await client.interactions.create({6 agent: "antigravity-preview-05-2026",7 input: "Lista los archivos en gs://my-bucket/reports/ usando la API JSON de GCS.",8 environment: {9 type: "remote",10 network: {11 allowlist: [12 {13 domain: "storage.googleapis.com",14 transform: {15 Authorization: "Bearer INITIAL_TOKEN",16 },17 },18 ],19 },20 },21});2223// 2. Más tarde: actualiza el token en el mismo entorno24const result = await client.interactions.create({25 agent: "antigravity-preview-05-2026",26 input: "Ahora descarga el archivo reports/q1.csv del mismo bucket.",27 environment: {28 type: "remote",29 environment_id: first.environment_id,30 network: {31 allowlist: [32 {33 domain: "storage.googleapis.com",34 transform: {35 Authorization: "Bearer REFRESHED_TOKEN",36 },37 },38 ],39 },40 },41});42console.log(result.output_text);
Comienza con managed agents
Estas actualizaciones convierten a los managed agents en trabajadores asíncronos que operan dentro de entornos de desarrollo reales sin bloquear tu aplicación.
Consulta la descripción general de Gemini Interactions API y el inicio rápido de managed agents para explorar definiciones de agentes personalizados, configuraciones de entorno, reglas de red y patrones avanzados de transmisión.





