💡在4月11日的 Lance Meetup 2026 · 北京站上,火山引擎 LAS 研发团队的杨华在下半场的会上分享了 LanceDB 记忆插件在火山引擎 Arkclaw 中的应用与实践。
随着大语言模型的兴起,ArkClaw 正成为人机交互的新范式。一个优秀的 ArkClaw 不仅要能理解和执行指令,更需要拥有强大的记忆能力,才能在复杂的交互中保持上下文连贯,并不断学习、成长。
在火山引擎,我们基于开源框架 OpenClaw 打造了企业级 Agent 平台 ArkClaw。为了给 ArkClaw 装上更强大的“记忆大脑”,我们引入了向量数据库 LanceDB 作为其核心记忆插件,并进行了一系列深度优化。本文将与你分享 LanceDB 在 ArkClaw 中的应用与实践,探讨我们如何构建一个更高效、更智能的 ArkClaw 记忆系统。
一、记忆插件选型:为何是 LanceDB?

在 OpenClaw 的开源生态中,官方提供了两种记忆插件:Memory Core 和 Memory LanceDB。在项目初期,我们对二者进行了详细的对比分析。

虽然 Memory Core 在功能完备性上稍有优势,但 LanceDB 在自动化、扩展性和版本化等关键特性上展现出巨大潜力。我们判断,借助其底层 LanceFormat 对对象存储的良好支持和原生的多版本能力,LanceDB 是构建大规模、企业级 ArkClaw 记忆系统的更优选择。

因此,我们决定基于 LanceDB 社区版进行二次开发,打造了 LanceDB Ultra 插件。该插件不仅补齐了社区版在检索、分层等方面的短板,更经历了火山引擎内部 10 万+线上 ArkClaw 实例的严苛打磨,是一个真正面向生产环境的记忆解决方案。
LanceDB Ultra 核心增强点:
混合检索能力:基于 LanceDB 的 FTS(全文搜索)能力,补齐了“全文+向量”的混合检索,提升召回准确率。
完善的记忆分层:通过引入 Daily Summary 机制,实现了从短期记忆到长期记忆的完整分层体系。
更广泛的 Embedding 支持:除了 OpenAI,还集成了火山引擎豆包 Embedding 服务,并支持离线模型,满足不同场景的部署需求。
接下来,我们将深入介绍 LanceDB Ultra 中几个最具代表性的优化与实践。
二、核心优化实践:打造更智能的记忆系统
为了让 ArkClaw 的记忆更聪明、更可控,我们在 LanceDB Ultra 插件中落地了四大核心特性。
1. 记忆分层与分类:让记忆井井有条

人类的记忆有瞬时、短期和长期之分,ArkClaw 也应如此。社区版的 LanceDB 主要作为长期记忆存储,而我们通过引入 Daily Summary 机制,构建了从日常记忆(短期)到长期记忆的晋升通道,形成了更完整的分层体系。
不仅如此,我们还规划了从短期记忆向长期记忆自动晋升(Promote)的 Autodream 机制,并对长期记忆的分类进行了扩展,增加了 Skill 和 Tool 类别。这使得 ArkClaw 不仅能记住对话内容,还能记住自己掌握的技能和工具,为后续的动态决策打下基础。
2. Autodream:像人脑一样“做梦”和“反思”

“Autodream” 的概念源于对 Claude 源码的分析,它模仿人类在梦境中整理和巩固记忆的过程,对 ArkClaw 的记忆进行自动化规整。我们在 LanceDB Ultra 中实现了自己的 Autodream 流程,主要包含两大步骤:低质量记忆清理和记忆提炼。

它的工作流程如下:
1.无差别转录:首先,用户的每一次输入都会被完整记录为临时的 transcript
日志。
2.短期记忆形成:系统会定期对这些日志进行 daily summary
(每日摘要),形成结构化的短期记忆。
3.长期记忆来源:
- 用户主动投喂:用户可以通过指令明确存入需要长期记住的信息。
- 系统自动捕获:基于 LanceDB 插件的 auto_capture
能力,系统会自动捕获对话中的关键信息。
4.双路召回:当用户与 ArkClaw 交互时,系统会同时从短期记忆和长期记忆中召回相关信息,确保上下文的完整性。
5.Autodream 优化:
- 低质量记忆清理:通过记忆采样和质量评估,自动识别并清理无意义的对话,如打招呼、闲聊等,避免记忆库被污染。
- 记忆提炼:对短期和长期记忆进行整合与精炼,解决记忆的漂移、重复或冲突问题,并能将多个相关的短期记忆合并,提炼为更深刻的长期记忆。
通过 Autodream 机制,ArkClaw 的记忆库得以持续自我净化和迭代,变得更加精炼和准确。
3. Context Engine:为大模型“减负”的上下文总管

