NoKV-Lab/NoKV

The State Layer of Agent Sandbox

解決的問題

NoKV 為在暫時沙箱中運作的 AI 代理提供持久性、版本化的工作區。它解決物件儲存與資料庫之間的「失敗視窗」問題,確保即使代理的執行環境消失,輸入、程式碼、輸出與記錄仍能存活。它防止常見問題,如靜默覆寫、重試時的重複寫入,以及資產與其元資料之間的血緣遺失。

如何運作

NoKV 使用交易性元資料控制平面來管理不可變、S3 相容的資產位元。它採用先將位元暫存,再透過單一原子式元資料命令使其可見的流程。這確保原子可見性,並透過世代防護更新(Compare-and-Swap)防止過時寫入者覆寫新狀態。

主要機制包括:

  • 提交(Commits):封存標準的執行清單與不可變的版本封閉,作為持久化的決策點。
  • 快照(Snapshots):提供租用的時點檢視,用於復原或檢視。
  • 還原(Restore):原子性地從保留的提交或快照發佈新目的地,無需複製底層不可變的資料區塊。
  • RootId 與 AgentId:管理儲存與路由的身分與安全邊界。

適用對象

  • AI 代理開發者:開發代理迴圈或沙箱執行器,需要持久化狀態提供者來管理任務狀態、檢查點與血緣的人。
  • AI for Science 研究人員:執行適應性 HPC 迴圈,需將昂貴的高保真運算結果記錄為可重現的檢查點(輸入、程式碼與模型狀態)的人。
  • 系統工程師:需要原生 Rust 或 Python SDK,將持久化、版本化的資產管理整合至 AI 工作流程的開發者。

特色

  • 18 個操作的原生 CLI:用於建立、編輯與搜尋工作區的穩定 JSON 合約。
  • 原子可見性:資產僅在修訂版本、路徑頭與接收提交皆確定後才可存取。
  • 冪等恢復:使用請求身分確保精確重試返回先前結果,而非重複應用相同轉換。
  • 多語言支援:直接提供 Python 與 Rust SDK,包含 fsspec 與 torch Distributed Checkpoint 的 Python 适配器。
  • 元資料引擎:由 Holt 驅動,一個嵌入式 Rust 元資料引擎,使用持久化自適應基數樹。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案