news 2026/2/9 3:58:51

深度解析79.5k星AI代理Clawdbot的持久记忆系统架构与实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度解析79.5k星AI代理Clawdbot的持久记忆系统架构与实现

文章介绍了开源AI代理Clawdbot的持久记忆系统。该系统采用本地Markdown存储,结合向量搜索和BM25关键字检索,构建双层记忆架构(每日日志+长期记忆)。系统支持自动压缩、记忆刷新和会话管理,确保信息持久性和上下文连贯性。这种透明、可编辑的记忆架构使AI能够24/7保留对话历史,自主处理现实任务并建立长期交互关系,为大模型应用提供了重要参考。


Clawdbot已经彻底疯狂了,github达到79.5kstar,以至于火到被迫改名了moltbot

Clawdbot 的独特之处在于它能够自主处理现实世界的任务:管理电子邮件、安排日历事件、处理航班值机以及按计划运行后台任务。但真正引起人注意的是它的持久记忆系统,该系统保持 24/7 的上下文保留,无限期地记住对话并建立在前一次互动的基础上。

Clawdbot 采用了一种根本不同的方法:它不是基于云端、由公司控制的记忆,而是将一切都保留在本地,让用户完全拥有自己的上下文和技能。

上下文是如何构建的

在深入探讨记忆之前,让我们先了解一下模型在每个请求中看到的内容:

[0] 系统提示(静态 + 条件指令)[1] 项目上下文(引导文件:AGENTS.md、SOUL.md 等)[2] 对话历史(消息、工具调用、压缩摘要)[3] 当前消息

系统提示定义了代理的功能和可用工具。与记忆相关的是项目上下文,其中包括注入到每个请求中的用户可编辑的 Markdown 文件:

文件用途
AGENTS.md代理指令,包括记忆指南
SOUL.md个性和语气
USER.md关于用户的信息
TOOLS.md外部工具的使用指南

这些文件与记忆文件一起存在于代理的工作区中,使整个代理配置透明且可编辑。

上下文与记忆

理解上下文记忆之间的区别是理解 Clawdbot 的基础。

上下文是模型对单个请求所看到的一切:

上下文 = 系统提示 + 对话历史 + 工具结果 + 附件

上下文是:

  • 短暂的- 仅在此请求期间存在
  • 有界的- 受模型的上下文窗口限制(例如,200K 个 token)
  • 昂贵的- 每个 token 都计入 API 费用和速度

记忆是存储在磁盘上的内容:

