【开源】OpenViking:专为AI Agent打造的新一代上下文数据库,让Agent拥有持久记忆

项目简介

OpenViking 是字节跳动开源的一款专为 AI Agent 设计的上下文数据库(Context Database),旨在解决 AI Agent 在长任务运行中面临的上下文管理难题。它采用了创新的”文件系统范式”来统一管理 Agent 所需的记忆、资源和技能,让开发者可以像管理本地文件一样构建 Agent 的大脑。目前在 GitHub 已获得超过 22,000 颗星,社区活跃,获得了广泛关注。

核心问题与解决方案

在构建 AI Agent 时,开发者通常面临以下痛点:

碎片化上下文:记忆存在代码中,资源在向量数据库里,技能分散在各处,难以统一管理。上下文需求激增:Agent 长任务运行时,每个执行步骤都会产生上下文,简单截断或压缩会导致信息丢失。检索效果差:传统 RAG 使用扁平化存储,缺乏全局视野,难以理解信息的完整上下文。上下文不可观测:传统 RAG 的隐式检索链就像一个黑箱,出错时难以调试。记忆迭代能力弱:现有记忆只是用户交互的记录,缺乏 Agent 相关任务的记忆能力。

OpenViking 通过以下创新方式解决这些问题:文件系统管理范式,通过目录结构统一管理记忆、资源和技能。分层上下文加载,L0/L1/L2 三层结构,按需加载,大幅节省 Token 消耗。目录递归检索,结合目录定位和语义搜索,实现递归精确的上下文获取。可视化检索轨迹,支持目录检索轨迹可视化,用户可清晰观察问题根因。自动会话管理,自动压缩对话中的内容、资源引用、工具调用等,提取长期记忆,让 Agent 越用越聪明。

安装方法

环境要求:Python 3.10+、Go 1.22+(用于构建 AGFS 组件)、C++ 编译器 GCC 9+ 或 Clang 11+(用于构建核心扩展)。

通过 pip 安装 Python 包:

pip install openviking --upgrade --force-reinstall

可选安装 Rust CLI:

从 GitHub releases 下载对应平台的二进制文件,或通过源码编译安装。安装完成后,可通过 openviking 命令行工具管理上下文数据库。

使用方法

初始化项目:在项目目录下初始化 OpenViking,它会自动创建必要的目录结构。添加记忆:通过 openviking add memory 命令向 Agent 添加记忆内容,这些内容会以文件形式存储在项目目录中。添加技能:使用 openviking add skill 添加技能文件,支持 Python、Shell 等多种格式。分层加载:OpenViking 会根据请求自动从 L0(基础层)、L1(中间层)、L2(高级层)加载对应的上下文,实现成本与效果的平衡。检索追踪:通过 openviking trace 命令查看检索轨迹,了解每个上下文的命中原因。

适用场景

长期记忆 Agent:为需要跨会话记忆的 AI Agent 提供持久化上下文存储。多 Agent 协作:在多 Agent 系统中统一管理各 Agent 的上下文,避免信息孤岛。复杂任务处理:需要大量中间状态和上下文的长程任务,如代码生成、文档分析等。研究与实验:用于 AI 研究中的上下文管理实验,追踪 Agent 决策过程。

开源协议

OpenViking 采用 Apache 2.0 开源许可证,欢迎社区贡献代码和提出问题。项目维护了详细的中文文档,对国内开发者非常友好。GitHub 仓库地址:https://github.com/volcengine/OpenViking


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容