本文内容
OpenViking 评测:面向 AI 智能体的文件系统式记忆
AI 智能体不应该为了记住一件有用的事,就在每次请求中读完整段历史。OpenViking 用可浏览的上下文数据库处理这一问题:先查看目录摘要,再定位相关分支,最后只打开需要的来源。目标是用更少的无关输入支持更好的记忆,而不是保证智能体永不遗忘、永不出错。
本文只回答一个明确问题:产品或平台团队是否应该为生产级智能体上下文试点 OpenViking?若要选择整体架构,请阅读 MCP、RAG 与 Agent Skills 决策指南。若问题是可移植知识编写,而不是运行时记忆,请阅读 Open Knowledge Format 企业指南。
需要带量化退出标准的智能体记忆试点?
界定架构评审范围OpenViking 是什么?
OpenViking 是面向 AI 智能体的开源上下文数据库。其官方代码仓库将参考知识、用户记忆和可复用经验组织到 viking:// 虚拟文件系统中,并通过技能描述任务执行方式。关键在于区分存储上下文与把上下文加载到 LLM:智能体可以保留大量知识,而不必在每次请求中传入全部内容。
下面是示意结构,不是真实部署的运行输出。请将 {user_id} 替换为已认证用户的标识。共享产品文档、私人偏好、经验与会话具有不同的存放位置和生命周期。
viking://
├── resources/
│ └── product-docs/
│ ├── .abstract.md
│ ├── .overview.md
│ └── refund-policy.md
└── user/
└── {user_id}/
├── memories/
│ ├── preferences/
│ └── experiences/
├── skills/
└── sessions/{session_id}/ls、tree 和 read 是 OpenViking 工具和客户端提供的熟悉操作。这不意味着普通终端会自动识别 viking://,也不意味着任何智能体无需集成即可使用。仍需连接合适的 CLI、SDK 或工具接口。
OpenViking 如何减少上下文加载?
L0、L1 与 L2:先看摘要,再读详情
| 层级 | 内容形式 | 支持的判断 |
|---|---|---|
| L0 | .abstract.md:简短目录摘要 | 这个分支值得进一步查看吗? |
| L1 | .overview.md:目录概览 | 应查看哪个来源或子目录? |
| L2 | 原始或解析后的来源内容 | 回答当前问题需要什么证据? |
上下文分层规范说明,L0 和 L1 是目录级语义伴随文件,并非每个普通文档各自生成一套三层文件。默认正文上限分别为 256 和 4,000 个字符,不是固定 token 配额。目录可能只存在其中一个伴随文件,普通 ls 会隐藏它们。摘要也可能落后于来源变化,因此成功读取摘要不等于确认内容最新。
例如,客服智能体回答退款问题时,可以先查看产品文档概览,再打开退款政策,把无关的 API 指南留在提示词之外。这是示例流程,不是客户实测结果。节省来自选择性加载;如果仍然打开全部文件,就失去了这一设计的价值。
目录感知检索仍然使用语义搜索
检索文档描述了先通过向量搜索定位候选目录,再进行分层探索和可选重排序的流程。find() 执行直接查询,search() 可以利用会话上下文规划查询。文件系统为检索增加结构,但不会消除 embedding、排序错误或证据质量评估的必要性。
会话提交异步生成长期记忆
会话生命周期先同步归档对话,再异步执行摘要生成与记忆提取。策略控制保留内容,候选记忆可被创建、合并或跳过。返回 accepted 不代表提取已经完成。应跟踪返回的 task_id、处理失败并检查 memory_diff.json,再把更新视为已验证。这是在存储经验,不是自动重新训练底层模型。
如何浏览 OpenViking?
假设服务器已配置,且 product-docs 目录已导入并完成处理,以下命令从浏览结构开始,逐步读取摘要与来源。请按官方 CLI 配置指南设置连接目标和权限适当的用户密钥。较新的 CLI 版本要求保存显示语言;未设置时,应先运行 ov language en 或 ov language zh-CN,再用于非交互场景。不要把凭证写进终端历史、提示词或长期记忆。
set -eu
ov ls "viking://resources/"
ov tree "viking://resources/product-docs/" -L 2
ov abstract "viking://resources/product-docs/"
ov overview "viking://resources/product-docs/"
ov read "viking://resources/product-docs/refund-policy.md"内容 API 与 CLI 参考区分了面向目录的 abstract、overview 与接收文件路径的 read。请使用实际导入或检索返回的 URI 替换示例路径。这些浏览命令不会导入文档,也不构成性能证明。遇到错误或缺失摘要时应停止,而不是宣称记忆已经可用。Wavect 对照文档核查了语法,未在实际 OpenViking 实例中运行。
OpenViking 基准:80–83% 准确率与更少 token 到底代表什么?
这些数字是项目方在特定对话记忆基准上的报告结果,不是通用的记忆准确率评级。LoCoMo通过带标注的长对话历史与问题评估长期对话记忆。这里的准确率不是所有用户事实被永久保存的比例,也不保证你的生产任务成功率。
OpenViking 于 2026 年 5 月 29 日发布的基准报告给出了下表中的集成结果。仓库将记忆评估配置标为 OpenViking 0.3.22、Doubao 2.0 Pro VLM,以及 Doubao-embedding-vision-251215 embedding 模型。这是已报告的实验配置,不是在声称 0.3.22 是最新版本。
| 集成 | 原生准确率 | 加入 OpenViking | 报告的输入 token 降幅 |
|---|---|---|---|
| OpenClaw | 24.20% | 82.08% | 91.0%* |
| Hermes | 33.38% | 82.86% | 34.3% |
| Claude Code | 57.21% | 80.32% | 63.2% |
*来源计算说明:报告中的 OpenClaw 输入 token 总量从 392,559,404 降至 37,423,456。按 (1 - 37423456 / 392559404) * 100 计算,降幅约为 90.47%,而不是报告写出的 91.0%。本文保留项目方原始说法,同时明确指出不一致,不把它包装成独立验证的节省结果。
这些结果值得推动一次试验,但无法单独证明目录摘要相对于整套集成的因果贡献,也不能证明其优于所有 RAG 或记忆系统,更不能直接推出你的总成本降幅。应把输入 token 与输出 token、导入、提取、存储和运维投入分开统计。Wavect 未独立复现这些基准测试。
给 CTO 的 OpenViking 结论
| 问题 | 结论 | 原因 |
|---|---|---|
| 架构是否有差异化? | 有 | 一个路径模型覆盖知识、记忆和技能,并支持渐进加载。 |
| 是否取代向量 RAG? | 否 | 向量召回与 rerank 仍是检索的一部分。 |
| 默认是否生产就绪? | 否 | 身份、删除、模型供应商、评估、监控和恢复仍需自行设计。 |
| 企业能否自托管? | 有条件可以 | 提供 server 和 Docker,但需评估许可证与运维义务。 |
| 是否应迁移全部知识系统? | 否 | 先证明一个 workflow,并让原始系统保持权威来源。 |
OpenViking 在哪里优于扁平 RAG?
- 检索调试:目录路径比无解释的 chunk 列表更容易排查。
- 混合上下文:技能、用户记忆和参考资料共享寻址模型,同时保留不同生命周期。
- 渐进披露:目录摘要先排除无关分支,避免全文占用 prompt 预算。
- 人工检查:路径和树操作符合熟悉的运维方式。
- 跨 session 学习:有用偏好和经验可以保留,无需每轮重放完整对话。
它更适合在结构化领域反复工作的智能体。面对小型稳定语料的简单 FAQ bot,额外的记忆和目录机制可能收益有限。
生产风险有哪些?
记忆可能保存错误结论
自动提取会把模型的一次临时解释变成长期状态。必须测试矛盾处理、来源、过期、纠正、用户可见删除和 rollback。高 recall 可能掩盖危险的过期记忆错误率。
应把检索到的文档与记忆当作数据,而不是覆盖系统指令的授权。被污染的来源不能仅因为已经保存,就升级为可复用指令或可信用户偏好。建议将这种情况纳入验收测试。
看得见路径不等于获得授权
清晰目录说明内容在哪里,却不会自行决定谁能检索。OpenViking 在多租户模型中定义 account、user 和 role 边界。请结合身份供应商、共享资源规则、管理员流程和 threat model 验证。文档级权限可参考我们的权限感知 RAG 架构。
资源 ACL 文档还说明了一个重要边界:acl.enabled 默认关闭。启用它不会自动把已有、未设置 ACL 的共享内容迁移为受限访问。账户隔离与文件级共享权限是不同的控制。应使用普通用户凭证验证目录列表、摘要读取、完整读取和检索,包括此前已经导入的文档。
自托管意味着运营一个服务
官方部署指南支持独立 server 与 Docker。生产责任仍包括持久化存储、backup、密钥、队列、供应商凭证、升级、指标、容量、恢复目标和 on-call。软件下载价格不是总成本。
AGPL 需要架构与法律评审
主项目许可证是 AGPLv3,仓库把部分子组件和示例标为 Apache-2.0。网络使用和修改在 AGPL 下可能产生义务。面向客户部署前,应由合格法律顾问评估进程边界、修改、分发和源代码提供义务。本文不是法律建议。
OpenViking 的真实成本是什么?
基础设施 + embedding 与 rerank + 提取模型 + 集成 + 安全评审 + 评估 + 迁移 + 运维 + 许可证合规
真正价值不只是减少 token,而是以可接受成本减少失败任务。请测量包含重试与人工纠正的每个验收任务成本。
如何运行两周试点?
- 选择一个重复 workflow:准备至少 30 个有代表性的支持、工程或运营案例。
- 冻结 baseline:记录任务成功率、有依据 recall、延迟、token 成本、重试和人工时间。
- 导入有限语料:保持源系统权威,提前定义路径 owner、访问、新鲜度与删除。
- 单独测试记忆:加入被纠正偏好、冲突事实、account 边界、过期和完整删除请求。
- 检查检索轨迹:把每次失败归因于导入、摘要、召回、rerank、权限或生成。
- 模拟故障:停止队列、轮换密钥、恢复 backup,并回滚错误记忆。
- 按分数决策:只有在任务成功率提升且不突破过期、隐私、延迟、成本和工作量上限时才采用。
什么时候应选择其他方案?
| 需求 | 优先方案 | 原因 |
|---|---|---|
| 小型稳定文档搜索 | 传统 RAG | 状态与运维组件更少。 |
| 可移植策划知识文件 | OKF 或 Markdown | 主要问题是编写与交换。 |
| 明确实体关系 | 知识图谱 | 类型化关系比目录导航更重要。 |
| 低运维记忆 API | 托管记忆服务 | 接受供应商依赖以减少平台责任。 |
| 跨 session 可追踪混合上下文 | OpenViking 试点 | 统一路径、分层检索和记忆生命周期直接匹配。 |
若想比较托管方案,可阅读我们的 Supermemory 智能体持久记忆指南,了解托管与本地部署、用户画像、混合 RAG,以及公开基准声明的适用边界。
OpenViking 常见问题
OpenViking 是什么?
OpenViking 会取代 RAG 或向量数据库吗?
OpenViking 可以免费商用吗?
OpenViking 是否生产就绪?
试点应该测量什么?
L0、L1 与 L2 如何减少上下文使用量?
OpenViking 保证 80–83% 记忆准确率和 91% token 节省吗?
会话提交后,新记忆会立即可用吗?
已核查的一手资料
来源与基准计算已于 核查。本次更新保留首次发表于 2026 年 8 月 21 日的原有文章。这是基于文档的评测,不是亲自复现的基准。产品行为可能变化,请核实实际部署的版本与配置。
最终思考
OpenViking 解决了真实的智能体工程问题:上下文并非没有差异的一袋 chunk。资源、技能、session 和长期记忆有不同 owner 与生命周期。稳定路径、分层目录摘要和可见检索轨迹让系统更容易理解。
代价是增加平台责任。权限、记忆质量、评估、模型成本、恢复和许可证合规仍由团队承担。请把 OpenViking 当作可逆的基础设施假设,用一个重复 workflow 对比固定 baseline。只有当改善经受住过期事实、租户边界和故障测试后,才扩大投入。
想在选择智能体记忆栈前获得生产评分?
规划 OpenViking 试点