Gemini Managed Agents: monitoreo de marca programado con MCP remoto

Gemini Managed Agents vigila una marca con Triggers y el MCP remoto de EveryInfra: 14 llamadas reales, noticias en español y datos a 0,003 USD por ronda.

Ilustración a mano: un chip con una estrella de cuatro puntas delante de un gran dial con una aguja amarilla que apunta hacia arriba; un teléfono con un feed, un montón de reseñas y un periódico doblado se conectan al chip con cables, y abajo a la derecha sale un portapapeles con una lista.

El 14 de noviembre de 2026 a las 00:57, hora de Singapur, pedimos a Google Noticias en español las noticias de la última semana sobre Anker en España. Usamos el servidor MCP remoto de EveryInfra con la misma forma de petición que envía la herramienta mcp_server de Gemini Managed Agents. Volvieron 20 artículos, el máximo de una llamada. La mitad eran ofertas y rebajas, y Gizmodo en Español firmaba 6 de ellos. Tres no hablaban de la marca: eran notas de economía argentina sobre el «punto Anker», un término de política monetaria.

La misma consulta para México devolvió 15 de los mismos 20 artículos. Un agente de monitoreo de marca que lee solo el título de cada resultado mezclaría ofertas, notas ajenas y noticias reales en el mismo informe. Por eso este artículo dedica tanto espacio a filtrar lo que trae el agente como a conectarlo.

El lado de EveryInfra es real. Entre las 00:18 y las 00:57 del 14 de noviembre de 2026, hora de Singapur, usamos una clave de EveryInfra contra https://api.everyinfra.com/mcp. Enviamos un saludo inicial, dos peticiones tools/list y 14 peticiones tools/call. Las primeras 11 fueron tres rondas para Reddit, Trustpilot y noticias en inglés, a las 00:18, 00:34 y 00:50. Las otras 3, a las 00:57, fueron consultas de noticias en español, y las dos de España y México aparecen más abajo. Otra fue una prueba de youtube/search que no entra en el plan. También hicimos una llamada REST de comparación. Guardamos cada respuesta original, así que cada número se puede recalcular.

El lado de Gemini es distinto. No abrimos un proyecto de pago de la Gemini API ni creamos un agente o un Trigger reales. Todo bloque de código de Gemini en este artículo es un ejemplo de configuración. Sigue el texto de ai.google.dev tal como lo leímos el 14 de noviembre de 2026. El costo del modelo de Gemini es una estimación con precios públicos y los bytes que medimos, no una factura.

Ilustración de una sala de cristal que flota sobre nubes. Dentro, un brazo robótico reparte tarjetas de tres cintas transportadoras en dos cajas, una llena y otra con pocas tarjetas. En la pared exterior cuelga un reloj. Una tubería con un candado entra por el techo, y solo esa tubería es verde azulado.
Un agente gestionado vive en un sandbox que aloja Google y despierta según un horario. Los datos entran por una tubería con clave, y la clave se queda fuera de la sala.

Qué es Gemini Managed Agents: la cronología de 2026

Gemini Managed Agents es la función de agentes alojados de la Gemini API. Una sola llamada a la API arranca un agente en un sandbox Linux que aloja Google. El agente razona, ejecuta código, maneja archivos y usa la web. Las notas de la versión de la Gemini API fijan el lanzamiento el 19 de mayo de 2026, como vista previa pública junto con el agente general Antigravity (Notas de la versión de la Gemini API, 2026-05-19). La entrada del blog de Google lo resume así: una llamada arranca un agente que razona y ejecuta código en un entorno Linux aislado y temporal (Blog de Google: Build managed agents with the Gemini API).

La página de resumen de agentes sigue marcando «Public Preview». También pide revisar las acciones y la salida del agente antes de usarlo en flujos sensibles (Resumen de agentes: seguridad y buenas prácticas).

En la API, la entrada es la Interactions API. Su documentación dice que está disponible de forma general desde junio de 2026 y que es la interfaz recomendada para proyectos nuevos. El servidor puede guardar el estado de la conversación, y las tareas largas corren en segundo plano con background=true (Resumen de la Interactions API).

Casi todos los cambios que importan aquí ocurrieron en los dos últimos meses. Estos son, por fecha:

FechaCambioQué significa para un agente de monitoreoFuente
2026-05-19Managed Agents y antigravity-preview-05-2026 en vista previa públicaPunto de partida. El modelo por defecto era Gemini 3.5 FlashNotas de la versión
2026-09-17Sale antigravity-preview-09-2026 y la versión anterior se apaga el 5 de octubre. Las herramientas de archivos usan parámetros en PascalCaseEl código que solo lee output_text cambia el nombre del agente. El que interpreta llamadas a herramientas debe reescribirseNotas de la versión
2026-10-19El repositorio oficial de plantillas pasa todas las plantillas al agente base 09-2026Los proyectos que parten de una plantilla ya usan la versión nuevaCommits del repositorio de plantillas
2026-10-27Beta de la CLI de la Gemini API (gemini-api), que ejecuta agentes gestionados desde la terminalUn script con cron o una tarea de CI puede llamar al agente sin código de SDKNotas de la versión
2026-11-10Gemini 4 Carbon disponible, 2 USD de entrada y 10 USD de salida hasta el 30 de noviembreEs el modelo más potente. La página de precios fija 4 USD de entrada y 20 USD de salida desde el 1 de diciembreNotas de la versión, Precios: Gemini 4 Carbon
2026-11-12Gemini 4 Hydrogen disponible y modelo por defecto del agente AntigravityUn agente sin agent_config.model se cobra a precio de Hydrogen desde ese díaNotas de la versión

La última fila toca la factura. La página del agente Antigravity dice que antigravity-preview-09-2026 usa gemini-4-hydrogen si no envías agent_config. Las otras opciones son Carbon, Argon, 3.8 Flash, 3.6 Flash y 3.5 Flash-Lite (Agente Antigravity: elección de modelo). Un agente con nombre, guardado con agents.create, fija su modelo al crearse y no se puede cambiar al llamarlo (Agentes propios: limitaciones). Si creaste un agente antes del 12 de noviembre sin indicar modelo, su precio cambió ese día. Revísalo.

Carbon merece una nota aparte. La página de precios dice que Carbon no está en el nivel gratuito. Los precios de 2 USD de entrada y 10 USD de salida solo valen hasta el 30 de noviembre. Desde el 1 de diciembre, la entrada cuesta 4 USD y la salida 20 USD por millón de tokens (Precios: Gemini 4 Carbon). Ese precio de entrada es 2,7 veces el de Hydrogen. Si un monitor diario tiene Carbon fijado, los mismos tokens costarán en diciembre el doble que en noviembre.

El trabajo de monitoreo en cuatro pasos

Nuestro agente hace una sola cosa. Cada día lee el contenido público nuevo sobre Anker en tres fuentes, elige lo que una persona debe ver y escribe un informe breve. Anker es una marca pública de baterías externas, auriculares y baterías para el hogar, con venta en España, México y Argentina. En junio de 2025 retiró más de un millón de baterías externas en Estados Unidos por un problema en las celdas (Aviso de retirada de la CPSC de EE. UU., 2025-06-12). Un equipo de marca tiene motivos reales para revisarla cada día.

Elegimos tres de las cuatro capacidades candidatas: reddit/search, trustpilot/reviews y google_news/search. Dejamos fuera youtube/search. Reddit muestra lo que los usuarios comentan por su cuenta. Trustpilot muestra reseñas después de la compra. Google Noticias muestra lo que publican los medios y la propia marca. Cada una tiene su página en EveryInfra: búsqueda en Reddit, reseñas de Trustpilot y búsqueda en Google Noticias. Las páginas generales son API de datos de Reddit, API de datos de Trustpilot y API de datos de Google Noticias.

Flujo animado con cuatro estaciones que se iluminan por turno. Estación 1: un Trigger despierta con cron a las 09:00, hora de Singapur. Estación 2: el agente llama tres veces a everyinfra_call_api por mcp_server para posts de Reddit, reseñas de Trustpilot de 7 días y noticias de un día. Estación 3: lee seen_ids.json en el sandbox y deja solo lo nuevo. Estación 4: escribe el informe del día en la carpeta briefings y actualiza seen_ids.json. El tubo de la estación 2 es verde azulado y una nota dice que el proxy de salida añade la clave.

Cada paso tiene un responsable. En el primero, los Triggers de Gemini despiertan al agente con una expresión cron y una zona horaria. Cada ejecución reutiliza el mismo entorno, así que los archivos de la ronda anterior siguen ahí (Agente Antigravity: Triggers). En el segundo, el agente llama a everyinfra_call_api una vez por plataforma a través del servidor MCP remoto. En el tercero, compara ids de posts, ids de reseñas y URL de noticias con seen_ids.json y se queda solo con lo nuevo.

La hora sirve para ordenar, no para decidir qué es nuevo. El posted_at de un post de Reddit puede no coincidir con el momento en que aparece en la búsqueda. En el cuarto paso, el agente escribe el informe en la carpeta briefings/. Separa las reseñas nuevas de una estrella, los posts sobre falsificaciones o fallos y la cobertura de prensa. Después añade los ids del día a seen_ids.json.