记忆 = MEMORY.md + memory/*.md + 会话记录

记忆是:

  • 持久的- 即使重启、数天、数月也能存活
  • 无界的- 可以无限增长
  • 廉价的- 存储无需 API 费用
  • 可搜索的- 为语义检索建立索引

代理通过两个专门的工具访问记忆:

memory_search

用途:在所有文件中查找相关记忆

返回结果

memory_get

用途:在找到后读取特定内容

返回结果

写入记忆

没有专门的memory_write工具。代理使用标准的writeedit工具写入记忆,它将这些工具用于任何文件。由于记忆只是 Markdown,你也可以手动编辑这些文件(它们会自动重新索引)。

写入位置的决定是通过AGENTS.md提示驱动的:

触发条件目标位置
日常笔记,“记住这个”memory/YYYY-MM-DD.md
持久的事实、偏好、决策MEMORY.md
经验教训AGENTS.mdTOOLS.md

在预压缩刷新和会话结束时也会发生自动写入(在后面的部分中介绍)。

记忆存储

Clawdbot 的记忆系统建立在“记忆是代理工作区中的纯 Markdown”的原则之上。

两层记忆系统

记忆存在于代理的工作区中(默认:~/clawd/):

第 1 层:每日日志(memory/YYYY-MM-DD.md

这些是仅追加的每日笔记,代理全天都会在这里写入。当代理想要记住某事或被明确告知记住某事时,代理会写入此处。

第 2 层:长期记忆(MEMORY.md

这是经过策划的、持久的知识。当重要事件、想法、决策、意见和经验教训被学习时,代理会写入此处。

代理如何知道读取记忆

AGENTS.md文件(自动加载)包含指令:

记忆如何被索引

当你保存一个记忆文件时,幕后会发生以下情况:

sqlite-vec是一个 SQLite 扩展,可直接在 SQLite 中启用向量相似性搜索,无需外部向量数据库。

FTS5是 SQLite 内置的全文搜索引擎,支持 BM25 关键字匹配。它们一起允许 Clawdbot 从单个轻量级数据库文件运行混合搜索(语义 + 关键字)。

如何搜索记忆

当你搜索记忆时,Clawdbot 会并行运行两种搜索策略。向量搜索(语义)查找含义相同的内容,BM25 搜索(关键字)查找具有确切标记的内容。

结果通过加权评分组合:

finalScore = (0.7 * vectorScore) + (0.3 * textScore)

为什么是 70/30?语义相似性是记忆回忆的主要信号,但 BM25 关键字匹配可以捕获向量可能遗漏的确切术语(名称、ID、日期)。低于minScore阈值(默认 0.35)的结果将被过滤掉。所有这些值都是可配置的。

这可确保无论你是在搜索概念(“那个数据库东西”)还是具体内容(“POSTGRES_URL”),都能获得良好的结果。

多代理记忆

Clawdbot 支持多个代理,每个代理都具有完整的记忆隔离

Markdown 文件(真实来源)存在于每个工作区中,而 SQLite 索引(派生数据)存在于状态目录中。每个代理都有自己的工作区和索引。记忆管理器由agentId + workspaceDir键控,因此不会自动发生跨代理记忆搜索。

代理可以读取彼此的记忆吗?默认情况下不可以。每个代理只能看到自己的工作区。然而,工作区是一个软沙箱(默认工作目录),而不是硬边界。除非你启用严格的沙箱,否则代理理论上可以使用绝对路径访问另一个工作区。

这种隔离对于分离上下文很有用。一个用于 WhatsApp 的“个人”代理和一个用于 Slack 的“工作”代理,每个代理都有不同的记忆和个性。

压缩

每个 AI 模型都有上下文窗口限制。Claude 有 200K 个 token,GPT-5.1 有 1M 个。长时间的对话最终会触及这个上限。

发生这种情况时,Clawdbot 会使用压缩:将较旧的对话总结为一个紧凑的条目,同时保持最近的消息不变。

自动与手动压缩

自动:在接近上下文限制时触发

  • 你会看到:🧹 自动压缩完成(在详细模式下)
  • 原始请求将使用压缩后的上下文重试

手动:使用/compact命令

/compact 关注决策和未决问题

与某些优化不同,压缩会持久化到磁盘。摘要会写入会话的 JSONL 记录文件,因此将来的会话会从压缩后的历史记录开始。

记忆刷新

基于 LLM 的压缩是一个有损过程。重要信息可能会被总结掉并可能丢失。为了解决这个问题,Clawdbot 使用了压缩前的记忆刷新。

记忆刷新可在clawdbot.yaml文件或clawdbot.json文件中配置。

修剪

工具结果可能非常庞大。单个exec命令可能会输出 50,000 个字符的日志。修剪可以在不重写历史记录的情况下修剪这些旧输出。这是一个有损过程,旧输出无法恢复。

缓存 TTL 修剪

Anthropic 将提示前缀缓存最多 5 分钟,以减少重复调用的延迟和成本。在 TTL 窗口内发送相同的提示前缀时,缓存的 token 成本降低约 90%。TTL 过期后,下一个请求必须重新缓存整个提示。

问题:如果会话在 TTL 之后处于空闲状态,下一个请求将丢失缓存,并且必须以完整的“缓存写入”价格重新缓存完整的对话历史记录。

缓存 TTL 修剪通过检测缓存何时过期并在下一个请求之前修剪旧工具结果来解决此问题。较小的提示重新缓存意味着更低的成本:

会话生命周期

会话不会永远持续。它们会根据可配置的规则重置,为记忆创建自然的边界。默认行为是每天重置。但还有其他模式可用。

模式行为
daily在固定时间重置(默认:当地时间凌晨 4 点)
idle在 N 分钟不活动后重置
daily+idle以先到者为准

会话记忆钩子

当你运行/new开始新会话时,会话记忆钩子可以自动保存上下文:

结论

Clawdbot 的记忆系统之所以成功,是因为它遵循了几个关键原则:

  • 透明胜过黑盒,记忆是纯 Markdown。你可以阅读它、编辑它、对其进行版本控制。没有不透明数据库或专有格式。
  • 搜索胜过注入,代理搜索相关内容,而不是用所有内容填充上下文。这使上下文保持专注并降低成本。
  • 持久性胜过会话,重要信息以文件形式保存在磁盘上,而不仅仅存在于对话历史中。压缩无法破坏已保存的内容。
  • 混合胜过纯,仅向量搜索会遗漏完全匹配。仅关键字搜索会遗漏语义。混合搜索两者兼得。

​最后

我在一线科技企业深耕十二载,见证过太多因技术更迭而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。

我整理出这套 AI 大模型突围资料包:

  • ✅AI大模型学习路线图
  • ✅Agent行业报告
  • ✅100集大模型视频教程
  • ✅大模型书籍PDF
  • ✅DeepSeek教程
  • ✅AI产品经理入门资料

完整的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
​​

为什么说现在普通人就业/升职加薪的首选是AI大模型?

人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。


智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200%,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

​​

资料包有什么?

①从入门到精通的全套视频教程⑤⑥

包含提示词工程、RAG、Agent等技术点

② AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

④各大厂大模型面试题目详解

⑤ 这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

​​​​

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓**

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 1:12:39

选择工业液晶屏供应商的7个关键评估维度:超越价格的技术合作指南

在工业液晶屏的采购决策中,价格固然重要,但绝非决定性因素。选择错误的供应商可能导致产品质量不稳定、技术问题频发、交货延迟,甚至因产品停产而影响您设备的整个生命周期。一个优质的工业屏供应商,应是能够与您共同应对挑战、保…

作者头像 李华
网站建设 2026/2/3 6:36:27

C语言对话-11.根源

徐波 翻译 这个方塔比在录像中看到的还要大一些。 我站在人造悬崖的边缘,它处于挖掘现场的的边缘,旁边是一层稍呈褐色的冰。方塔朝着我的那一面看上去象是纯水晶,表面散发着一种光辉,徐徐向上,在大约距我脑袋十二米的地…

作者头像 李华
网站建设 2026/2/8 3:19:10

基于最小二乘支持向量机(LSSVM)的手写字母识别Matlab代码之旅

基于最小二乘支持向量机(LSSVM)的手写字母识别 matlab代码在模式识别领域,手写字母识别一直是个有趣且具有挑战性的课题。最小二乘支持向量机(LSSVM)作为支持向量机(SVM)的一种改进形式,在这类问题上展现出…

作者头像 李华
网站建设 2026/2/8 0:05:21

Java语言提供了八种基本类型。六种数字类型【函数英特12】

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整…

作者头像 李华