返回首頁

代理框架與 RAG

Agno 3.0.7/3.0.8 將代理知識發布成版本化頁面,並修補工作階段擁有權缺口

Agno 新增可原子發布、固定版本讀取的 page knowledge,以及限制輸入輸出的公開 Agent、Team、Workflow 與 MCP 服務面。數小時後的 3.0.8 又補上完整頁面讀取和 SQLite 批次寫入擁有權檢查,升級時還須處理 HNSW 搜尋語意變更。

Ilario · CC BY-SA 3.0 · Image source
zh-Hant

Agno 3.0.7 把知識庫從單純的向量集合擴充為 `agno.knowledge.page`:一次發布會協調目錄中繼資料、檔案系統文字及向量,若更新失敗則保留前一個 revision。代理可用同步或非同步 API 搜尋、讀取、列舉及 grep,新的 `PageFileSystem` 只允許在固定 revision 上惰性讀取;它沒有 shell、寫入或任意檔案系統權限。這種設計讓 RAG 回答可追溯到一致快照,避免索引已更新、原文卻仍是舊版本的混合狀態。

同版的 `PublicSurface` 可明確選出要公開的 Agent、Team、無狀態 MCP 服務與可持久同步的 Workflow,並共用配額、請求及輸出上限、CORS 和內部服務驗證。未被選取的 Team 成員路由不會因此公開。對要把內部代理變成 API 的團隊而言,這比直接暴露完整 AgentOS 路由更容易界定攻擊面。

3.0.8 在數小時後追加 `read_full_page`/`aread_full_page`,以單次有界 SQL 讀取和唯讀快照回傳整頁;呼叫可固定 revision、限制字元數與期限,過大頁面直接回傳 `None`,並與既有讀取共用八個 worker。新版也修補 SQLite `upsert_sessions()`:先前批次資料若包含另一使用者的 `session_id`,可能重新指派並覆寫該列;現在會套用與單筆 upsert 相同的 owner predicate。

升級風險不能忽略。`Knowledge` 建構子改為 keyword-only;頁面搜尋不再暗中把 PgVector HNSW 的 `ef_search` 強制設為 200。依賴舊行為的部署須顯式設定參數,而由過渡版建立、帶有隱含 `ef_construction=64` 的索引需要人工重建。工程團隊應優先測試 revision 一致性、公開路由清單、SQLite 多租戶隔離,以及新 HNSW 設定下的召回率與延遲。

來源

  1. Agno v3.0.7 release notes
  2. Agno v3.0.8 release notes
  3. Agno 3.0.8 package and provenance