kvcache-ai/AgentENV
GitHub: kvcache-ai/AgentENV
AgentENV 是一个基于 Firecracker microVM 的大规模智能体环境运行平台,通过快照、fork、内存 ballooning 等机制实现高密度、低延迟的沙盒编排,专门服务于智能体强化学习训练场景。
Stars: 86 | Forks: 10
.. raw:: html
|coverage-status| |coverage-report| 📖 `完整文档 `_
## AgentENV (AENV) 是一个用于大规模运行 agent 环境的平台,为 **Kimi K3** 提供智能体强化学习(RL)训练支持。
## 🚀 为什么选择 AgentENV
- **跨多种环境扩展**:AENV 能够跨多台机器运行大量的 Firecracker 环境并支持多种兼容 OCI 的镜像,通过 overlaybd 按需加载。本地磁盘作为有界缓存,保留热数据并驱逐冷数据,因此镜像大小可以超过磁盘容量,同时在全集群范围内保持快速启动,无需对每台主机进行预热。
- **让空闲环境变得低成本**:基于快照的环境启动或恢复时间不到 50 毫秒,暂停时间不到 100 毫秒。空闲环境可以快速释放 CPU 和内存,并在有新任务到达时重新分配。
- **原生支持快照与 fork**:AENV 增量记录内存和文件系统变更,即使在磁盘频繁修改的情况下也能在 100 毫秒内完成。运行中的环境可以 fork 为多个独立的沙盒,以支持并行的 agent 工作流。快照会持久化到兼容 S3 的对象存储或共享的分布式文件系统中,以防止数据丢失。
## - **长期保持高性能与高密度**:AENV 通过 ublk 提供高性能 I/O,同时在存储和内存快照数据之间共享宿主机页面缓存。内存 ballooning 机制将可回收的客户机内存交还给宿主机,随着环境运行时间的延长和状态的差异增大,持续维持高超售率。
## 📋 前置条件
- **Linux 内核 6.8+**;安装脚本额外需要 **Ubuntu 24.04**(有关安装选项,请参阅下方的*快速开始*)
## - 需要 ``/dev/kvm`` 访问权限以执行 Firecracker microVM
## ⚡ 快速开始(单节点)
**1. 安装并启动服务**
*选项 A —— 安装脚本 (Ubuntu 24.04)*
同时安装服务端和 ``aenv`` CLI,然后将服务端作为
systemd 服务启动:
.. code-block:: bash
curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/install.sh | sudo bash
sudo systemctl start aenv
*选项 B —— Docker*
设置服务端:
.. code-block:: bash
curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/docker-setup.sh | sudo bash
docker pull ghcr.io/kvcache-ai/aenv-server:latest
docker run -d --privileged -v /dev:/dev -p 8000:8000 ghcr.io/kvcache-ai/aenv-server:latest
服务端默认可通过 ``http://127.0.0.1:8000`` 访问。
**2. 安装 aenv CLI** *(如果在步骤 1 中使用了选项 A,则跳过此步)*
如果您使用了上述 Docker 方法,或者您在另一台机器上运行
CLI 而不是在服务端上运行,请单独安装。支持在 x86\_64 和 arm64 架构上的 Linux 和 macOS:
.. code-block:: bash
curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/install-cli.sh | bash
**3. 认证**
.. code-block:: bash
aenv auth
# AENV 服务器 URL [http://localhost:8000]: http://127.0.0.1:8000
# API key: dummy
**4. 拉取模板并运行沙盒**
.. code-block:: bash
aenv pull ubuntu:22.04 --name ubuntu
## aenv start ubuntu # 启动一个沙盒并附加交互式 shell
## 🗂 部署
有关 Docker Compose / Kubernetes 集群部署和从源码构建的说明,
## 请参阅 📖 `部署 `_ 。
## 🔌 E2B 兼容性
AgentENV 暴露了兼容 E2B 的 HTTP API。将 ``E2B_API_URL`` 指向您的
服务端,即可使用标准的 E2B Python / TypeScript SDK,无需进行任何代码
修改。详情请参阅 📖 `E2B 集成 `_
## 以获取设置细节。
## 🛠 aenv CLI 参考
.. code-block:: bash
# Templates
aenv pull docker.io/library/ubuntu:latest --name ubuntu # FROM → template
aenv template list # alias: aenv template ls
# Sandboxes
aenv start ubuntu # start + attach interactive shell
aenv start ubuntu --detach # start, print sandbox ID, don't attach
aenv cn # reattach a shell
aenv exec ls -la / # one-shot command
aenv ls
aenv pause
aenv resume
aenv timeout 600 # extend TTL to 600 s from now
aenv delete # alias: aenv rm
``aenv start`` 接受模板 UUID 或易读的名称/别名。``aenv list``
在 TTY 环境下输出表格,通过管道操作时输出 JSON;可使用 ``--output table|json`` 覆盖默认输出格式。
.. |coverage-status| image:: https://github.com/kvcache-ai/AgentENV/actions/workflows/coverage.yml/badge.svg?branch=main&event=push
:target: https://github.com/kvcache-ai/AgentENV/actions/workflows/coverage.yml
:alt: Coverage workflow status
.. |coverage-report| image:: https://github.com/kvcache-ai/AgentENV/blob/coverage-data/coverage/badge.svg?raw=1
:target: https://github.com/kvcache-ai/AgentENV/blob/coverage-data/coverage/coverage.json
:alt: Latest coverage report
Running agent environments at scale
标签:人工智能体, 分布式平台, 可视化界面, 子域名突变, 容器与沙箱, 强化学习, 微虚拟机, 沙箱环境, 漏洞探索, 虚拟化, 请求拦截, 逆向工具, 通知系统