字节开源 OpenViking:用文件系统范式重新定义 AI Agent 知识库
字节开源了一个叫 OpenViking 的项目定位不是 RAG 平台而是专为 AI Agent 设计的 Context Database。3 个月 2.2w Star核心思路是用文件系统范式统一管理 Agent 的记忆、知识和技能。传统 RAG 的困境认真做过 AI Agent 的人都知道上下文管理是最烦的那块。• 记忆在代码里资源在向量库里技能散落各处• 长任务跑着跑着上下文撑满截断就丢信息• RAG 平铺存储没有全局视图检索结果拼起来凭感觉• 出错了也不知道哪步有问题链路全黑字节火山引擎开源的OpenViking给出了一个不一样的方向把 Agent 所需的一切上下文用文件系统的范式统一管理。GitHubvolcengine/OpenViking3 个月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 全量向量化检索结果没层次上下文拼接靠猜•OpenVikingL0 召回 → 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_uriviking://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, reasonAPI 文档) 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(urlhttp://localhost:1933, api_keyxxx)HTTP 模式下任何语言都能接curl 也行。检索链路Query ↓ Intent Analysis生成 0-5 个类型化子查询 ↓ Hierarchical RetrievalL0 向量召回 → 目录递归检索 ↓ RerankL1 精排 ↓ L2 按需加载 ↓ Context → LLM检索轨迹可视化是内置的能直接看到每次检索走了哪些目录路径。出问题有迹可查不再瞎猜。和主流方案的区别OpenViking 不是 RAG 应用平台是底层 Context 存储引擎定位更接近给 Agent 用的数据库。维度Dify / RAGflowOpenViking定位完整 LLM 应用平台Context 存储引擎存储模型平铺 chunk 向量文件系统 L0/L1/L2Memory基本无或有限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%免费】