Copiamos esta estructura de la plantilla News Curator del repositorio oficial de Google. Esa plantilla también corre con un Trigger y revisa Google News, Hacker News y Medium. Guarda seen_items.json en el entorno persistente para no repetir noticias, y escribe curation_history.csv para seguir los conteos de cada ronda (Plantilla News Curator). Su README dice que el entorno persistente de un Trigger es a la vez memoria y personalización. Sus tres fuentes no piden cuenta ni token, y su lista de dominios permitidos tiene tres entradas. Reddit y Trustpilot no están entre esas fuentes, por eso conectamos un servidor MCP de datos.

gemini managed agents api: conectar un servidor MCP remoto con mcp_server, credential y allowed_tools

La sección «MCP servers» de la página del agente Antigravity enumera todos los campos. type siempre es mcp_server. name solo admite minúsculas, dígitos, guiones bajos o guiones. url es la dirección del servidor, headers puede llevar la cabecera de autenticación y allowed_tools limita las herramientas que el agente puede usar. Si omites allowed_tools, todas quedan abiertas. El único transporte es Streamable HTTP (Agente Antigravity: MCP servers).

La sección de limitaciones de la misma página añade dos trampas. El transporte SSE no está soportado. Una mayúscula en name devuelve un 400 Bad Request genérico, y el mensaje no dice que el problema es el nombre (Agente Antigravity: limitaciones). Conviene validar las minúsculas en cualquier script que genere estas configuraciones.

Captura de la sección MCP servers de la página del agente Antigravity en ai.google.dev. Una tabla muestra cinco campos: type, name, url, headers y allowed_tools. La fila de name dice que debe ir en minúsculas y cumplir ^[a-z0-9_-]+$, y un recuadro verde azulado la marca.
La documentación de Gemini exige un name en minúsculas para mcp_server. Una mayúscula devuelve un 400 sin motivo. Captura del 14 de noviembre de 2026 Google AI for Developers

La dirección del servidor MCP remoto de EveryInfra es https://api.everyinfra.com/mcp. Usa Authorization: Bearer <tu clave> y cumple estas reglas. Funciona con Streamable HTTP. Nuestro initialize de las 00:19:44 tardó 0,145 segundos, y la versión de protocolo acordada fue 2025-06-18. La clave puede ir en dos sitios. Lo más simple es escribirla en headers, pero así aparece en cada petición y queda en tu código y en tus registros.

La documentación recomienda Credentials. Primero guardas una credencial de tipo bearer_token con POST /credentials. Después escribes "credential": "<id de la credencial>" en la entrada mcp_server. Un proxy de salida añade la cabecera en cada petición. El valor es de solo escritura y ningún endpoint lo devuelve (Credentials: uso con servidores MCP). Un bearer_token envía Authorization: Bearer <token> por defecto, y header_name y prefix lo pueden cambiar (Credentials: Bearer token). EveryInfra usa el formato por defecto.

Dónde vive la claveQué escribesQuién puede leerla despuésNuestra opinión
headers en la entrada mcp_server"headers": {"Authorization": "Bearer <clave>"}Quien vea tu código, tus registros o las peticionesSolo para una primera prueba local
Una credencial bearer_token"credential": "everyinfra-key"Nadie: el valor es de solo escrituraLa opción para cualquier agente programado
Una credencial en la lista de dominios permitidosEntrada de allowlist para api.everyinfra.com con la credencialNadieLa opción para la vía B, con un script que llama a REST

Este es un ejemplo de configuración. No lo ejecutamos en el lado de Gemini. Sigue la documentación tal como la leímos el 14 de noviembre de 2026. La primera parte guarda la credencial una vez. La segunda ejecuta una ronda a mano para comprobar que el agente llega a los datos:

python
# Ejemplo de configuración: no ejecutado en Gemini. Sigue ai.google.dev leído el 2026-11-14
import os
from google import genai

client = genai.Client(http_options={"api_version": "v1beta"})

# 1) Guardar la clave de EveryInfra como credencial de solo escritura
client.credentials.create(
    id="everyinfra-key",
    type="bearer_token",
    token=os.environ["EVERYINFRA_API_KEY"],   # envía Authorization: Bearer <token> por defecto
)

# 2) Una ronda manual: solo everyinfra_call_api queda abierta
interaction = client.interactions.create(
    agent="antigravity-preview-09-2026",
    agent_config={"type": "antigravity", "model": "gemini-3.5-flash-lite", "max_total_tokens": 120000},
    environment="remote",
    tools=[
        {"type": "code_execution"},
        {
            "type": "mcp_server",
            "name": "everyinfra",                  # solo minúsculas; una mayúscula da un 400 sin motivo
            "url": "https://api.everyinfra.com/mcp",
            "credential": "everyinfra-key",
            "allowed_tools": ["everyinfra_call_api"],
        },
    ],
    input=open("prompt_informe_marca.md").read(),
)
print(interaction.status, interaction.usage.total_tokens)
print(interaction.output_text)

Nuestro tools/list de las 00:18 devolvió 12 herramientas en 16.250 bytes. La definición de everyinfra_call_api sola ocupa 1695 bytes. Con everyinfra_get_job y everyinfra_list_capabilities, las tres ocupan 3309 bytes. La página de precios de Gemini dice que las declaraciones de funciones y las instrucciones de sistema de las herramientas se cobran como tokens (Precios: Gemini 4 Hydrogen). La guía de tokens de Google estima unos 4 caracteres por token (Guía de tokens).

Herramientas permitidasBytes de definiciónTokens a 4 caracteres por tokenTokens en una ronda de cuatro pasos
Las 12 herramientas de EveryInfra16.250unos 4063unos 16.252
everyinfra_call_api, everyinfra_get_job, everyinfra_list_capabilities3309unos 827unos 3308
Solo everyinfra_call_api1695unos 424unos 1696

El agente lleva estas definiciones en cada paso, así que una ronda de cuatro pasos cambia en 14.556 tokens. El monitoreo de marca no necesita herramientas de tickets, enlaces de recarga ni tipos de CAPTCHA. Una sola herramienta ahorra dinero y le quita al modelo una ocasión de elegir mal. Si una capacidad lenta necesita mode=async, añade otra vez everyinfra_get_job. Leer el resultado de una tarea no cuesta nada.

max_total_tokens es el interruptor de presupuesto del agente Antigravity. Cuando los tokens de entrada, salida y razonamiento llegan a esa cifra, el agente se detiene y devuelve status: "incomplete". Los tokens en caché no cuentan. La documentación habla de un límite aproximado, así que el total real puede pasarse un poco (Agente Antigravity: control de presupuesto). Ponlo en toda tarea programada sin supervisión. Un bucle que se tuerce puede gastar el presupuesto de un día entero. La guía de AI Studio da el mismo aviso: un prompt puede llevar a un consumo de tokens sin tope, así que indica al agente cuándo parar (Agentes en AI Studio: consumo de tokens).

Hay un punto que la documentación no aclara. No sabemos si las peticiones de mcp_server también pasan por la lista network.allowlist del sandbox. El resumen de agentes dice que el tráfico de salida está abierto por defecto y que una lista de dominios permitidos lo puede restringir (Resumen de agentes: acceso a la red). La página de Credentials dice que los servidores MCP y la lista usan el mismo campo credential y las mismas reglas de prioridad. No lo probamos en Gemini. Por eso el ejemplo de Trigger de más abajo incluye api.everyinfra.com en la lista. Así funciona en los dos casos.

Un viaje de ida y vuelta real: qué devolvieron tools/list y tools/call

Detrás del agente, la herramienta mcp_server de Gemini sigue los tres pasos estándar de MCP. Envía un saludo initialize, pide las definiciones con tools/list y ejecuta herramientas con tools/call. En la especificación de MCP, Streamable HTTP significa que el cliente envía peticiones HTTP POST a una sola dirección. El servidor responde con JSON o con un flujo SSE (Especificación MCP: Transports, 2025-06-18). Escribimos un cliente corto en Python que envía las mismas peticiones en el mismo orden. Así recorremos antes las peticiones que enviaría un agente de Gemini. Este es el cuerpo del tools/call de las 00:18, con la misma estructura de argumentos que usa un agente de Gemini:

json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "everyinfra_call_api",
    "arguments": {
      "platform": "reddit",
      "action": "search",
      "params": {"keyword": "Anker", "sort": "newest"}
    }
  }
}

El campo result.content[0].text de la respuesta lleva una cadena JSON con un arreglo results y un objeto billing. En reddit/search, billing.charged_usd fue 0,000792, igual que price_usd en el catálogo. Cada post trae campos como id, url, title, text, community, like_count, comment_count y posted_at, que coinciden con response_fields del catálogo. Tomamos todos los parámetros del catálogo, que leímos a las 00:17:49 del 2026-11-14, hora de Singapur.

