[IND] 4 分鐘閱讀OraCore 編輯部

OpenViking 把代理上下文收進同一個資料庫

5 個重點看懂 OpenViking:它把 agent 記憶、RAG 與技能整合成一個 context database,並提供分層載入、路徑追蹤與長期記憶。

分享 LinkedIn
OpenViking 把代理上下文收進同一個資料庫

OpenViking 怎麼把 agent 的記憶、RAG 和技能收在一起?

OpenViking 是一個把 agent 記憶、檢索和技能整合成單一 context database 的系統。

項目組織內容關鍵特點
Filesystem paradigmMemory, resources, skills像本地檔案一樣管理上下文
Tiered context loadingL0, L1, L2按需載入,節省 token
Directory recursive retrievalSearch and positioning結合目錄定位與語意搜尋
Visualized retrieval trajectoryDebugging context flow讓檢索路徑可觀察
Automatic session managementConversation memory把 session 壓縮成長期記憶

1. 檔案系統式上下文

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

OpenViking 的出發點不是把上下文塞進一個黑箱向量庫,而是把 agent context 當成檔案系統來整理。這讓開發者能直接理解 memory、resource、skill 各自放在哪裡,也更容易維護。

OpenViking 把代理上下文收進同一個資料庫

這種做法解決的是「上下文散在各處」的問題。OpenViking 把資料結構收斂成可讀、可查、可搬移的層次,讓 agent 的工作集更像資料夾,而不是一堆難以追蹤的 embedding。

  • Memory:保存使用者與任務歷史
  • Resources:保存知識、參考資料與外部內容
  • Skills:保存可重用的 agent 行為

2. L0、L1、L2 分層載入

OpenViking 用 L0、L1、L2 三層來控制上下文載入,不會一次把所有資料都灌進模型。這樣可以減少 token 消耗,也避免 agent 被不必要的背景資訊干擾。

對長任務特別有用。當對話越跑越長,單純截斷容易丟掉關鍵細節;分層載入則讓系統只在需要時往更深層取資料。

  • L0:當前立即需要的工作上下文
  • L1:附近的支援上下文
  • L2:較深層或歸檔內容

3. 目錄遞迴檢索

它不是只做平面的 RAG 搜尋,而是加入目錄感知的遞迴檢索。系統會先用路徑做定位,再用語意搜尋縮小範圍,對巢狀結構的上下文特別實用。

OpenViking 把代理上下文收進同一個資料庫

當專案裡同時有筆記、工具、記憶與技能時,這種方法比單純向量召回更好找。它能先進到對的資料夾,再在那個分支裡找最相關的內容。

範例流程:
project/
memory/
resources/
skills/
notes/
先按目錄定位,再在目標分支內做語意匹配。

4. 可視化檢索軌跡

OpenViking 會把檢索路徑顯示出來,而不是藏在系統內部。這種 trace 能告訴你查詢走過哪些目錄、抓回了哪些上下文,除錯時比猜測黑箱 RAG 鏈路有效得多。

如果團隊正在調整 agent 行為,這個功能很實用。答案不對時,你可以直接看路徑,找出錯誤分支,再回頭調整結構或搜尋規則,而不是盲目改 prompt。

  • 查看 recall 查詢走過的路徑
  • 檢查 prompt 注入與 tool-call 歷史
  • 追蹤某段記憶為什麼被選中或被略過

5. 自動 session 管理

OpenViking 也會處理持續進行中的 session。它能把對話內容、工具呼叫與資源引用壓縮成長期記憶,讓 agent 在下一次執行時延續先前學到的東西。

這讓它不只是儲存層,而是會累積經驗的上下文底座。隨著任務反覆發生,系統會保留常見模式、任務歷史與有用產物,讓後續運行更穩定。

  • 對話壓縮
  • 工具呼叫捕捉
  • 長期記憶萃取

怎麼挑

如果你要做的是需要記憶、檢索和技能整合在一起的 agent,OpenViking 很合適。特別是當你希望上下文流向可追蹤、資料結構像檔案而不是向量黑箱時,它的優勢會更明顯。

如果你的需求只是簡單 RAG,輕量方案可能就夠了;但如果你要的是可累積、可除錯、可擴充的 agent 上下文系統,OpenViking 會更值得投入。