这个项目能做什么

AgentENV(AENV)是一个专为大规模运行智能体环境而设计的分布式平台,尤其为 Kimi K3 的智能体强化学习训练提供支持。它能够在多台机器上大规模部署 Firecracker microVM,并通过 overlaybd 按需加载各种兼容 OCI 的镜像。该系统将本地磁盘用作有界缓存,保留热数据并驱逐冷数据,使镜像和快照的总占用空间可以超出本地磁盘容量数个数量级,同时无需预热每台主机即可保持集群范围内的快速启动。 主要能力包括: - **跨多样环境扩展**:运行大量 Firecracker 环境,在生产环境中扩展至 150 万个镜像。 - **低成本空闲环境**:基于快照的环境可在 50 毫秒内启动或恢复,并在 100 毫秒内暂停,使空闲环境能够快速释放 CPU 和内存。 - **原生快照与分叉支持**:在 100 毫秒内以增量方式对内存和文件系统变更进行快照;运行中的环境可以分叉为多个独立沙箱,以支持并行智能体工作流。快照可持久化到兼容 S3 的对象存储或共享分布式文件系统。 - **性能与密度保持**:通过 ublk 提供高性能 I/O,同时在存储和内存快照数据之间共享主机页缓存。内存气球回收可回收的客户机内存并返还给主机,在生产环境中实现 9.6 倍内存超分比率。 前提条件:Linux 内核 6.8+,以及用于执行 Firecracker microVM 的 /dev/kvm 访问权限。对于没有标准 KVM 的服务器,可使用 PVM 部署指南。 快速开始(单节点)包括安装服务器(通过安装脚本或 Docker)、安装 aenv CLI、使用生成的 API 密钥进行身份验证、拉取模板(例如 ubuntu:22.04),以及启动沙箱。 部署支持 Docker Compose、Kubernetes 集群以及从源码构建。AgentENV 暴露兼容 E2B 的 HTTP API,允许无需修改代码即可使用标准 E2B Python/TypeScript SDK。 aenv CLI 提供用于模板管理(pull、list)、沙箱生命周期(start、pause、resume、delete、exec)以及重新连接(cn)的命令。该项目欢迎通过错误报告、功能建议、文档修复和拉取请求进行贡献,并遵循 CONTRIBUTING.md 和 SECURITY.md 指南。