reddit/search acepta sort=newest y cubre el último mes. trustpilot/reviews pide el dominio web de la empresa en company, su parámetro date tiene cinco valores como last7days, y una llamada devuelve hasta 200 reseñas. google_news/search acepta time_window con hour, day, week, month o year, y también country y language con códigos de dos letras. Una llamada devuelve hasta 20 artículos.

Captura de una respuesta real de tools/call del servidor MCP remoto de EveryInfra. Una tarjeta de código oscura despliega el campo text de result.content. Se ven platform reddit, action search, count 24 y charged_usd 0.000792 en billing, con recuadros verde azulado en count y charged_usd. Los nombres de autor están ocultos.
La respuesta real de reddit/search de las 00:18:47: 24 posts, 0,000792 USD cobrados. Captura de nuestra respuesta original Respuesta real del MCP remoto de EveryInfra

En las tres rondas en inglés hicimos 9 llamadas tools/call correctas para estas tres capacidades y una llamada REST de comparación. A las 00:18:58, una llamada a trustpilot/reviews devolvió un error, no se cobró y funcionó al repetirla a las 00:19:45. La tabla recoge las llamadas correctas. El total fue 0,009711 USD:

RondaEnvío (hora de Singapur)CapacidadParámetros claveElementosTiempo (s)Cobro (USD)
100:18:47reddit/searchnewest244,90,000792
100:19:06google_news/searchtime_window week202,10,000792
100:19:45trustpilot/reviewslast7days944,70,001389
200:34:21reddit/searchnewest245,90,000792
200:34:35trustpilot/reviewslast7days941,30,001389
200:35:24google_news/searchtime_window day202,00,000792
300:50:03reddit/searchnewest245,40,000792
300:50:16trustpilot/reviewslast7days1048,00,001389
300:51:12google_news/searchtime_window day201,90,000792
300:51:32google_news/search (REST)time_window day202,90,000792
Total0,009711

Los tiempos varían mucho. google_news/search tardó unos 2 segundos cada vez, entre 1,9 y 2,1. reddit/search tardó entre 4,9 y 5,9 segundos. trustpilot/reviews pasó de 40 segundos las tres veces: 44,7, 41,3 y 48,0. Un Trigger de Gemini tiene un tiempo límite por defecto de 600 segundos por ejecución (Agente Antigravity: crear un Trigger). Las tres llamadas suman cerca de un minuto, lejos de ese límite. Si un día vigilas una docena de marcas con Trustpilot en cada una, haz la cuenta o sube execution_timeout_seconds.

Gráfico de barras horizontales con el tiempo de cada llamada real en segundos, enviadas desde Singapur y ordenadas de mayor a menor: trustpilot/reviews 48,0, 44,7 y 41,3 segundos, reddit/search 5,9, 5,4 y 4,9 segundos, google_news/search 2,1, 2,0 y 1,9 segundos. Las tres barras de Trustpilot son verde azulado.

Una respuesta con error no se cobra, y el agente puede repetir la llamada. Aun así, conviene una regla en el prompt: si una fuente no trae datos en una ronda, el informe dice «no se obtuvo». No dice «sin reseñas negativas».

Cada cuánto debe correr cada fuente

El número de ejecuciones diarias depende de la fuente más rápida. Con la primera ronda medimos cuánto tiempo cubre una llamada de cada fuente:

FuenteParámetrosElementos devueltosMás antiguo (UTC)Más nuevo (UTC)Horas cubiertasLlamadas mínimas por día
reddit/searchAnker, newest2413 nov 06:4613 nov 14:488,043
trustpilot/reviewsanker.com, last7days97 nov 19:2811 nov 11:3888,181
google_news/searchAnker, week206 nov 17:1713 nov 15:10165,89ver abajo

La fila de Reddit marca el ritmo. Los 24 posts más nuevos cubren solo 8,04 horas, así que hacen falta al menos 3 llamadas en 24 horas para no dejar huecos. La segunda ronda, a las 00:34, cubrió 9,47 horas, y la tercera, a las 00:50, cubrió 9,22. Las tres rondas quedaron entre 8 y 10 horas, de modo que tres ejecuciones al día es el mínimo. Las tres rondas cayeron en los mismos 33 minutos pasada la medianoche en Singapur, así que miden un solo tramo, de la mañana a la tarde en UTC. Durante el día en Estados Unidos se publica más rápido, y la ventana puede ser más corta. Solo medimos ese tramo.

De una ronda a otra, el post más nuevo pasó de las 14:48 a las 16:23 y luego a las 16:43 UTC. El más antiguo pasó de las 06:46 a las 06:55 y luego a las 07:30. Los dos extremos de la ventana avanzan: cada post nuevo que entra por arriba empuja uno viejo fuera por abajo.

Trustpilot es el caso contrario. Tenía 9 reseñas en 7 días. Una llamada diaria sobra, y una cada dos o tres días tampoco perdería nada.

Gráfico de barras horizontales en escala logarítmica, donde cada paso es 10 veces mayor. Horas que cubre una llamada: reddit/search 8,0 horas, google_news/search con ventana de un día 21,5 horas, trustpilot/reviews 88,2 horas, google_news/search con ventana de una semana 165,9 horas. La barra de Reddit es verde azulado.

Además de la cobertura cuenta la rapidez. La reseña de una estrella de la tercera ronda apareció en los resultados 14 minutos después de publicarse. Si solo quieres cobertura completa, llama una vez al día en la ronda de las 09:00, por 0,001389 USD diarios. Si quieres ver una mala reseña en pocas horas, llama cada 8 horas como con Reddit. Eso suma 2 × 0,001389 = 0,002778 USD al día, o 0,083 USD cada 30 días.

La ventaja del agente es un solo informe con Reddit, noticias y reseñas. Junto a una reseña de una estrella puedes ver si en Reddit alguien cuenta el mismo fallo con el mismo modelo. El costo extra de datos es pequeño frente al del modelo. Lo que sí pesa es la entrada del modelo: cada ronda extra le hace leer otra respuesta de Trustpilot de unos 11 KB, cerca de 2800 tokens a 4 caracteres por token.

También leímos el texto de las 9 reseñas de Trustpilot de la primera ronda. Las estrellas se fueron a los extremos: 3 reseñas de una estrella y 6 de cinco, ninguna intermedia. Por contenido, el reparto cambia:

EstrellasReseñasDe qué trataPaís
Una1Pedido de una SOLIX C2000 con batería adicional en la web de Anker. La página decía «en stock», pero el pedido no salió a tiempoReino Unido
Una1Más de un mes sin recibir el pedido, con promesas repetidas del soporteEE. UU.
Una1PowerCore III Elite 26K: los puertos USB-A fallaron a los 3 meses. Sin cambio porque la vendió un terceroFrancia
Cinco3Atención al cliente: auriculares nuevos al día siguiente, un problema de envío resuelto por el soporteReino Unido, Países Bajos, EE. UU.
Cinco3El producto: auriculares y cargadores que duran. Una reseña empieza con el nombre completo de la batería ZoloReino Unido, Australia, EE. UU.

Dos de las 3 reseñas de una estrella hablan de pedidos y envíos, y solo una de un fallo del producto. Tres de las 6 de cinco estrellas elogian la atención al cliente. Así, 5 de las 9 reseñas tratan de servicio y entrega, no del producto. Si un equipo manda cada reseña de una estrella a producto, dos llegan a quien no toca. Conviene ordenar primero por tema (fallo del producto, pedido y envío, posventa) y después por estrellas. La reseña nueva de una estrella de la tercera ronda, sobre un cargador A2697 y una disputa por cambio o reembolso, también es de posventa.

La fila de Google Noticias tiene otro problema: llega al tope. La ventana de una semana devolvió 20 artículos, el máximo de una llamada. Esa semana hubo más de 20 noticias sobre Anker en inglés. Reseñas, guías de compra y ofertas de Black Friday ocuparon casi todo. BGR firmaba 5 artículos y el blog de Anker, 3.

Los 20 artículos iban del 6 al 13 de noviembre, y solo 2 caían en el último día: uno de PCMag y otro de SlashGear. En la segunda ronda, a las 00:35, pasamos la ventana a un día y volvieron otros 20 artículos, que cubrían 21,53 horas. 18 de ellos no estaban en la lista semanal.

Es decir, para el mismo día, la ventana de un día mostró 20 artículos y la de una semana, 2. Cuando la consulta semanal llega al tope de 20, deja fuera noticias más antiguas y también la mayoría de las del último día. Las dos listas tampoco compartían medios: la de un día tenía 3 artículos de Tech Times y 2 de Kotaku, Trusted Reviews y 9to5Toys, y ninguno del blog de Anker.

Por eso las noticias piden ventanas cortas y llamadas frecuentes. Cada llamada extra cuesta 0,000792 USD, y una diaria con ventana de un día suma 0,024 USD al mes.

En español: Google Noticias para España y México

Un equipo que vigila la marca en España o en América Latina no lee las mismas noticias. A las 00:57 hicimos dos llamadas más a google_news/search con la palabra Anker y una ventana de una semana. La primera usó country: es y language: es. La segunda, country: mx y language: es. Cada una costó 0,000792 USD y tardó 3,5 y 2,4 segundos. Estos son los resultados:

