跳到正文
IFAI

开源项目

字节跳动开源 OpenViking:用文件系统管理 Agent 记忆与上下文

首次发布 传播指数 48

字节跳动开源 AI Agent 上下文管理系统 OpenViking。它不再把上下文切碎成扁平向量,而是以文件系统目录来统一管理 Agent 的记忆、资源和技能。通过 L0 到 L2 的分层按需加载,既降低了 Token 消耗,也让检索轨迹全程可视化。

字节跳动开源 OpenViking:用文件系统管理 Agent 记忆与上下文
图:aicost.org

OpenViking 是字节跳动开源的 AI Agent 上下文管理系统。它不再把长文本切成零散的向量切片,而是建立了一套虚拟文件系统,让 Agent 像管理本地文件夹一样组织记忆、技能与资源。

在做复杂任务时,传统的检索增强生成(RAG)往往依靠扁平的向量搜索。这不仅容易丢失上下文结构,还会一口气把大量碎片文本塞进提示词,导致 Token 消耗飙升。

它能做什么

OpenViking 把所有上下文归入 viking:// 协议下的虚拟目录。记忆被清晰划分在用户和 Agent 对应文件夹中,开发者可以用类似查看目录、读取和查找文件的逻辑去调用数据。

系统最核心的设计是分层上下文按需加载。它把内容切分为三个层次:L0 是 100 Token 左右的极简摘要,L1 是不超过 2000 Token 的功能概览,L2 才是完整的详细内容。

Agent 在检索时先看摘要,只有确认需要细节时才会逐步加载深层内容。根据类似场景的基准测试,这种递归检索机制在嵌套查询场景下能将检索延迟降低最高 30%,同时显著节省 Token 开销。

系统还提供了可视化的检索轨迹。Agent 翻阅了哪些目录、挑中了哪些文件,后台都会完整记录下来,方便开发者直观排查和调试。

怎么用起来

整个项目采用 Apache 2.0 协议开源,底层索引使用了 C++ 扩展以保证性能。它支持通过兼容 OpenAI 的接口接入视觉语言模型,能同时处理文档、链接和图片等多种模态数据。

调用方式也比较简单。开发者在 Python 中初始化本地数据路径后,传入网页或本地文件,系统就会自动完成解析并生成多层摘要。

在多轮对话运行过程中,它还会自动从会话和工具调用里提炼新信息,写回记忆目录,让 Agent 实现经验的自迭代进化。

为什么重要

如果你正在开发需要长周期运行、多步骤规划的复杂 Agent,或者正被传统 RAG 的碎片化召回搞得焦头烂额,OpenViking 值得直接下载尝试。

比起单层向量库拼接出来的方案,用文件系统来管记忆给 Agent 带来了清晰的层级感,检索逻辑也变得透明可查。不过这种树状结构的优势取决于内容本身是否具备分类逻辑,面对完全杂乱无章的扁平数据时,效果提升可能会相对有限。

来源 (1)

  1. [1]

每日 AI 内容精选