字节开源了一个叫 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 startfrom 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时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~