ConsultaArtículosOfertas y rebajas«Punto Anker» (Argentina)Fuente con más artículosEn común con la otra consulta
España (es, es, week)20 (tope)103Gizmodo en Español, 615
México (mx, es, week)20 (tope)103Debate, 515

Las dos consultas llegaron al tope de 20, igual que en inglés. La mitad de cada lista eran ofertas: precios mínimos en baterías externas y auriculares, el Black Friday en España, el Buen Fin en México y el Cyber Monday de Anker Argentina. En España, Gizmodo en Español publicó 6 de los 20 artículos, casi todos de rebajas en Amazon. En México, el diario Debate publicó 5, casi todos de remates en Mercado Libre. Para un equipo de marca, estas notas valen una línea de resumen, no una alerta.

Tres artículos de cada lista no trataban de la marca. Infobae, Rosario Finanzas y Ecos Diarios hablaban del «punto Anker», un concepto económico que el equipo económico argentino usa para el momento en que los bancos prefieren prestar al sector privado antes que comprar deuda del Tesoro (Infobae, 2026-11-12). Según La Nación, el nombre viene de una consultora argentina, y el diario explicó el concepto en abril de 2025 (La Nación, 2025-04-28). Estas notas no tienen nada que ver con baterías ni cargadores.

Lo más simple es filtrar en las reglas del agente. En AGENTS.md, escribe una regla para descartar todo artículo donde Anker solo aparezca dentro de «punto Anker». Escribe otra para agrupar las ofertas en una sola línea con la tienda y el producto. Así quedan pocas noticias reales: el lanzamiento en España de los sacaleches eufy, el cargador compacto de 3 puertos en Europa y la nueva cámara 4K. Ese es el contenido que un equipo de marca quiere leer.

Las dos consultas compartían 15 de 20 artículos. Si vigilas los dos mercados, deduplica por URL entre consultas y no solo dentro de cada una. Si no, el informe repetirá 15 noticias. El costo de las dos llamadas semanales es 0,001584 USD. Con ventanas de un día en ambos mercados, la cuenta mensual sigue por debajo de 0,05 USD.

Rondas 2 y 3: qué era nuevo, por id

La segunda ronda, a las 00:34, llegó 15 minutos después de la primera. La tercera, a las 00:50, llegó 16 minutos después de la segunda. Cada ronda llamó una vez a las tres fuentes en inglés. Comparamos los elementos por id, o por URL en las noticias, con todas las rondas anteriores:

RondaFuenteElementosNuevosYa vistosNuevos recortados (bytes)Respuesta completa (bytes)
1Reddit24240709341.605
1Trustpilot990217311.253
1Google Noticias2020044769274
2Reddit2412321440.699
2Trustpilot909211.255
2Google Noticias20182502110.253
3Reddit2422265640.249
3Trustpilot101925113.123
3Google Noticias2011925510.256
Gráfico de barras horizontales apiladas que divide los elementos de cada fuente y ronda en nuevos y ya vistos. Ronda de las 00:18: Reddit 24 de 24 nuevos, Trustpilot 9 de 9, noticias 20 de 20. Ronda de las 00:34: Reddit 1 de 24, Trustpilot 0 de 9, noticias 18 de 20. Ronda de las 00:50: Reddit 2 de 24, Trustpilot 1 de 10, noticias 1 de 20. La parte nueva es verde azulado.

En 15 minutos, Reddit sumó un solo post, y era ruido. En r/AynThor, alguien preguntaba cómo hacer correr GTA IV en una consola portátil, y la palabra Anker no tenía relación con la marca. Trustpilot no sumó nada. Los 18 artículos nuevos venían de nuestro cambio de ventana, de una semana a un día. No significan que salieran 18 noticias en 15 minutos. Lleva una lista de vistos por fuente y por juego de parámetros, porque al cambiar parámetros «nuevo» cambia de sentido.

Si sumamos las tres rondas, volvieron 160 elementos: 72 de Reddit, 28 de Trustpilot y 60 de noticias. Tras deduplicar por id y URL quedaron 76 distintos: 27 de Reddit, 10 de Trustpilot y 39 de noticias. Es menos de la mitad. De esas 39 noticias, 18 llegaron por el cambio de ventana, así que con parámetros fijos la proporción de repetidos sería aún mayor. En la vía A, el modelo lee los 160 elementos, y los 84 repetidos también gastan tokens. Por eso la vía B, más abajo, quita los repetidos antes de que el modelo lea nada.

Los 4 elementos nuevos de la tercera ronda muestran tres casos que un informe debe manejar:

FuentePublicado (UTC)Capturado (UTC)Qué esSección del informe
Trustpilot13 nov 16:3613 nov 16:50Reseña de una estrella de un cargador de 140 W, modelo A2697, disputa de garantía en TurquíaReseñas de una y dos estrellas, primera línea
Reddit, r/powerbanks13 nov 16:4313 nov 16:50Pregunta sobre alimentar una tira LED con poca corriente, menciona una batería Anker de 10.000 mAhComentarios de producto
Reddit, comunidad francesa de ofertas13 nov 16:4013 nov 16:50Rebaja de Black Friday de un cargador Anker de 100 WOfertas, una línea
Google Noticias12 nov 17:1313 nov 16:51Prueba de un cargador de viaje Anker, vista por primera vez en la ronda 3Prensa

La reseña de Trustpilot tiene un posted_at de 2026-11-13 16:36 UTC, las 00:36 del 14 de noviembre en Singapur. No existía en la segunda ronda de las 00:34, y la tercera de las 00:50 ya la trajo. Quien la escribe está en Turquía. Cuenta que un cargador Anker de 140 W y cuatro puertos dejó de funcionar a los cinco meses y medio. Un servicio técnico autorizado confirmó el fallo, y después hubo desacuerdo con la tienda local y con el soporte de Anker sobre cambio o reembolso. Es justo el tipo de reseña que un equipo de marca quiere ver primero.

¿Por qué no deduplicar por hora? Las rondas 2 y 3 dieron un ejemplo cada una. En la ronda 2, el post nuevo tenía un posted_at de 16:23 UTC, y la ronda 1 corrió a las 16:18 UTC, así que aún no existía. Ahí una regla por hora funciona. Pero la búsqueda de Reddit puede indexar un post con retraso, y un post de las 16:10 puede aparecer a las 16:30. Si guardas solo «la hora más nueva que vi», ese post se pierde.

Vimos lo mismo con reseñas de Google Maps en Claude Managed Agents: revisión nocturna de reseñas. La noticia de la ronda 3 es un caso más claro. Era una prueba de un cargador de viaje publicada a las 17:13 UTC del 12 de noviembre, más antigua que casi toda la lista, y no apareció en las dos primeras rondas. Entró en los 20 primeros solo en la ronda 3. Una regla por hora la habría descartado. Con ids y URL, ni el retraso del índice ni los cambios de orden importan.

Cuántos de los 24 posts de Reddit hablan de Anker

La descripción de la palabra clave de reddit/search es precisa. Solo devuelve posts que contienen la palabra en el título, en el nombre de la comunidad o en el texto completo (Página de búsqueda en Reddit de EveryInfra). Anker es una sola palabra, así que los 24 posts la mencionan, pero solo 6 tratan de Anker. Mientras escribíamos este artículo leímos los 24 posts de la primera ronda y los repartimos en cuatro grupos según el tema:

GrupoReglaPostsEjemplo (comunidad)
Anker es el temaDudas, autenticidad, instalación, elegir entre dos6r/powerbanks pregunta si una A1384 es original. r/homeautomation quiere conectar una Solarbank Max a Home Assistant
Mención de pasoAparece en una recomendación, comparación u otra pregunta8r/SteamFrame dice que una batería Anker de 140 W no alimenta el visor. Un hilo de auriculares cita los Soundcore R60i
Ofertas y preciosBajadas de precio, listas de descuentos4Bajada de la SOLIX C300 en r/priceglitch. Rebaja de Black Friday en r/ClubicFR
ReventaAnuncios de venta particular6Un anuncio en árabe de una batería externa en 4 comunidades. Una venta de iPhone que incluye un cargador Anker

Los 24 posts venían de 22 comunidades, y 5 eran copias publicadas en otras comunidades. Sin las copias quedan 19 posts distintos. Solo 6 títulos nombran Anker o una de sus marcas, como Soundcore, eufy, SOLIX o Nebula, y 4 títulos están en árabe. Un equipo de marca abriría las dudas de autenticidad e instalación del primer grupo y la queja de alimentación del visor del segundo. La primera puede apuntar a falsificaciones, y la segunda es un problema de compatibilidad concreto.

Gráfico de cuadros con 24 cuadros para los 24 posts de Reddit de la ronda 1, coloreados por grupo: Anker es el tema 6 (verde azulado), mención de paso 8, ofertas y precios 4, reventa 6. Cinco cuadros tienen borde discontinuo para marcar copias en otras comunidades. Sin ellas quedan 19 posts distintos.

