返回首頁

AI 開發工具

Funes 將多款程式代理的工作紀錄統一成可攜、可搜尋的本機記憶

Hugging Face 開源 Funes,把 Claude Code、Codex、pi 與 Hermes 的逐輪紀錄寫入同一個 Lance 資料集。檢索與重排序預設在本機執行,但跨機同步、密鑰殘留及外部記憶的提示注入仍需自行治理。

Iñaki LL · CC0 · Image source
zh-Hant

Hugging Face 發布 Apache 2.0 授權的 Funes,試圖把程式代理的「記憶」從特定產品服務改造成使用者持有的資料集。單一 Rust 二進位檔可解析 Claude Code、Codex、pi 與 Hermes 的工作階段,統一為 turn/block 結構;完成每輪工作後以 hook 增量索引,而非反覆處理整份歷史。其他代理若能輸出相容的 Parquet trace,也可實作 `TraceSource` 接入同一條管線。

檢索端先以固定版本的本機嵌入模型建立向量,再結合 BM25 搜尋、排名融合、cross-encoder 重排、時間新近度加權及相鄰片段補充。`recall` 回傳原始段落、代理名稱、時間、工作階段與輪次,`get` 可展開周邊內容;這種保留來源證據的設計,避免在寫入時先由另一個模型把歷史濃縮成可能失真的「事實」。嵌入與重排預設透過 macOS Accelerate 或 Linux 純 Rust 後端完成,不需要外部 ML runtime。

跨電腦共享時,Funes 可把本機 Lance 資料發布成私人 Hugging Face Dataset,遠端資料下載後仍在本機查詢。專案附帶的兩任務、30 次執行小型實驗中,recall 的加權 token 成本分別約為書面交接的八分之一與四分之一;但兩個任務本就挑選為缺少舊紀錄便無法回答,不能據此推論一般軟體工作的平均收益。

安全邊界尤其不能忽略。Funes 會在索引時遮蔽憑證,推送前再以 TruffleHog 掃描並採 fail-closed;然而已上傳的秘密仍會留在資料集版本歷史,必須輪替憑證並重建儲存庫。外部記憶內容也會直接進入代理上下文,可能形成持久提示注入。團隊若採用,應先限定可信資料集、使用細粒度唯讀 token,並實測中文紀錄的召回率、索引容量與錯誤記憶造成的代理行為。

來源

  1. Give Your Coding Agents a Memory You Own
  2. huggingface/funes: Durable, searchable memory of your past agent sessions