斩获53K星!Clawdbot颠覆AI记忆:纯本地Markdown的大模型革命

type
status
date
slug
summary
tags
category
icon
password
网址
notion image
过去一年,几乎所有 AI 产品都在谈一个词:记忆。
ChatGPT 在加“长期记忆”,Claude 开始“更懂上下文”,各种 Agent 框架都在强调“持续对话”。但问题一直没变:这些记忆,到底属于谁?
最近刷屏的开源项目Clawdbot,给了一个完全不同、甚至有点危险的答案。
它不把记忆交给云端,不交给公司,也不藏在黑盒里。它把所有记忆,原封不动地,放在你自己的硬盘上。
这款 MIT 许可的开源个人人工智能助手,由 Peter Steinberger 创建。在经历了一周疯狂增长之后,Clawdbot 很快就在 Github 上拿到 53 k星。
ps:多说一嘴,Clawdbot 的 LOGO 也突然从螃蟹改成了龙虾🦞。
它能做的事情并不稀奇,都是大模型很擅长的事情:管理邮件、安排行程、航班值机、定时跑后台任务……
但最为显著不同的是,它接入 Discord、WhatsApp、Telegram、Slack 等常用聊天工具之后,奇妙的化学反应就产生了:它不会忘。
哪怕你三天不找它,三个月不找它,重启电脑、换模型、清空上下文,它都还记得你们做过的决定、偏好和历史。
这很快引起来圈内开发人士的注意,Clawdbot 究竟怎么做到的呢?
就在刚刚,一位AI研究工程师 Manthan Gupta,特别研究了这个问题。他解构了 Clawdbot 背后的记忆系统,发现与 ChatGPT、Claude 大不相同。
上下文 ≠ 记忆
为了说清这个问题,Manthan Gupta 表示需要搞清楚一个很容易被业界混淆的一个概念:上下文 ≠ 记忆。
“要理解 Clawdbot,必须先把很多产品刻意混淆的两件事拆开。”
什么是上下文?上下文,其实就是模型在这一轮请求中能看到的所有信息,包括:
System Prompt、对话历史、工具返回结果、当前消息等
为什么不管是做大模型开发还是Agent开发,大家一提上下文就会头疼,是因为上下文自带三个缺点:短、贵、有限。
• 短:这一轮用完就没了
• 贵:每多一个 token,成本和延迟都在涨
• 有限:受上下文窗口限制(20 万、100 万 token)
那什么才是记忆?在 Clawdbot 里,Memory 是另一种大家已经习惯的事物:
记忆 = 存在磁盘上的文件
毕竟 prompt 也好,工具返回结果也好,都是给 AI 看的。但磁盘里的 Markdown 文件,确是人类用户能打开、能编辑、能 grep 的 。
这个 Markdown 文件更符合大家对于“记忆”的现象。
• 持久:重启、隔天、隔月都在
• 无界:理论上可以无限增长
• 便宜:不占 API 成本
• 可搜索:已建立语义索引
Manthan 表示,正是基于这一理念,Clawdbot 把 AI 从“会话工具”拉回成了“长期协作者”。
反行业设计:不靠“上下文窗口撑着”,MD文件就够了
Clawdbot 的核心记忆设计,总结起来就是一句话:
Memory is just Markdown.
没有专有数据库,没有云端私有格式,没有你看不懂的内部状态。它的默认目录结构长这样:
~/clawd/
├── MEMORY.md     # 长期记忆(整理后的重要信息)
└── memory/
├── 2026-01-26.md # 今天的流水笔记
├── 2026-01-25.md
└── ...
没有任何“AI 特权”。
两层记忆设计
其中,值得注意的一个关键设计点是,Clawdbot 把记忆分成了两层。
第一层:每日日志(短期、原始)。这一点就像人的工作笔记本。
今天聊了什么、做了什么决定、你随口提过的偏好,它都会写进去:

10:30 AM - API Discussion

Decided to use REST over GraphQL.

4:00 PM - User Preference

User prefers TypeScript over JavaScript.
第二层:长期记忆(整理、沉淀)。这一点可以理解成人类的“脑内知识库”。
当某些信息被反复提及、确认、引用,Agent 会把它们整理进MEMORY.md,比如:
用户长期偏好、已做出的关键决策、项目背景、重要联系人等等。
这一步,相当于从记事本升级成常识。

Long-term Memory

User Preferences

  • Prefers TypeScript over JavaScript
  • Likes concise explanations
  • Working on project "Acme Dashboard"

Important Decisions

  • 2026-01-15: Chose PostgreSQL for database
  • 2026-01-20: Adopted REST over GraphQL
  • 2026-01-26: Using Tailwind CSS for styling

Key Contacts

  • Alice (alice@acme.com) - Design lead
  • Bob (bob@acme.com) - Backend engineer
会话运行时自动加载的 AGENT.md 则规定了读取这些记忆的一些原则:
SOUL.md (备注:这里的soul也是创建者 Peter 称之为没有彻底开源的唯一一点秘密。)告诉你是谁。
USER.md 告诉 agent 正在服务谁。
memory/YYYY-MM-DD.md 则存储当前的 contex。
如果在会话,还需要读取 MEMORY.md.

Every Session

Before doing anything else:
  1. Read SOUL.md - this is who you are
  1. Read USER.md - this is who you are helping
  1. Read memory/YYYY-MM-DD.md (today and yesterday) for recent context
  1. If in MAIN SESSION (direct chat with your human), also read MEMORY.md
Don't ask permission, just do it.
有意思的是,Peter 还特别设置了一条:不要请求权限,干就完了!
记忆文件是如何建立索引的
当记忆文件保存之后,后台就会对这些这些记忆进行切片,建立向量语义索引。
┌─────────────────────────────────────────────────────────────┐
│ 1. File Saved                       │
│   ~/clawd/memory/2026-01-26.md              │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 2. File Watcher Detects Change               │
│   Chokidar monitors MEMORY.md + memory/**/*.md      │
│   Debounced 1.5 seconds to batch rapid writes       │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 3. Chunking                        │
│   Split into ~400 token chunks with 80 token overlap   │
│                               │
│   ┌────────────────┐                   │
│   │ Chunk 1    │                   │
│   │ Lines 1-15   │──────┐                │
Loading...

没有找到文章