Token 成本和上下文窗口长度是制约大模型应用的关键瓶颈。为了解决这个问题,OpenClaw 引入了 Context Engine 框架,它在 ArkClaw 的生命周期中设置了多个“钩子”(Hook),允许开发者精细化地管理和优化输入给大模型的上下文。

我们在 ArkClaw 中深度利用了 Context Engine,实现了 Skill 的动态按需加载,带来了三大收益:
💡 节省 Token
将原本需要全部加载到上下文中的静态 Skill 元数据,替换为当前交互命中的一小部分子集,大幅降低 Token 消耗。
💡 精准匹配
基于用户当前的 prompt 和最近消息,利用向量检索精准匹配最相关的 Skill,提升 ArkClaw 执行任务的准确性。
💡 无限扩展
由于不再受单次上下文窗口的限制,ArkClaw 理论上可以加载和发现无限数量的 Skill,扩展性得到极大增强。
实现流程简介:
1.Skill 注册:在 ArkClaw 启动时,扫描所有可用的 Skill,将其元信息注册到 LanceDB 的一个专门的“Skill Memory”表中。
2.按需检索:在 assemble
(上下文组装)阶段,根据用户意图,从 Skill Memory 表中检索出最相关的 Skill。
3.动态注入:只将检索到的 Skill 注入到当前轮次的上下文中,供大模型决策使用。
4. Git for Memory:让记忆也能拥有版本控制

为了让 ArkClaw 的记忆像代码一样易于管理、可追溯、可回滚,我们引入了 “Git for Memory” 的概念,并基于 LanceDB 的原生多版本能力,在 ArkClaw 中实现了两大产品化功能:

记忆的备份与恢复 (已上线)
- 备份 (Backup):利用 LanceDB 的 tag
特性,用户可以随时为当前的记忆状态创建一个快照,就像 git tag
一样。
- 恢复 (Restore):当发现 ArkClaw 的记忆出现问题或想回到过去的某个状态时,可以一键恢复到指定的备份版本。
分支记忆 (开发中)
- 分支 (Branch):利用我们贡献给社区的 branch
特性,用户可以为记忆创建不同的分支。这在很多场景下非常有用。
- 用户故事 1:内容创作一位小说家可以让不同的 ArkClaw 分支去探索不同的故事情节。当某个分支的情节令人满意时,可以将其 merge
回主线;不满意的则可以直接放弃。
- 用户故事 2:客服答疑客服人员在同时支持内外部客户时,可以将通用的问答方案保存在共享的记忆分支中,而将涉及敏感信息的内部方案隔离在独立的分支里,实现记忆的共享与隔离。
“Git for Memory”赋予了 ArkClaw 记忆前所未有的灵活性和可管理性,为更复杂、更专业的应用场景打开了想象空间。
三、未来展望:走向端云协同的记忆湖 ClawLake

我们认为,ArkClaw 记忆的终极形态将是端云协同的记忆湖(ClawLake)。
在这个架构中,无论用户通过何种终端与 ArkClaw 交互,其记忆数据都将被统一路由到 ClawLake 记忆插件中。该插件同时具备云端服务和本地 Fallback 能力,两者底层均采用 LanceDB 格式,确保端云体验的一致与协同。
ClawLake 架构的核心理念:
分层服务:云端架构分为记忆服务层和记忆存储层。服务层采用 Serverless 架构,提供高可用的记忆读写能力;存储层则包含一层查询加速层和底层的湖存储。
三大湖域:底层的湖存储被划分为三大领域,分别承载不同类型的数据:
- 记忆湖 (Memory Lake):存放 ArkClaw 的交互记忆、反思和提炼出的经验。
- 知识湖 (Knowledge Lake):存储外部知识、文档和领域资料。
- 多模态数据湖 (Multi-modal Data Lake):用于处理和存储图像、音视频等多模态信息。
ClawLake 旨在构建一个统一、可信、高效的记忆基础设施,让 ArkClaw 能够跨越设备和平台的限制,拥有一个持久且不断进化的“云端大脑”。
写在最后
为 ArkClaw 构建一个强大的记忆系统,是一项充满挑战但也极具价值的工作。通过在火山引擎 ArkClaw 中对 LanceDB 的深度应用与优化,我们探索出了一套行之有效的企业级 ArkClaw 记忆解决方案。
从更完善的记忆分层,到模仿人脑的 Autodream 机制,再到为大模型减负的 Context Engine 和赋予记忆版本控制能力的 Git for Memory,这些实践不仅提升了 ArkClaw 的产品能力,也为业界构建更高级的 ArkClaw 应用提供了参考。
当然,目前的方案仍在快速迭代和打磨中,ClawLake 的愿景也才刚刚起步。未来,我们期待与社区一起,继续探索 ArkClaw 记忆的前沿,共同推动 ArkClaw 技术走向新的高度。