La clasificación se le puede dar a un agente. Lee el texto y aplica las reglas que escribes en AGENTS.md. La tabla de arriba es nuestra lectura durante la redacción, y la columna «Regla» recoge las reglas. Cuando la tome un agente, pruébalo primero con estos 24 posts y cuenta en cuántos difiere de la tabla. Después déjalo correr cada día. Revisa antes los posts en árabe, filipino y alemán, porque el agente tiene que entenderlos para clasificarlos. Un informe diario puede quedar así: 2 o 3 posts nuevos de Reddit para leer, cada reseña nueva de una o dos estrellas, solo las noticias sobre la empresa, la seguridad, los pleitos y las retiradas, y las ofertas en una línea.

Programarlo con Triggers: cron, zona horaria y entorno persistente

Un Trigger une un agente, un entorno, un prompt y un horario en un recurso persistente que se dispara con cron. Cada ejecución reutiliza el mismo entorno, así que la siguiente ronda puede leer los archivos de la anterior. Para crearlo hacen falta schedule (una expresión cron), time_zone (un nombre de zona horaria IANA) e interaction. Hay dos campos opcionales. max_consecutive_failures pausa el Trigger tras varios fallos seguidos, con 5 por defecto. execution_timeout_seconds limita cada ejecución, con 600 segundos por defecto.

Después puedes pausarlo, reanudarlo, ejecutarlo al momento o listar sus ejecuciones. Cada registro trae un interaction_id y un environment_id (Agente Antigravity: Triggers). Las zonas horarias usan nombres IANA como Europe/Madrid, America/Mexico_City o America/Argentina/Buenos_Aires. Los nombres vienen de la base de datos de zonas horarias que mantiene IANA (Base de datos de zonas horarias de IANA).

Campo del TriggerObligatorioPor defectoNuestro valorPor qué
scheduleSíninguno0 1,9,17 * * *Reddit cubre de 8 a 10 horas por llamada
time_zoneSíningunoEurope/MadridEl informe llega por la mañana del equipo
interactionSíningunoAgente con nombre, prompt, herramientas, entornoUna sola configuración guardada para cada ronda
max_consecutive_failuresNo53Pausar antes si falla una clave o una fuente
execution_timeout_secondsNo600900Trustpilot tardó de 41 a 48 segundos por llamada

Con la cobertura medida, Reddit necesita 3 ejecuciones al día, así que el horario se dispara cada 8 horas. Este es un ejemplo de configuración que no ejecutamos en Gemini:

python
# Ejemplo de configuración: no ejecutado en Gemini. Campos según la documentación de Triggers leída el 2026-11-14
trigger = client.triggers.create(
    schedule="0 1,9,17 * * *",          # cada día a las 01:00, 09:00 y 17:00
    time_zone="Europe/Madrid",          # en México: "America/Mexico_City"
    display_name="anker-monitor-marca",
    max_consecutive_failures=3,
    execution_timeout_seconds=900,      # Trustpilot tarda más de 40 s por llamada; deja margen
    interaction={
        "agent": "monitor-marca",       # agente con nombre guardado con agents.create; modelo fijo al crearlo
        "input": "Haz una ronda según AGENTS.md. Consulta Reddit en cada ronda. Consulta Trustpilot y noticias solo a las 09:00. "
                 "Informa solo de lo que no está en seen_ids.json. Escribe el archivo del día en briefings/ y actualiza seen_ids.json. "
                 "Si una fuente no trae datos, escribe 'no se obtuvo en esta ronda'. No escribas 'sin elementos negativos'.",
        "tools": [{"type": "mcp_server", "name": "everyinfra", "url": "https://api.everyinfra.com/mcp",
                   "credential": "everyinfra-key", "allowed_tools": ["everyinfra_call_api"]}],
        "environment": {"type": "remote", "network": {"allowlist": [{"domain": "api.everyinfra.com"}]}},
    },
)
print(trigger.id, trigger.next_run_time)

El entorno persistente tiene dos plazos. Tras 15 minutos sin uso, guarda una instantánea y se detiene. La siguiente petición lo restaura, con un arranque en frío. Un entorno sin conexión dura 7 días. Si nadie lo usa en ese plazo, la plataforma lo borra, y un id de entorno caducado devuelve 404 (Entornos: ciclo de vida, Entornos: limitaciones).

Límite del entornoValorQué significa para el monitor
Inactividad antes de la instantánea15 minutosCada ronda empieza con un arranque en frío
Conservación sin conexión7 díasUn Trigger en pausa puede perder seen_ids.json tras una semana
Tamaño de archivos en línea1 MB por archivo, 2 MB en totalEnvía en línea el prompt y el script. Deja los datos en el sandbox
Id de entorno caducadoDevuelve 404Crea un entorno nuevo y recarga el historial que descargaste

Un Trigger diario nunca llega a los 7 días. Pero si pausas el Trigger durante dos semanas de vacaciones, al volver pueden faltar seen_ids.json y los informes viejos. La primera ronda trataría como nuevo todo el contenido reciente. Descarga de vez en cuando el historial importante. La documentación ofrece endpoints para listar archivos, bajar uno y bajar una carpeta comprimida (Entornos: gestionar archivos).

seen_ids.json no deja de crecer. Con los números de la primera ronda, Reddit suma unos 24 ids por ronda y 3 rondas al día. Con Trustpilot y noticias, son como mucho unos 100 ids nuevos al día, más de 30.000 al año. En JSON, eso son unos cientos de KB. La documentación solo da límites para archivos que envías tú: 1 MB por archivo en línea y 2 MB en total (Entornos: limitaciones). No da un límite para los archivos que escribe el agente. Archiva la lista cada mes y conserva solo 90 días de ids.

gemini managed agents pricing: cuánto cuesta una ronda diaria

El costo tiene tres partes: los datos de EveryInfra, el modelo de Gemini y las herramientas y el sandbox de Gemini. Los datos son lo más fácil. Leímos el catálogo a las 00:17 del 14 de noviembre de 2026, hora de Singapur. reddit/search cuesta 0,000792 USD por llamada, trustpilot/reviews 0,001389 USD y google_news/search 0,000792 USD. Cada charged_usd de nuestras llamadas reales coincidió con el catálogo. Las llamadas que devuelven un error o un resultado vacío no cuestan nada.

PlanLlamadas por díaDatos por díaDatos cada 30 días
Cada fuente una vezReddit 1, Trustpilot 1, noticias 10,002973 USD0,089 USD
Nuestra recomendaciónReddit 3, Trustpilot 1, noticias 10,004557 USD0,137 USD
Cada fuente en cada rondaReddit 3, Trustpilot 3, noticias 30,008919 USD0,268 USD
10 marcas, nuestra recomendaciónLo mismo por marca0,04557 USD1,367 USD

Del lado de Gemini, la sección «Pricing for agents» de la página de precios es clara. Los agentes gestionados pagan los tokens al precio estándar del modelo que usan, incluidos los de entrada, salida y razonamiento dentro del bucle del agente. Durante la vista previa, el cómputo del entorno es gratis, incluidos CPU, memoria y ejecución en el sandbox (Precios: Pricing for agents). El resumen de agentes añade que una interacción puede lanzar muchos pasos de razonamiento y suele usar de 100.000 a 3.000.000 de tokens (Resumen de agentes: precios).

La página del agente Antigravity da estimaciones por tipo de tarea. Una tarea de investigación y resumen cuesta de 0,30 a 1,00 USD, con 100.000 a 500.000 tokens de entrada y 10.000 a 40.000 de salida. Una de procesamiento y análisis de datos cuesta de 0,70 a 3,25 USD. Normalmente, entre el 50 % y el 70 % de la entrada sale de la caché (Agente Antigravity: costo estimado).

Esos rangos van por tipo de tarea, así que calculamos un mínimo con los bytes medidos. Suponemos cuatro pasos por ronda: planear y llamar a Reddit, llamar a Trustpilot, llamar a noticias y escribir el informe. Cada respuesta se vuelve a leer en los pasos siguientes, y las definiciones de herramientas van en cada paso. Usamos 4 caracteres por token y los precios de la página de precios del 14 de noviembre de 2026 (Precios: Gemini 3.5 Flash-Lite). No incluimos el prompt de sistema del agente, AGENTS.md ni los tokens de razonamiento, así que la factura real solo puede ser mayor:

ModeloDefinicionesCachéTokens de entradaModelo por ronda (2000 a 10.000 tokens de salida)Veces el costo de datos
Gemini 4 Hydrogen (por defecto)Las 12Sin caché55.3990,098 a 0,158 USD33 a 53
Gemini 4 HydrogenSolo 1Relecturas a precio de caché40.8440,041 a 0,101 USD14 a 34
Gemini 3.8 FlashSolo 1Relecturas a precio de caché40.8440,021 a 0,051 USD7 a 17
Gemini 3.5 Flash-LiteSolo 1Relecturas a precio de caché40.8440,011 a 0,031 USD3,5 a 10
Gráfico de barras horizontales con el costo de una ronda de monitoreo en dólares. Datos de EveryInfra 0,0030. Gemini 3.5 Flash-Lite con 1 herramienta, de 0,011 a 0,031. Gemini 3.8 Flash, de 0,021 a 0,051. Gemini 4 Hydrogen con 1 herramienta, de 0,041 a 0,101. Hydrogen con las 12 herramientas y sin caché, de 0,098 a 0,158. La barra de datos es verde azulado. Las demás flotan sobre su rango y se marcan como estimaciones.

