À propos du projet

AgentENV (AENV) est une plateforme distribuée conçue pour exécuter des environnements d’agents à grande échelle, notamment pour alimenter l’entraînement RL agentique de Kimi K3. Elle permet le déploiement massif de microVM Firecracker sur plusieurs machines, en chargeant à la demande diverses images compatibles OCI via overlaybd. Le système utilise le disque local comme cache borné, en conservant les données chaudes et en évacuant les données froides, ce qui permet aux empreintes agrégées des images et des snapshots de dépasser de plusieurs ordres de grandeur la capacité du disque local tout en maintenant un démarrage rapide à l’échelle du cluster sans préchauffer chaque hôte. Les capacités clés incluent : - **Mise à l’échelle sur des environnements variés** : exécute un nombre massif d’environnements Firecracker, jusqu’à 1,5 million d’images en production. - **Environnements inactifs peu coûteux** : les environnements adossés à des snapshots démarrent ou reprennent en moins de 50 ms et se mettent en pause en moins de 100 ms, ce qui permet aux environnements inactifs de libérer rapidement CPU et mémoire. - **Prise en charge native des snapshots et forks** : capture incrémentalement en moins de 100 ms les changements de mémoire et de système de fichiers ; les environnements en cours d’exécution peuvent être forkés en plusieurs sandboxes indépendantes pour des workflows d’agents parallèles. Les snapshots persistent vers un stockage objet compatible S3 ou des systèmes de fichiers distribués partagés. - **Préservation des performances et de la densité** : fournit des E/S hautes performances via ublk tout en partageant le cache de pages de l’hôte entre les données de stockage et de snapshot mémoire. Le ballonnement mémoire restitue à l’hôte la mémoire invitée récupérable, atteignant un ratio de surallocation mémoire de 9,6x en production. Prérequis : noyau Linux 6.8+ et accès à /dev/kvm pour l’exécution des microVM Firecracker. Pour les serveurs sans KVM standard, un guide de déploiement PVM est disponible. Le démarrage rapide (nœud unique) consiste à installer le serveur (via script d’installation ou Docker), installer la CLI aenv, s’authentifier avec la clé API générée, tirer un template (par exemple ubuntu:22.04), et démarrer une sandbox. Le déploiement prend en charge Docker Compose, les clusters Kubernetes et la compilation depuis les sources. AgentENV expose une API HTTP compatible E2B, permettant d’utiliser les SDK Python/TypeScript E2B standard sans modification du code. La CLI aenv fournit des commandes pour la gestion des templates (pull, list), le cycle de vie des sandboxes (start, pause, resume, delete, exec) et la réattachement (cn). Le projet accueille les contributions via rapports de bugs, propositions de fonctionnalités, corrections de documentation et pull requests, en suivant les directives CONTRIBUTING.md et SECURITY.md.