El equipo Kimi de Moonshot AI y kvcache-ai tienen AgentENV (AENV) de código abierto, una plataforma distribuida para ejecutar entornos de agentes a escala. AgentENV impulsa el entrenamiento de aprendizaje por refuerzo (RL) agente para Kimi K3, el modelo de mezcla de expertos de 2,8 billones de parámetros de Moonshot. El código se envía bajo una licencia del MIT.
Por qué Environment Infra frena Agentic RL
Agentic RL no solo muestra texto. Requiere que el modelo actúe dentro de una computadora real. Cada implementación necesita un entorno Linux aislado con un sistema de archivos, una pila de red y procesos en vivo.
Ese requisito crea una difícil compensación. Los contenedores se inician rápidamente pero comparten el kernel host, lo que debilita el aislamiento del código generado por modelos. Las máquinas virtuales completas se aíslan correctamente pero arrancan lentamente y retienen la memoria mientras están inactivas.
AgentENV apunta exactamente a esa brecha. Ejecuta microVM Firecracker, luego hace que la inactividad, el reinicio y la ramificación sean lo suficientemente económicos como para ejecutarlos a escala de entrenamiento.
Dentro de la arquitectura del petardo de AgentENV
Cada sandbox es una microVM Firecracker con su propio kernel, sistema de archivos y espacio de nombres de red de Linux. Las solicitudes llegan a una API HTTP de Axum, que las reenvía a un orquestador que gestiona el ciclo de vida de la zona de pruebas.
El almacenamiento es donde el diseño se vuelve interesante. El rootfs se sirve a través de un dispositivo de bloque de espacio de usuario ublk respaldado por imágenes en capas superpuestas. Las capas base de solo lectura se comparten entre los entornos sandbox y cada sandbox escribe en su propia capa superior.
Dentro de cada huésped, un demonio llamado envd maneja la ejecución de comandos, las operaciones de archivos y los informes de estado en el puerto 49983. Un proxy inverso enruta el tráfico HTTP y WebSocket desde los clientes a los servicios que se ejecutan dentro de la VM.
El proyecto también enumera dos mecanismos de densidad. La caché de la página del host se comparte entre el almacenamiento y los datos de instantáneas de la memoria. La expansión de la memoria devuelve la memoria recuperable del huésped al anfitrión, lo que mantiene un compromiso excesivo a medida que los entornos divergen con el tiempo.
Instantánea, pausa, reanudación, bifurcación
Estas cuatro características son la razón por la que existe el proyecto. AgentENV captura instantáneas de la memoria y los cambios del sistema de archivos de forma incremental en lugar de escribir una imagen completa cada vez.
Las cifras reportadas son las siguientes. Los entornos respaldados por instantáneas se inician o reanudan en menos de 50 ms y se pausan en menos de 100 ms. La captura de instantáneas incremental se completa en menos de 100 ms, incluso con modificaciones importantes del disco.
Fork es la característica más específica de RL. Un sandbox en ejecución se puede clonar en hasta 16 sandboxes secundarios independientes en el mismo nodo. La fuente hace una breve pausa durante la captura y luego la reanuda. Cada niño hereda el sistema de archivos fuente, la memoria y la configuración de recursos.
El efecto práctico es que la costosa configuración se ejecuta una vez. Un equipo puede instalar dependencias, clonar un repositorio y alcanzar un estado de tarea. Ese estado exacto luego se ramifica en implementaciones paralelas. Las instantáneas persisten en el almacenamiento de objetos compatible con S3 o en un sistema de archivos distribuido compartido.
Vale la pena señalar un defecto. Cada sandbox tiene un TTL y la caducidad desencadena una pausa, no una eliminación. La eliminación requiere pasar autoPause: false en la API de creación.
Carga bajo demanda y repositorio de instantáneas
Las imágenes se cargan bajo demanda a través de overlaybd. El disco local actúa como un caché limitado que retiene los datos activos y expulsa los datos fríos.
Esto es lo que hace que la historia a nivel de flota funcione. Los nodos no necesitan precalentar cada imagen ni almacenar una copia completa de cada instantánea. Por lo tanto, el conjunto de imágenes direccionables puede exceder la capacidad del disco local mientras el inicio se mantiene rápido en todo el clúster.
El estado de la instantánea está organizado en tres capas. Un espacio de trabajo de preparación del constructor contiene artefactos durante una compilación. Un repositorio de instantáneas comprometido es una fuente duradera de verdad. Una caché de tiempo de ejecución local del nodo contiene configuraciones derivadas del tiempo de lanzamiento.
Se admiten dos servidores de repositorio: posix_fs (predeterminado) y oss. La ruta oss se ejecuta a través de un cliente compartido compatible con S3, por lo que se requiere una región explícita.
Un transporte opcional de igual a igual basado en iroh puede anunciar artefactos comprometidos a nodos pares. Está deshabilitado de forma predeterminada. La documentación es explícita en que P2P no cambia el modelo de instantánea comprometido. Para almacenamiento compartido, los documentos solicitan al menos 1 Gbps y recomiendan 10 Gbps o más rápido.
La compatibilidad E2B es la palanca de adopción
AgentENV expone una API HTTP compatible con E2B. Apunte E2B_API_URL a su servidor y el SDK oficial de E2B Python o TypeScript funcionará sin cambios de código.
Esta es una elección de distribución deliberada. Los equipos que ya ejecutan agentes en E2B pueden autohospedar el tiempo de ejecución sin tener que volver a escribir el código de su agente. También se proporciona una CLI aenv nativa y los documentos la recomiendan para flujos de trabajo específicos de AgentENV.
Rutas de implementación
Los requisitos previos son el kernel de Linux 6.8+ y acceso a /dev/kvm; el script de instalación requiere además Ubuntu 24.04. La CLI de aenv es compatible con Linux y macOS en x86_64 y arm64. El servidor en sí es sólo Linux, porque necesita KVM.
Se documentan cinco caminos:
Un script de instalación que ejecuta el servidor como un servicio systemd. Una imagen de Docker publicada en ghcr.io/kvcache-ai/aenv-server. Una pila de Docker Compose que simula un clúster de múltiples nodos. Kubernetes se manifiesta con una puerta de enlace, un programador y un nodo DaemonSet. Una ruta de compilación desde el origen utilizando la cadena de herramientas de Rust.
Las implementaciones de múltiples nodos agregan una puerta de enlace en :8080 y un programador en :9090.
Conclusiones clave
La implementación cubre el script de instalación, Docker, Docker Compose y Kubernetes; El plano de control de múltiples nodos está documentado como prototipo. AgentENV ejecuta cada entorno de agente como una microVM Firecracker, no como un contenedor, por lo que el aislamiento es a nivel de kernel. Los informes del proyecto se inician o reanudan en menos de 50 ms y se pausan en menos de 100 ms, a partir de instantáneas. Un sandbox en ejecución puede dividirse en hasta 16 elementos secundarios independientes en el mismo nodo. La API HTTP es compatible con E2B, por lo que el código E2B Python y TypeScript SDK existente se ejecuta sin cambios.
Consulte el repositorio y la documentación de GitHub. Todo el crédito por esta investigación va a los investigadores de este proyecto.
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como emprendedor e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.