Aquí los datos son la parte pequeña del costo. Incluso el modelo más barato, Flash-Lite, cuesta al menos 3,5 veces los datos. Hydrogen por defecto, sin cambios, cuesta de 33 a 53 veces. Por eso el ahorro empieza en el modelo. Fija agent_config.model, deja solo las herramientas necesarias, pon max_total_tokens y di en el prompt cuándo parar. La sección de Hydrogen también lista los niveles Batch y Flex a mitad de precio (Precios: Gemini 4 Hydrogen). La documentación no dice si los agentes gestionados pueden usarlos, así que no entran en la tabla.

La búsqueda de Google integrada tiene su propio precio. Los modelos Gemini 3 y posteriores tienen 5000 búsquedas gratis al mes y luego 14 USD por cada 1000. Cada proyecto tiene un límite por defecto de 1500 búsquedas al día (Precios: herramientas). El agente Antigravity incluye google_search por defecto. Si no quieres que tu monitor busque en la web por su cuenta, lista solo code_execution y mcp_server, como en los ejemplos. Así la búsqueda queda apagada.

Los proyectos del nivel gratuito también pueden usar el agente Antigravity, con límites gratuitos de frecuencia y uso (Agente Antigravity: disponibilidad y precios). Ajusta el prompt en el nivel gratuito y pasa después a un proyecto de pago. Para un equipo que vigila España y México a la vez, añade 2 llamadas diarias de noticias en español. Eso suma 0,001584 USD al día y 0,048 USD cada 30 días, otra vez muy por debajo del costo del modelo.

Dos formas de conectar: resultados en el contexto o en archivos del sandbox

Casi todos los tokens de entrada de la tabla son las tres respuestas completas. La de Reddit ocupa 41.605 bytes, unos 10.401 tokens, dos tercios del total. Cuando el agente llama a una herramienta por mcp_server, la respuesta entera entra en el contexto del modelo. El modelo no puede leer solo unos pocos campos.

Un agente gestionado tiene una segunda opción. El sandbox ejecuta código, y la lista de dominios permitidos del entorno puede asociar una credential a un dominio. Entonces el proxy de salida añade la cabecera de autenticación en cada petición a ese dominio (Entornos: configuración de red). Así, el agente puede correr en el sandbox un script que llama directamente al endpoint REST POST /api/v1/social de EveryInfra. El script guarda la respuesta completa en un archivo y quita lo que ya vio. Después recorta campos y muestra solo lo nuevo, con los campos que necesitas.

Vía A: herramienta mcp_serverVía B: script del sandbox que llama a REST
ConfiguraciónUna entrada mcp_server en tools, con credentialUna credential asociada a api.everyinfra.com en network.allowlist, y un script junto a AGENTS.md
Qué lee el modeloLas respuestas completas (62.132 bytes las tres en la ronda 1)Lo nuevo que imprime el script (13.742 bytes en la ronda 1, 1162 en la ronda 3)
Dónde se deduplicaEl modelo compara después de leer, o vuelve a ejecutar códigoEl script compara ids, y el modelo nunca ve lo viejo
Mejor paraPrimeras pruebas, preguntas sueltas, parámetros que cambianRondas diarias fijas, fuentes fijas, mucho volumen
Cuidado conRespuestas grandes cuestan más. El significado de los campos sale de las descripcionesEl agente debe entender los errores del script. La clave sale solo de la credencial

Calculamos los bytes con un script sobre las respuestas reales. En la ronda 1, las tres respuestas completas sumaron 62.132 bytes. Dejamos 7 campos de Reddit, 7 de Trustpilot y 4 de noticias, y cortamos los títulos en 160 caracteres. Lo nuevo ocupó entonces 13.742 bytes, el 22,1 % del tamaño completo. La ronda 2 tuvo 19 elementos nuevos por el cambio de ventana de noticias, con 5237 bytes recortados.

La ronda 3 mantuvo los parámetros. Solo tuvo 4 elementos nuevos, que recortados ocuparon 1162 bytes. Las respuestas completas seguían en 63.628 bytes, 55 veces más. Con la vía A pagas cada ronda por lo viejo, y con la vía B solo por lo nuevo. Al precio de entrada de Gemini 3.5 Flash-Lite, leer una vez los 3436 tokens recortados de la ronda 1 cuesta 0,00103 USD. Leer una vez las respuestas completas por la vía A cuesta 0,00466 USD, así que la vía B ahorra unas tres cuartas partes, sin contar las relecturas de los pasos siguientes.

Gráfico de barras agrupadas con los bytes que lee el modelo en tres rondas reales. Ronda de las 00:18: vía A, respuestas completas, 62.132 bytes; vía B, nuevos recortados, 13.742 bytes. Ronda de las 00:34: 62.207 y 5237 bytes. Ronda de las 00:50: 63.628 y 1162 bytes. Las barras de la vía B son verde azulado.

Este es el esqueleto del script de la vía B. Probamos en real el formato de petición de EveryInfra, y charged_usd viene en el objeto billing de cada respuesta. No ejecutamos el script dentro de un sandbox de Gemini, así que esa parte es un ejemplo de configuración. Para España, la tercera tarea añade country y language:

python
# fetch_new.py: en .agents/skills/brand-monitor/ para que lo llame el agente (ejecución en el sandbox: ejemplo de configuración)
# Sin clave aquí: network.allowlist asocia una credencial a api.everyinfra.com y el proxy de salida añade la cabecera
import json, pathlib, urllib.request

SEEN = pathlib.Path(".agents/workspace/seen_ids.json")
seen = set(json.loads(SEEN.read_text())) if SEEN.exists() else set()
JOBS = [
    ("reddit", "search", {"keyword": "Anker", "sort": "newest"}, ["id", "url", "title", "community", "posted_at"]),
    ("trustpilot", "reviews", {"company": "anker.com", "date": "last7days", "sort": "newest", "limit": 20}, ["id", "url", "title", "rating", "posted_at"]),
    ("google_news", "search", {"keyword": "Anker", "country": "es", "language": "es", "time_window": "day"}, ["url", "title", "source", "published_at"]),
]
fresh, spent = [], 0.0
for platform, action, params, keep in JOBS:
    body = json.dumps({"platform": platform, "action": action, "params": params}).encode()
    req = urllib.request.Request("https://api.everyinfra.com/api/v1/social", data=body,
                                 headers={"Content-Type": "application/json"}, method="POST")
    data = json.loads(urllib.request.urlopen(req, timeout=120).read())
    spent += (data.get("billing") or {}).get("charged_usd", 0)
    for row in data.get("results") or []:
        if "punto Anker" in (row.get("title") or ""):
            continue  # término económico argentino, no la marca
        key = f"{platform}:{row.get('id') or row.get('url')}"
        if key not in seen:
            seen.add(key)
            fresh.append({"src": platform, **{k: row.get(k) for k in keep}})
SEEN.write_text(json.dumps(sorted(seen)))
print(json.dumps({"new": fresh, "charged_usd": round(spent, 6)}, ensure_ascii=False))

También llamamos una vez al endpoint REST de la vía B. A las 00:51:32 enviamos los mismos parámetros que la llamada MCP de noticias de 20 segundos antes: Anker, en inglés, con ventana de un día. REST devolvió 20 artículos, 19 con la misma URL que la llamada MCP y 1 distinto, con el orden algo cambiado. El cobro fue el mismo, 0,000792 USD, y tardó 2,94 segundos. REST devuelve JSON plano de 9156 bytes. MCP mete los mismos resultados en un campo de texto de un mensaje JSON-RPC, que con la capa externa y el escape llega a 10.256 bytes, un 12 % más.

Esa pequeña diferencia no explica el ahorro de la vía B. El ahorro viene de que el script quita lo viejo y los campos que sobran antes de que el modelo vea nada. El costo de datos es igual en las dos vías. Elige entre una configuración más simple y menos tokens por ronda.

Nuestros otros artículos sobre agentes alojados

Escribimos tres artículos sobre temas cercanos, cada uno en otra plataforma. Para una revisión nocturna de reseñas con Claude, lee Claude Managed Agents: revisión nocturna de reseñas. Para MCP en la plataforma empresarial de Google Cloud, lee Gemini Enterprise Agent Platform con MCP. Para las apps conectadas de la app de Gemini, lee Gemini Connected Apps y herramientas de datos.

Este artículo usa la Gemini Developer API de ai.google.dev, donde basta una clave de API para empezar. Google dice que los agentes gestionados para empresas también están en vista previa en Agent Platform, que usa un proyecto de Google Cloud y su propia página de precios (Managed Agents API en Agent Platform).

