OpenViking:让 AI Agent 拥有「自进化记忆」的开源上下文数据库
OpenViking:让 AI Agent 拥有「自进化记忆」的开源上下文数据库
OpenViking 是字节跳动火山引擎开源的一款 Agent 上下文数据库,将记忆(Memory)、知识(RAG)和技能(Skills)统一组织为一个虚拟文件系统,通过 viking:// 协议让 AI Agent 像开发者操作文件一样浏览、检索和管理自身上下文。本周 GitHub 斩获 +3,691 星(截至 2026-08-29 总星数 34,226),是 8 月最后一周 Agent 基础设施层最抢眼的新坐标之一。
功能与原则
OpenViking 将所有上下文内容——用户偏好、项目文档、代码仓库、Agent 技能——统一挂载为虚拟文件系统路径,Agent 用 ls、tree、find 等熟悉命令定位信息,而非向黑盒向量库发起查询。核心设计原则三条:
- 统一 URI 命名空间:
viking://下每个资源都有稳定路径,检索行为可观测、可回放。 - 分层按需加载:写入时将每条内容处理为 L0(摘要)/L1(概述)/L2(详情)三个层级,Agent 按任务深度只加载对应层级,节省 token。
- 会话即记忆:对话结束后,OpenViking 异步将用户偏好和 Agent 经验提取为长期记忆,供后续会话复用。
认可度
- GitHub star:34,226(截至 2026-08-29),近一周 +3,691,持续出现在 GitHub Trending 榜
- 机构背景:字节跳动火山引擎出品,有工程化保障
- Benchmark 表现:在 LoCoMo(用户记忆)和 tau2-bench(多轮 Agent 任务)评测中,接入 OpenViking 后 Agent 准确率从基线的 24–57% 提升至 80–83%,token 消耗降低 34–91%,查询延迟降低 58–66%
- 生态定位:属于「Agent 记忆层」赛道,与 TencentDB-Agent-Memory、akitaonrails/ai-memory 同列,但 OpenViking 的虚拟文件系统方案差异化更明显
链接
GitHub:https://github.com/volcengine/OpenViking
原作者
火山引擎(Volcengine)——字节跳动旗下云服务品牌,专注 AI 基础设施与云原生工具链。OpenViking 由其研究团队维护,配套文档完整(含中文版)。
介绍
AI Agent 普遍面临一个根本矛盾:为了让模型「记得」上下文,开发者倾向于把所有历史对话和文档一股脑塞进 context——这在长对话场景里 token 消耗惊人,且检索质量无法保障。OpenViking 从数据模型层重新设计了上下文的组织方式。
它将所有上下文抽象为一棵目录树,每条记录在写入时自动生成三层视图:L0 是约 100 token 的摘要用于快速相关性判断,L1 是约 2k token 的结构化概述用于规划,L2 是完整原文仅在需要深度推理时加载。检索时,向量相似度先定位最高相关目录,再逐层向下钻取,返回结果天然携带所在层级的周边上下文,规避了向量检索「孤立的片段」问题。
每个查询都会留下完整的目录浏览轨迹(trajectory),开发者可以在结果不符合预期时精确回溯「是哪个路径导致了错误答案」——这是传统 RAG 系统难以做到的可观测性。
特点
- 统一虚拟文件系统协议:
viking://下整合记忆、资源、技能、协作伙伴上下文,Agent 无需学习多种 API - 三层分级加载:L0/L1/L2 按需读取,token 成本可量化压缩(官方测得 34–91% 降幅)
- 目录递进检索:不返回孤立节点,返回带父子上下文的信息树,避免断章取义
- 全链路可观测:每次检索产生轨迹文件,支持事后审计与错误定位
- 多 Agent 共享记忆:支持团队级记忆中枢场景,多 Agent 可读写同一记忆层
- Benchmarks 验证:LoCoMo + tau2-bench 双基准实测,接入后任务成功率提升 6–12 个百分点
使用方法
安装(需要 Python 3.10+):
pip install openviking --upgrade
openviking-server init # 交互式配置:选择模型提供商(支持火山引擎、OpenAI、Kimi、GLM、Ollama 等)
openviking-server doctor # 验证配置连通性
openviking-server # 启动服务(后台运行)
在 Claude Code 或 Codex 中注册为 Skill:
Set up phone-harness for me. Clone https://github.com/ShawnPana/phone-harness into ~/.phone-harness (its canonical home), read `install.md` first, install it so `phone-harness` is a command on my PATH, and register it as an agent skill named phone-harness using `phone-harness skill` as the body, so you reach for it automatically. Then read `SKILL.md` for normal usage, and always read `src/phone_harness/helpers.py` because that is where the functions are. Then read `onboarding.md` and walk me through it.
(以上为官方安装 Agent 的标准引导语,可替换项目名适配 OpenViking)
Agent 通过 viking:// URI 读写上下文,典型操作:
# 写入记忆
viking://user/{user_id}/memories/preferences/writing_style # L2 写入用户写作风格偏好
# 按需读取(Agent 根据任务深度自动选 L0/L1/L2)
# L0 返回一句话摘要,快速判断相关性
# L1 返回结构化概述,用于任务规划
# L2 返回完整原文,用于深度推理
使用场景与人群
适用场景:需要长期记忆的 Agent(客服、助手、研究代理)、多 Agent 协作项目(共享上下文层)、企业知识库 RAG(分层索引 + 轨迹审计)、个人 Agent 效率工具(偏好记忆 + 跨会话学习)
目标用户:Agent 开发者与框架维护者、企业 AI 应用架构师、RAG 系统性能优化者、AI 产品经理(评估 Agent 记忆层方案)
输入与输出案例
案例 1:用户偏好记忆
- 输入:用户连续三天在对话中表示「喜欢简洁的技术文档,不要太多废话」
- 输出:OpenViking 异步提取写入
viking://user/{id}/memories/preferences/writing_style,后续 Agent 自动缩短输出,避免冗长
案例 2:分层文档检索
- 输入:Agent 需要了解某项目的 API 认证机制,但只有模糊的「认证」关键词
- 输出(Level 0):
viking://resources/my_project/docs/auth/.abstract→ “项目使用 OAuth 2.0 + JWT 进行 API 认证” - 如需详情,Agent 继续加载 L1(概述)或 L2(完整 auth.md),而非把整个项目文档塞入 context
评论区
登录后可评论。