Cómo ejecutar cientos de agentes de IA en un par de servidores sin arruinarse
Por lo general, trabajar con Kubernetes es predecible: un servicio — un pod (bueno, o un ReplicaSet). Pero cuando nos movemos al mundo de los agentes de IA, el patrón familiar se rompe. Imagina que tienes miles de agentes, cada uno manteniendo un contexto de diálogo en memoria, variables de entorno y estado del sistema de archivos. La mayor parte del tiempo no hacen nada — solo esperan un comando del usuario o un evento. Asignar un pod completo en K8s para cada uno es costoso: el plano de control simplemente se ahogará con esa cantidad de objetos, y los recursos del clúster se desperdiciarán.
El equipo de Google (aunque el proyecto está marcado como no oficial) introdujo Agent Substrate. Este es un sistema que permite "hacer malabares" con cientos de sesiones de agentes activas usando solo unos pocos pods físicos.
El problema con el enfoque estándar
En Kubernetes, crear un pod no es una operación instantánea. Necesitas actualizar el estado en etcd, esperar al programador, extraer la imagen e iniciar el contenedor. Para agentes interactivos, un retraso de un par de segundos ya es demasiado. Además, cuando un agente "duerme", quieres liberar sus recursos, pero cuando se despierta, necesita restaurar instantáneamente todos los archivos y variables en memoria.
Agent Substrate resuelve esto a través del concepto de actores y workers. Los actores son tus aplicaciones (agentes), y los workers son pods de larga duración. El sistema mapea una enorme cantidad de actores en un pequeño grupo de workers.
Características principales del proyecto
Teleportación instantánea de sesiones
Esto suena a magia, pero en la práctica funciona basándose en gVisor. Cuando un agente está inactivo, Substrate toma una instantánea de su estado (incluyendo la memoria) y la guarda. Tan pronto como llega una solicitud, el sistema encuentra un worker libre y "desempaqueta" la instantánea allí. La activación toma menos de un segundo.
Preservación del estado sin hacks
No necesitas configurar dolorosamente bases de datos externas para cada pequeña cosa que hace un agente o montar unidades de red lentas. Todo el estado, incluyendo el contenido de la RAM y archivos locales, se preserva perfectamente. Si un agente estaba escribiendo código en la terminal o tenía un array de datos en memoria, después de la hibernación continuará exactamente desde donde lo dejó.
Multiplexación extrema
En el video de demostración, los autores muestran cómo 250 actores con estado caben en solo 8 pods. Esto proporciona ahorros de recursos de decenas de veces. Para quienes construyen una plataforma para agencias de IA o servicios de desarrollo (como Claude Code), esto es un camino directo para reducir las facturas de la nube.
Cómo funciona internamente
El proyecto está escrito en Go y tightly integrado con el ecosistema de Kubernetes, pero mueve la gestión de actores fuera del camino crítico del plano de control de K8s.
Estos son los componentes principales:
- ateapi: El núcleo del sistema, gestiona el ciclo de vida de los actores.
- atelet: Un daemon en los nodos que orquesta las instantáneas y la transferencia de estado.
- atenet: Maneja el enrutamiento del tráfico para que las solicitudes lleguen al worker correcto donde el actor necesario está actualmente "despierto".
- gVisor (runsc): Proporciona aislamiento y permite puntos de control de procesos.
Por cierto, el proyecto es completamente agnóstico del framework. No importa si estás usando LangChain, Claude Code o un script personalizado en Python — si está empaquetado como un contenedor OCI, Substrate lo ejecutará.
Inicio rápido
Si tienes Go, Docker y kubectl instalados, puedes probar el sistema localmente a través de kind. Los desarrolladores han preparado scripts que levantarán un clúster y entorno de demostración en un par de minutos.
Después de eso, puedes llamar a un actor con una llamada estándar a curl. El sistema determinará automáticamente si necesita despertarlo y dónde enrutar la solicitud.
¿Vale la pena probarlo ahora?
El proyecto está en la etapa de "Desarrollo Muy Temprano". Esto significa que la API definitivamente cambiará, y no se garantiza la compatibilidad hacia atrás. Es demasiado pronto para producción, pero para departamentos de I+D y quienes diseñan infraestructura para servicios LLM, esto es imprescindible para estudiar.
Si necesitas ejecutar miles de sandboxes aislados para ejecución de código o una horda de asistentes de IA que deben recordar el contexto, Agent Substrate ofrece un camino mucho más elegante que intentar escalar Kubernetes nativo al infinito.
El video muestra el sistema haciendo malabares con actores en tiempo real.
El equipo del proyecto se comunica activamente en CNCF Slack (canales #substrate-users y #substrate-dev) y realiza reuniones semanales. Está claro que hay una experiencia seria en virtualización y contenedorización detrás de este proyecto. Como mínimo, es un gran ejemplo de cómo extender las capacidades de K8s para cargas de trabajo específicas.
Proyectos relacionados