Otro campo: equipos de seguridad de producto que siguen modelos retirados

Con otro prompt, el mismo agente sirve a un equipo de seguridad de producto, a un laboratorio de ensayos o a una asociación de consumidores. Sigamos con Anker. El 12 de junio de 2025, la Comisión de Seguridad de Productos de Consumo de EE. UU. anunció la retirada de más de un millón de baterías PowerCore 10000, modelo A1263. Las celdas podían sobrecalentarse, y el remedio era un cambio (Aviso de retirada de la CPSC, 2025-06-12). El 18 de septiembre del mismo año, otra retirada ofreció reembolso (Aviso de retirada de la CPSC, 2025-09-18).

Para España y América Latina importa más la retirada global. Anker tiene una página con todas sus retiradas (Retiradas de productos de Anker). Su retirada voluntaria global de junio de 2025 cita cinco modelos más: A1647, A1652, A1257, A1681 y A1689. Hay que revisar el número de serie para saber si una unidad está incluida (Retirada voluntaria global de Anker). Después de un aviso así, el personal de seguridad se pregunta dos cosas. ¿Alguien sigue revendiendo los modelos retirados? ¿Hay posts nuevos que hablen de sobrecalentamiento o fuego?

Basta cambiar tres cosas. Cambia la palabra clave de la marca a los números de modelo retirados, como A1263 y A1257. Ejecuta Reddit cada día con sort=newest. Pide a Trustpilot solo notas bajas con stars=["1","2"]. Y cambia las reglas del informe a «lista aparte cada post que hable de reventa, sobrecalentamiento, hinchazón, fuego o quemaduras». Para el público hispanohablante, añade las palabras en español a las reglas: «se calienta», «se infló», «olor a quemado».

Los datos de la primera ronda ya traían dos ejemplos. Primero, los 6 anuncios de reventa. El anuncio en árabe vendía una batería Anker de 20.000 mAh sin número de modelo, así que no sabemos si es un modelo retirado. Una persona debe seguir este tipo de anuncio. Segundo, una reseña de cinco estrellas en Trustpilot del 2026-11-08. Su primera frase nombra «Anker Zolo Power Bank (20K, 30W, Built-In USB-C Cable)», el mismo nombre de producto que el A1689 de la lista de retirada.

La reseña elogia el producto y no significa que esa unidad esté incluida. Para un equipo de seguridad sigue siendo una pista de «el nombre coincide, revisa el número de serie». El agente solo encuentra, deduplica y ordena publicaciones públicas que pueden importar. Si un producto está incluido en una retirada lo deciden el aviso de la CPSC y la página de verificación del fabricante. Esa decisión no se le da a un modelo.

Cambios del sector: los últimos 60 días en agentes alojados

FechaCambioQué significa para tiFuente
2026-10-30Computer Use disponible de forma generalTodavía sin uso para agentes gestionados. Las limitaciones del agente Antigravity dicen que computer_use no está soportadoNotas de la versión, limitaciones
2026-11-10El blog de MCP publica un borrador de extensión para subir y bajar archivos, para el protocolo 2026-07-28Puede llegar una forma estándar de llevar un CSV grande al sandbox. Aún es experimentalBlog de MCP, 2026-11-10
2026-11-11Gemini Decision 1 y la Decisions API para decisiones binarias, de varias clases y de puntuación, sin tokens de salidaClasificar posts podría pasar a ese servicio, y el agente seguiría con el horario y el informeNotas de la versión

El protocolo MCP también cambia. La especificación 2026-07-28 se publicó el 28 de julio de 2026. El blog oficial la califica como la mayor revisión desde el lanzamiento, con un núcleo de protocolo sin estado y enrutado por cabecera (Blog de MCP: la especificación 2026-07-28, Especificación MCP: Transports, 2026-07-28). A las 00:35, nuestro initialize ofreció 2026-07-28 y EveryInfra respondió con 2025-11-25. Según la negociación de versiones de MCP, el cliente puede seguir con esa versión. La documentación de Gemini no dice qué versión ofrece mcp_server, y desde fuera no se ve.

Límites y puntos a vigilar

Primero, la vista previa. El resumen de agentes, la página del agente Antigravity y la de agentes propios dicen vista previa. Las funciones y los formatos pueden cambiar. Los agentes con nombre no tienen versiones ni vuelta atrás, y un agente no puede contener subagentes (Agentes propios: limitaciones). Después de editar AGENTS.md, la siguiente llamada usa la configuración nueva. Guarda los archivos fuente en Git.

Segundo, la salida estructurada. El agente Antigravity no la admite, y ajustes como temperature o max_output_tokens devuelven un error 400 (Agente Antigravity: limitaciones). Si otro sistema debe leer el informe, haz que el agente escriba un archivo JSON en el sandbox. Luego descárgalo con los endpoints de archivos.

Tercero, las llamadas a funciones solo funcionan en modo con estado, con previous_interaction_id para continuar el turno anterior. Nuestro diseño usa MCP y ejecución de código, no funciones propias. Si quieres una función propia para enviar a Slack, sigue ese límite.

Cuarto, los límites del lado de datos. reddit/search cubre el último mes, así que una marca muy comentada como Anker necesita 3 rondas al día. google_news/search devuelve hasta 20 artículos por llamada, en España igual que en México, así que usa ventanas cortas. trustpilot/reviews pide el dominio web, no el nombre de la empresa, así que Anker es anker.com. Las tres leen solo contenido público. Quita los nombres de usuario personales del informe. Los nombres de marcas y medios se pueden dejar.

Quinto, margen de tiempo. trustpilot/reviews tardó más de 40 segundos cada vez, así que tres llamadas en serie suman cerca de un minuto. Si un Trigger vigila una docena de marcas, reparte las marcas en varios Triggers o sube execution_timeout_seconds. Cuando una llamada devuelve un error, este vuelve al modelo como resultado de herramienta con retry_after. No cuesta nada, y el agente puede repetir la llamada.

Sexto, los reintentos. Si un Trigger agota su tiempo o el agente reintenta, la misma llamada puede salir dos veces. Para las tareas programadas y las llamadas que pueden repetirse, usa el endpoint REST de la vía B con la cabecera Idempotency-Key. Si un paso posterior envía alertas o abre tickets, hazlo idempotente con la misma clave. El método está en reintentos de agentes de IA e Idempotency-Key.

LímiteDe dónde saleQué hacer
Vista previa, sin versiones ni vuelta atrásPágina de agentes propios de GeminiGuarda AGENTS.md y los scripts en Git
Sin salida estructurada, los ajustes de generación dan 400Limitaciones del agente AntigravityEscribe un archivo JSON en el sandbox
Llamadas a funciones solo con estadoLimitaciones del agente AntigravityUsa MCP y código, o encadena con previous_interaction_id
20 noticias por llamadaCatálogo de EveryInfraReddit 3 veces al día, noticias con ventana de un día
Falsos positivos como «punto Anker»Nuestras llamadas en españolRegla de descarte en AGENTS.md o en el script
Trustpilot tarda más de 40 segundos por llamadaLlamadas realesReparte marcas en varios Triggers o sube el tiempo límite

Preguntas frecuentes

Tomamos las preguntas de las sugerencias de búsqueda de Google que leímos el 14 de noviembre de 2026. En español solo apareció «agentes gemini», así que la mayoría vienen de sugerencias en inglés. Cada respuesta indica de qué sugerencia sale.

¿Qué son los agentes de Gemini?

(Sugerencia en español: agentes gemini.) En la Gemini API, son agentes alojados por Google: una llamada arranca un agente en un sandbox Linux que razona, ejecuta código, maneja archivos y usa la web. Gemini Managed Agents es la función de la API, y el agente Antigravity es el agente general que la usa (Resumen de agentes). En este artículo, un agente así despierta tres veces al día, lee Reddit, Trustpilot y Google Noticias por el servidor MCP remoto de EveryInfra y escribe un informe de marca.

¿Cuánto cuesta Gemini Managed Agents?

(Sugerencia: gemini managed agents pricing.) Pagas los tokens al precio estándar del modelo, incluidos los de entrada, salida y razonamiento del bucle del agente. Herramientas como la búsqueda de Google tienen su propio precio. Durante la vista previa, la CPU y la memoria del sandbox son gratis (Precios: Pricing for agents). El modelo por defecto, Gemini 4 Hydrogen, cuesta 1,50 USD por millón de tokens de entrada y 7,50 USD por millón de salida. En nuestra tarea estimamos de 0,011 a 0,158 USD por ronda en modelo. Los datos de EveryInfra para tres llamadas fueron 0,002973 USD por ronda.

¿Qué funciones tiene Gemini Managed Agents en la Gemini API?

