字节开源 OpenViking:用文件系统范式重新定义 AI Agent 知识库
字节开源了一个叫 OpenViking 的项目,定位不是 RAG 平台,而是专为 AI Agent 设计的 Context Database。3 个月 2.2w Star,核心思路是用文件系统范式统一管理 Agent 的记忆、知识和技能。
字节开源了一个叫 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 手册、代码库) | 用户主动添加 |
| Memory | Agent 对用户和世界的认知 | 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 tokens | Rerank、内容导航 |
| 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 / RAGflow | OpenViking |
|---|---|---|
| 定位 | 完整 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 里有
openclaw和opencode,和 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%免费】

更多推荐




所有评论(0)