字节开源 OpenViking:用文件系统范式重新定义 AI Agent 知识库
2026/4/22 2:44:26 网站建设 项目流程

字节开源了一个叫 OpenViking 的项目,定位不是 RAG 平台,而是专为 AI Agent 设计的 Context Database。3 个月 2.2w Star,核心思路是用文件系统范式统一管理 Agent 的记忆、知识和技能。


传统 RAG 的困境

认真做过 AI Agent 的人都知道:上下文管理是最烦的那块

  • • 记忆在代码里,资源在向量库里,技能散落各处
  • • 长任务跑着跑着,上下文撑满,截断就丢信息
  • • RAG 平铺存储没有全局视图,检索结果拼起来凭感觉
  • • 出错了也不知道哪步有问题,链路全黑

字节火山引擎开源的OpenViking给出了一个不一样的方向:把 Agent 所需的一切上下文,用文件系统的范式统一管理。

GitHub:volcengine/OpenViking,3 个月,2.2w+ Star。


OpenViking 是什么

官方定位:专为 AI Agent 设计的 Context Database

思路很直接:别再把 Memory、Knowledge、Tool 分散在三个系统里各管各的,用文件系统把三者收到一起,统一检索,自动演化。


三种上下文类型

类型用途谁来维护
Resource外部知识(文档、API 手册、代码库)用户主动添加
MemoryAgent 对用户和世界的认知Agent 自动提取
Skill可调用的能力(MCP、工具定义)Agent 注册使用

Memory 细分为 8 类:用户画像(profile)、偏好(preferences)、实体记忆(entities)、事件记录(events),以及 Agent 侧的案例(cases)、模式(patterns)、工具知识(tools)、技能知识(skills)。分类干净,三种东西原来都混在一起,OpenViking 分层存储、统一检索。


核心设计:L0/L1/L2 三层信息模型

这是整个方案最值得看的部分。

层级文件大小用途
L0.abstract.md~100 tokens向量检索、快速过滤
L1.overview.md~2k tokensRerank、内容导航
L2原始文件无限制按需加载的完整内容

每个目录自动生成.abstract.md.overview.md。检索时只向量化 L0,命中后用 L1 做 Rerank,真正需要详情才把 L2 全文送进 LLM 上下文。

viking://resources/docs/auth/ ├── .abstract.md # ~100 tokens,向量化用 ├── .overview.md # ~2k tokens,导航用 ├── .relations.json # 关联关系 ├── oauth.md # L2 全文 ├── jwt.md # L2 全文 └── api-keys.md # L2 全文

对比传统 RAG:

  • 传统:所有 chunk 全量向量化,检索结果没层次,上下文拼接靠猜
  • OpenViking:L0 召回 → L1 精排 → L2 按需,Token 省不少

和人查资料的逻辑一样:先看目录 → 读摘要 → 翻全文,按需取用。


文件系统范式

用 Viking URI 寻址所有上下文:

viking://resources/docs/auth/oauth.md viking://user/memories/preferences/ viking://agent/skills/search-web/

操作接口也是文件系统风格:

client.ls("viking://resources/") client.mkdir("viking://resources/my-project/") client.tree("viking://resources/docs/") client.read("viking://resources/docs/auth/oauth.md") client.abstract("viking://resources/docs/auth/") # 获取 L0 client.overview("viking://resources/docs/auth/") # 获取 L1

文件系统的心智模型人人都懂,目录结构天然有层次、有全局视图,传统向量库"只见树木不见森林"的问题在这里直接消失了。


Session 管理与记忆自演化

最实用的特性:自动从对话里提取 Memory

session = client.session() await session.add_message("user", [{"type": "text", "text": "我喜欢深色模式"}]) await session.add_message("assistant", [{"type": "text", "text": "好的,已记录"}]) # commit 触发后台记忆提取 commit = await session.commit() task = await client.get_task(commit["task_id"]) # 等 task["status"] == "completed" results = await client.find("UI 偏好", target_uri="viking://user/memories/")

Commit 之后,后台自动压缩历史对话,提取 8 类记忆写入对应目录。Agent 用得越多,知识库越丰富,不需要手动维护。


快速上手

安装:

pip install openviking --upgrade

初始化(本地 Ollama,入门首选):

openviking-server init

向导自动检测硬件、拉取合适的 Embedding 和 VLM 模型、生成配置文件。

嵌入式用法(单进程,最快起步):

from openviking import OpenViking client = OpenViking(path="./my_knowledge_base") client.add_resource("https://docs.example.com/api.pdf", reason="API 文档") results = await client.find("如何做 OAuth 认证") for ctx in results.resources: print(ctx.uri, ctx.content)

HTTP Server 模式(团队共享、生产):

openviking-server start
from openviking import SyncHTTPClient client = SyncHTTPClient(url="http://localhost:1933", api_key="xxx")

HTTP 模式下任何语言都能接,curl 也行。


检索链路

Query ↓ Intent Analysis(生成 0-5 个类型化子查询) ↓ Hierarchical Retrieval(L0 向量召回 → 目录递归检索) ↓ Rerank(L1 精排) ↓ L2 按需加载 ↓ Context → LLM

检索轨迹可视化是内置的,能直接看到每次检索走了哪些目录路径。出问题有迹可查,不再瞎猜。


和主流方案的区别

OpenViking 不是 RAG 应用平台,是底层 Context 存储引擎,定位更接近"给 Agent 用的数据库"。

维度Dify / RAGflowOpenViking
定位完整 LLM 应用平台Context 存储引擎
存储模型平铺 chunk + 向量文件系统 + L0/L1/L2
Memory基本无或有限8 类自动提取
技能管理通过工具配置统一 URI 寻址
目标用户快速搭 RAG 应用自研 Agent 开发者

用 Dify 搭 RAG 应用的,OpenViking 暂时替代不了。自己写 Agent 框架的,值得认真看。


我的判断

思路是对的。用文件系统范式统一 Agent 上下文,比向量库更直观,也更有层次。L0/L1/L2 是目前见过最系统化的 Token 预算方案。

不足:

  • • 文档还不完整,部分 API 要翻源码
  • • L0/L1 生成依赖 LLM/VLM,有成本
  • • 8 类 Memory 分类,上手有认知负担

定位清楚:这是面向 Agent 开发者的基础设施,不是给普通用户的产品。上下文管理是 Agent 开发绕不开的坑,OpenViking 给了一个系统化的解法,值得参考。

持续关注点:项目 topics 里有openclawopencode,和 Claude Code 等 Coding Agent 的集成正在推进——这条线很有意思。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询