AI News HubLIVE
站内改写2 分鐘閱讀

構建有狀態AI代理:Centri——記憶優先的編碼代理

Centri是一個開源項目,通過持久的記憶脊柱解決AI代理的遺忘問題。它採用僅追加的事件脊柱作為真相來源,派生可重新推導的記憶圖,確定性地為每輪對話組裝上下文。主要功能包括事件脊柱、類型化記憶圖、確定性策展、FTS5精確回憶、LLM整合、時間回憶、基於ACP的編碼委託、工具合同和歷史導入。與Letta的基準測試顯示,Centri在處理過時事實方面表現更佳。

來源Hacker News AI作者: suryaankata

Centri是一個開源的記憶優先編碼代理,旨在解決AI代理普遍存在的遺忘問題。傳統代理在上下文窗口填滿、會話結束後,每次新對話都從零開始,導致重複解釋已做決策和已拒絕方案。Centri通過引入一個僅追加的事件脊柱(event spine)作為系統的唯一真相來源,顛覆了這一模式。記憶不再依賴於脆弱的上下文窗口,而是從一個持久化日誌中派生而來,並可隨時重新生成。

Centri的核心架構分為三個部分:Python內存API核心、基於OpenCode的TypeScript/Bun應用外殼,以及Hermes集成插件。事件脊柱是真相來源,類型化的記憶圖(包含決策、事實和開放循環)具有雙時態取代能力,新事實使舊事實失效,但歷史完整保留。每次對話的上下文由純函數curate()確定性地計算得出,每條信息都附帶指向源頭事件的ID,保證了可審計性和可復現性。

Centri提供了多項關鍵功能:

  • 僅追加事件脊柱:記錄每個工具調用、文件編輯、決策和結果,並即時脱敏敏感信息。
  • 類型化記憶圖:支持雙時態取代,舊事實不再出現在新上下文中,但可追溯。
  • 確定性策展:不依賴LLM生成上下文,保證相同輸入產生相同輸出。
  • FTS5精確回憶:通過SQLite全文索引,可將之前的精確令牌(如文件名、錯誤字符串)直接引入上下文。
  • LLM整合:離線工作線程將原始事件摺疊成用户畫像、活躍項目、開放循環等高層信息。
  • 時間回憶:支持“自昨天以來發生了什麼變化”等自然語言查詢。
  • 基於ACP的編碼委託:通過代理客户端協議(JSON-RPC over stdio)將任務委託給編碼代理,支持實時流式進度、破壞性操作審批門控和故障切換。
  • 工具合同:Composio工具(如Tavily搜索)通過事件日誌記錄調用,副作用操作經過審批,只讀結果自動回饋記憶。
  • 歷史導入:支持一次性引導和持續跟蹤OpenCode、Claude Code和Cursor的歷史記錄,使新安裝即擁有完整記憶。
  • Hermes結構化攝入:將Hermes聊天作為類型化、可去重的信封攝入。

快速部署方面,Centri支持Docker一鍵啓動(docker compose up -d),也可手動從源碼運行。配置全部通過環境變量驅動,模型無關且自帶密鑰(BYOK)。默認監聽127.0.0.1:8760端口,提供健康檢查和狀態端點。參考部署方案包括systemd服務搭配Caddy/TLS。

Centri還集成了Hermes作為內存提供者,通過薄插件將Hermes內存調用轉譯為Centri核心的HTTP API。此外,Centri提供了基準測試工具centri-bench,與Letta v0.16.8(pgvector歸檔)進行對比。在三個角色平均測試中,Centri在過時事實處理上獲得滿分1.00,而Letta僅為0.67,複合得分1.00對0.93。

Centri擁有385個測試用例的測試套件,覆蓋核心、記憶圖、策展、ACP編碼循環、工具合同和歷史導入。項目採用MIT許可證,其中OpenCode分支保留原上游MIT許可證。完整的文檔和路線圖可在項目的docs/目錄下找到。