NoKV-Lab/NoKV
The State Layer of Agent Sandbox
解决的问题
NoKV 为在临时沙箱中运行的 AI 代理提供持久化、版本化的 workspace。它解决了对象存储与数据库之间的「失败窗口」问题,确保即使代理的执行环境消失,输入、代码、输出和日志也能持续存在。它防止了常见的问题,如静默覆盖、重试时的重复写入,以及资产与其元数据之间的谱系丢失。
工作原理
NoKV 使用事务性元数据控制平面来管理不可变的、S3 兼容的资产字节。它采用先将字节暂存,再通过单一原子元数据命令使其可见的流程。这确保了原子可见性,并通过生成防护更新(Compare-and-Swap)防止过时写入者覆盖新状态。
关键机制包括:
- 提交(Commits):封存一个标准的运行清单和不可变的版本闭包,作为持久化的决策点。
- 快照(Snapshots):提供租用的、时间点的视图,用于恢复或检查。
- 恢复(Restore):原子性地从保留的提交或快照发布新目标,无需复制底层不可变的负载块。
- RootId 和 AgentId:管理存储和路由的身份与安全边界。
适用人群
- AI 代理开发者:构建代理循环或沙箱运行器,需要持久化状态提供者来管理任务状态、检查点和谱系的人。
- AI for Science 研究人员:运行自适应 HPC 循环,需要将昂贵的高保真计算结果记录为可复现的检查点(输入、代码和模型状态)的人。
- 系统工程师:需要原生 Rust 或 Python SDK 将持久化、版本化的资产管理集成到 AI 工作流中的开发者。
亮点
- 18 个操作的原生 CLI:用于创建、编辑和搜索 workspace 的稳定 JSON 契约。
- 原子可见性:资产仅在修订版本、路径头和接收提交都确定后才可访问。
- 幂等恢复:使用请求身份确保精确重试返回先前结果,而非重复应用相同转换。
- 多语言支持:直接提供 Python 和 Rust SDK,包括 fsspec 和 torch Distributed Checkpoint 的 Python 适配器。
- 元数据引擎:由 Holt 驱动,一个嵌入式 Rust 元数据引擎,使用持久化自适应基数树。
相关
- 项目
- 项目
- 项目
- 项目
- 项目