OpenViking,字节把 Agent 的记忆系统开源了,还挺有意思的一个设计:把 Agent 的记忆、知识、技能都做成了一个"文件系统"。定位是"Self-evolving Context Database for AI Agents"——统一 Agent 的记忆、知识 RAG 和技能。
1. 核心思路:context 也应该像文件一样可浏览传统做法是把记忆塞进一个向量数据库,Agent 检索的时候是"黑盒查询",你根本不知道它是怎么找到这条结果的。OpenViking 换了个思路,用 viking:// 协议把所有 context(记忆、资源、技能)组织成一个虚拟文件系统,Agent 可以像开发者一样用 ls、tree、find 去浏览自己的上下文。本质上是把"语义检索"这件事,变成了确定性、可调试的文件操作。
2. 分层加载,省 token每条内容写入时会自动处理成三层:1)L0 摘要层:一句话概括,几十到上百 token,用来快速判断相关性;2)L1 概览层:核心信息和适用场景,约 2000 token,用来做规划;3)L2 详情层:完整原始数据,只有真正需要时才加载。每个目录自己也带着 L0/L1,所以在真正打开一个文件之前,系统就能先判断这个目录相不相关。检索时先用向量搜索定位得分最高的目录,再逐层往下钻,结果自带上下文,不是孤立的一段文本。
3. 检索过程可观测、可debug每次查询都会保留一条"目录浏览轨迹"。结果不对的时候,能直接看到是哪条路径导致的偏差,这点对调试 Agent 的记忆问题很实用——比黑盒向量库多了一层可解释性。
4. Session 自动变成长期记忆一次会话结束提交后,OpenViking 会异步地把用户偏好、Agent 的经验提炼进长期记忆,不需要额外手动整理。
5. 效果数据官方在 LoCoMo(长对话用户记忆)和 tau2-bench(多轮 Agent 任务)上做了评测:用户记忆:接入 OpenViking 后,三种 Agent 集成方式的准确率都做到 80-83%,相比原生记忆的 24-57% 有明显提升,同时输入 token 减少 34.3%-91.0%,查询延迟降低 58%-66%;Agent 经验记忆:在 tau2-bench 上任务成功率分别提升 6.87 个百分点(零售场景)和 11.87 个百分点(航空场景)。
6. 生态和落地已经支持接入 Claude Code、Codex、Cursor、OpenCode、LangChain/LangGraph 等主流 Agent 工具链,也包括 OpenClaw。安装很简单,pip install openviking 一行,本地跑个 openviking-server 就能起服务,还配了 CLI(ov 命令)方便直接操作。
项目:github.com/volcengine/OpenViking
how i ai 程序员