(Sugerencia: gemini api managed agents features.) El agente trae code_execution, google_search y url_context, y con un environment también tiene herramientas de archivos. Puedes añadir funciones propias y servidores MCP remotos. Corre en segundo plano, transmite la salida y se programa con Triggers. También guarda secretos con Credentials y admite Hooks en el sandbox para interceptar código y archivos (Agente Antigravity: herramientas, Hooks). Hacia los 135.000 tokens de contexto, lo comprime solo, así que sirve para tareas largas (Agente Antigravity: capacidades).

¿Qué servidores MCP acepta Gemini Managed Agents?

(Sugerencia: gemini managed agents mcps.) Cualquier servidor MCP remoto con Streamable HTTP. SSE no, y name debe ir en minúsculas. La autenticación va en headers o en una credential que añade el proxy de salida. allowed_tools limita las herramientas. Probamos https://api.everyinfra.com/mcp con estas reglas: el saludo tardó 0,145 segundos y tools/list devolvió 12 herramientas.

¿Qué plantillas tiene Gemini Managed Agents?

(Sugerencia: google gemini gemini managed agents templates.) El repositorio oficial tiene plantillas de análisis de datos, radio con IA, mantenimiento de repositorios, procesamiento de documentos, selección de noticias y auditoría SEO, además de una de atención al cliente y una básica. La de noticias corre con un Trigger y usa un entorno persistente para no repetir, y de ella sale nuestra estructura (Repositorio de plantillas). En la pestaña Agents de AI Studio también puedes elegir una plantilla y probarla (Agentes en AI Studio).

¿Qué clave de API necesita el agente Antigravity?

(Sugerencia: antigravity agent api key.) Una clave normal de la Gemini API en la cabecera x-goog-api-key, contra generativelanguage.googleapis.com/v1beta/interactions. La pueden usar proyectos gratuitos y de pago, y el nivel gratuito tiene límites gratuitos (Agente Antigravity). La clave de EveryInfra es otra distinta. Guárdala en Credentials de Gemini y no la pongas en un prompt ni en AGENTS.md.

Primeros pasos

  1. Regístrate en EveryInfra y consigue una clave de API. Sigue la guía rápida para enviar una llamada reddit/search con curl, y revisa la respuesta y el cobro.
  2. Lee la página del servidor MCP remoto o la guía de conexión MCP remota. Conecta un cliente MCP local a https://api.everyinfra.com/mcp y ejecuta tools/list una vez.
  3. En Gemini, guarda la clave como credencial bearer_token. Ejecuta a mano una ronda interactions.create con el ejemplo de configuración de arriba. Revisa usage.total_tokens y output_text.
  4. Escribe las reglas en AGENTS.md, incluida la regla de «punto Anker» si vigilas medios en español. Guarda un agente con nombre con agents.create y fija el modelo. Después crea el Trigger.
  5. Consulta los precios de cada capacidad en la página de precios y en el mercado de datos. Para más plataformas en un mismo informe, mira el monitoreo de reputación en varias plataformas.
Gráfico de barras con el costo de datos de EveryInfra cada 30 días con nuestro horario, Reddit 3 veces al día y Trustpilot y noticias una vez al día: 1 marca 0,137 USD, 3 marcas 0,410 USD, 10 marcas 1,367 USD. La barra de 10 marcas es verde azulado.

Referencias

  1. Notas de la versión de la Gemini API, 2026-05-19. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#05-19-2026
  2. Blog de Google: Build managed agents with the Gemini API. Google, leído el 14 nov 2026. https://blog.google/innovation-and-ai/technology/developers-tools/managed-agents-gemini-api
  3. Resumen de agentes: seguridad y buenas prácticas. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agents#security-best-practices
  4. Resumen de la Interactions API. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/interactions-overview
  5. Notas de la versión de la Gemini API, 2026-09-17. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#09-17-2026
  6. Commits del repositorio de plantillas. GitHub, google-gemini, leído el 14 nov 2026. https://github.com/google-gemini/gemini-managed-agents-templates/commits/main
  7. Notas de la versión de la Gemini API, 2026-10-27. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#10-27-2026
  8. Notas de la versión de la Gemini API, 2026-11-10. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#11-10-2026
  9. Precios: Gemini 4 Carbon. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/pricing#gemini-4-carbon
  10. Notas de la versión de la Gemini API, 2026-11-12. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#11-12-2026
  11. Agente Antigravity: elección de modelo. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#model-selection
  12. Agentes propios: limitaciones. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/custom-agents#limitations
  13. Aviso de retirada de la CPSC de EE. UU., 2025-06-12. U.S. CPSC, leído el 14 nov 2026. https://www.cpsc.gov/Recalls/2025/More-than-One-Million-Anker-Power-Banks-Recalled-Due-to-Fire-and-Burn-Hazards-Manufactured-by-Anker-Innovations
  14. Agente Antigravity: Triggers. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#triggers
  15. Plantilla News Curator. GitHub, google-gemini, leído el 14 nov 2026. https://github.com/google-gemini/gemini-managed-agents-templates/tree/main/news-curator
  16. Agente Antigravity: MCP servers. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#mcp-servers
  17. Agente Antigravity: limitaciones. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#limitations
  18. Credentials: uso con servidores MCP. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-credentials#mcp-servers
  19. Credentials: Bearer token. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-credentials#bearer-token
  20. Precios: Gemini 4 Hydrogen. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/pricing#gemini-4-hydrogen
  21. Guía de tokens. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/tokens
  22. Agente Antigravity: control de presupuesto. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#budget-controls
  23. Agentes en AI Studio: consumo de tokens. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/aistudio-agents#managing-token-consumption
  24. Resumen de agentes: acceso a la red. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agents#network-access
  25. Especificación MCP: Transports, 2025-06-18. Model Context Protocol, leído el 14 nov 2026. https://modelcontextprotocol.io/specification/2025-06-18/basic/transports
  26. Infobae, 2026-11-12. www.infobae.com, leído el 14 nov 2026. https://www.infobae.com/economia/2026/11/12/licitacion-clave-el-equipo-economico-se-entusiasma-por-el-regreso-del-punto-anker-y-espera-un-repunte-del-credito/
  27. La Nación, 2025-04-28. www.lanacion.com.ar, leído el 14 nov 2026. https://www.lanacion.com.ar/economia/dolar/punto-anker-cual-es-la-explicacion-del-gobierno-para-su-esquema-con-los-dolares-y-los-pesos-nid28042025/
  28. Base de datos de zonas horarias de IANA. IANA, leído el 14 nov 2026. https://www.iana.org/time-zones
  29. Entornos: ciclo de vida. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-environment#environment-lifecycle
  30. Entornos: limitaciones. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-environment#limitations
  31. Entornos: gestionar archivos. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-environment#download-files-from-the-environment
  32. Precios: Pricing for agents. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/pricing#pricing-for-agents
  33. Resumen de agentes: precios. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agents#pricing
  34. Agente Antigravity: costo estimado. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#availability-and-pricing
  35. Precios: Gemini 3.5 Flash-Lite. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/pricing#gemini-3.5-flash-lite
  36. Precios: herramientas. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/pricing#pricing-for-tools
  37. Entornos: configuración de red. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-environment#network-configuration
  38. Managed Agents API en Agent Platform. Google Cloud, leído el 14 nov 2026. https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/managed-agents
  39. Aviso de retirada de la CPSC, 2025-09-18. U.S. CPSC, leído el 14 nov 2026. https://www.cpsc.gov/Recalls/2025/Anker-Power-Banks-Recalled-Due-to-Fire-and-Burn-Hazards-Manufactured-by-Anker-Innovations-1
  40. Retiradas de productos de Anker. Anker, leído el 14 nov 2026. https://www.anker.com/product-recalls
  41. Retirada voluntaria global de Anker. Anker, leído el 14 nov 2026. https://www.anker.com/rc2506
  42. Notas de la versión de la Gemini API, 2026-10-30. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#10-30-2026
  43. Blog de MCP, 2026-11-10. Model Context Protocol, leído el 14 nov 2026. https://blog.modelcontextprotocol.io/posts/exploring-file-uploads-and-downloads-in-mcp/
  44. Notas de la versión de la Gemini API, 2026-11-11. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/changelog#11-11-2026
  45. Blog de MCP: la especificación 2026-07-28. Model Context Protocol, leído el 14 nov 2026. https://blog.modelcontextprotocol.io/posts/2026-07-28/
  46. Especificación MCP: Transports, 2026-07-28. Model Context Protocol, leído el 14 nov 2026. https://modelcontextprotocol.io/specification/2026-07-28/basic/transports
  47. Agente Antigravity: herramientas. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#supported-tools
  48. Hooks. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/agent-hooks
  49. Agente Antigravity: capacidades. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent#capabilities
  50. Repositorio de plantillas. GitHub, google-gemini, leído el 14 nov 2026. https://github.com/google-gemini/gemini-managed-agents-templates
  51. Agentes en AI Studio. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/aistudio-agents
  52. Agente Antigravity. Google AI for Developers, leído el 14 nov 2026. https://ai.google.dev/gemini-api/docs/antigravity-agent

Referencia BL-143

Nuestras estadísticas siempre están activas. Google Analytics, solo con «Permitir analítica». Política de privacidad