乐于分享
好东西不私藏

扒了Claude Code的源码后,给我的OpenClaw龙虾装了一套"进化系统",它现在能自己总结经验了

扒了Claude Code的源码后,给我的OpenClaw龙虾装了一套"进化系统",它现在能自己总结经验了

春节的时候,一款名为clawdbot的AI助手火了(当然他现在叫OpencClaw了),我也装了一只,并给它取了个名字叫”小白”。

不是Siri那种一问一答的工具,是一个真正能帮我做事的助手——分析投资机会、处理工作消息、管理日程……

但用着用着,我发现一个问题。

它有一个根本缺陷

养过龙虾的可能都有这种感觉?

跟它聊了半小时,结果它说”抱歉,我不记得我们刚才聊了什么”。

这种感觉,在AI领域叫”Context耗尽”——就像你刚和一个人聊完工作,他转头就忘了你是谁。

这就是小白之前给我带来的困惑。

每天要处理大量的任务:分析财报、研究投资机会、处理飞书消息……

但它的”记忆”是有限的。每次对话都是从零开始,相同的坑踩了一遍又一遍。

我说:”上次不是说过了吗?”

它回复:”抱歉,我不记得了。”

就像一个总会在关键时刻忘记了重要事情的不靠谱。结果它还一脸无辜。

我给小白建一套”三层记忆系统”

事情发生在前2周,契机是claude code 源码泄露了。作为优秀的编程界的AGENT,有着非常优秀的记忆系统。

于是我让小白把源码下载下来,花了1天的时间进行了源码的深入分析和学习。

它为自己制定了7个可以进化的地方。其中就有最为重要的记忆系统。

核心理念是:不是让AI记住所有事情,而是让它学会”知道去哪里找”。

就像一个好的图书管理员,不需要记住每一本书的内容,但知道《投资心理学》在第几排第几架。

第一层:MEMORY.md(索引目录)

这是小白的”图书馆目录”。只有几千字,记录着”我有哪些知识,存在哪里”。

比如:

  • 唐朝投资分析模式 → 在 semantic/tang-investment.json

  • KAIROS后台运行机制 → 在 semantic/kairos.json

第二层:semantic/(模式库)

这是小白的”工具手册”。不是具体的事件,而是抽象的方法论。

比如”如何分析一家公司的投资价值”,这是可以复用的。

第三层:episodic/(经历库)

这是小白的”工作日志”。记录具体发生过的事情。

三层内存的记忆是如何产生的?

这里不得不说我让小白从Claude Code 挖到的另一个宝藏了。KAIROS系统——一个后台运行的自动进化系统。

尽可能简单的描述一下,它每隔6小时运行一次(趁小白空闲的时候),做三件事:

1. 收集:回顾这6小时发生了什么2. 提炼:从具体事件中提取出可以复用的模式3. 修剪:把过时的东西删掉,腾出空间

举个例子:

某天小白解决了一个QMD配置的问题,KAIROS记录下来,分析出这是一个可以复用的经验,就把它存到”模式库”里。

下次再遇到类似问题,小白就能快速调用。

这就是”进化”——不是凭空变聪明,而是从错误和成功中学习。

核心工作流程

用户对话结束    cron触发(每4小时/下次心跳)    ┌─────────────────────────────────────────┐  Orientation 方向识别层                    - 分析时间上下文(凌晨/日间/周末)          - 分析内容类型(决策/学习/任务)            - 决定整合深度(light/normal/deep)      └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step1SessionReader 读取会话             - 直接读取 .jsonl transcript 文件          - 合并 checkpoint 消息                    - 合并 toolResult 碎片                   └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step2LLM 分析                           - 构建分析 prompt(注入 orientation)      - 调用 MiniMax API                       - Coordinator 解析 LLM 输出               - 提取 events / patterns / memoryEntries └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step3: 事件写入                           - EventLogger 写入 events/YYYY-MM-DD.jsonl  - 从高置信度事件提取 pattern 候选          - 注入 pendingDistill(待提炼队列)      └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step4Patterns 更新                     - 相似度检测(70%强制合并,60-70%普通合并)  - degradePatterns 降权衰减                - QMDIntegrator 写入 SQLite             └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step5MEMORY.md 追加                    - 追加重要决策/经验到长期记忆            └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step6Episodic Record 生成               - 写入 episodic/ 经历档案               └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  Step7: 修剪归档                           - 置信度0.25 或 引用=114+  归档      - 永不删除,只归档                       └─────────────────────────────────────────┘    ┌─────────────────────────────────────────┐  DREAMS: 语义提炼(触发时)                - 每3周期 或 pendingDistill8 时触发       - 从 patterns 提炼高层次智慧               - 写入 DREAMS.md                        └─────────────────────────────────────────┘

你看它就是通过日常的对话,搜集、分析、整理提炼,把历史的会话记录进行分层。这样它就不断从历史的经验中沉淀更多的能力,让我越用越顺手。

有人会问:这不是在”教AI统治世界”吗?

不是。

首先,这些能力都是我授权给它的。它只在规定的框架内学习。

其次,它的”记忆”都存在本地电脑上,不会传到任何服务器。

第三,它的能力是用来帮我解决问题的,不是用来取代谁。

未来会怎样?

现在的小白还处于”被动响应”阶段——我问什么它答什么。

未来的目标是”主动发现”:

  • 我不问,它会主动扫描我关注领域的新动态

  • 发现重大变化,主动推送提醒

  • 越用越懂我的偏好和习惯

就像一个老员工,不仅完成任务,还知道什么时候该主动汇报坏消息。

目前这个已经在规划中了,或许下周就能够实现了。让他能够从对话的只言片语中,猜测我的喜好、习惯和意图。

结语

这套系统大概花了两周时间,主要是我和它一起摸索出来的。

没有请外部专家,没有使用昂贵的商业系统。

技术本身并不复杂,复杂的是找到真正的问题,然后一步步解决。

当然文中描述的这些,也只是这2周完成的工作的一部分,还有一些诸如:

多agent协作管理、协作引擎、semantic 按需加载等。

~/.openclaw/workspace/├── AGENTS.md                           # 编排规则(核心协议)├── SOUL.md                            # 委托原则├── MEMORY.md                          # 长期记忆索引├── USER.md                            # 用户信息├── evolution/│   ├── EVOLUTION_PLAN_FULL.md        # 演进计划总文档│   ├── CLAUDE_CODE_ARCHITECTURE.md   # Claude Code 架构分析│   └── kairos_design.md              # KAIROS 设计文档├── memory/│   ├── semantic/                      # 模式库(第二层)│   │   ├── patterns.json              # 聚合模式文件│   │   ├── tang-investment-analysis.json│   │   └── kairos-self-improvement.json│   ├── episodic/                      # 经历库(第三层)│   │   └── 2026-04-11-*.json│   └── session_tree/                  # 分支状态│       └── session_tree.json├── scripts/│   ├── session-tree.js               # 协调中心│   ├── session-mailbox.js            # 邮箱通信│   ├── session-conflict.js           # 冲突检测│   ├── session-snapshot.js           # 上下文快照│   ├── semantic-loader.js            # 按需加载器│   └── orchestrate-with-patterns.sh  # 集成 wrapper└── skills/    └── orchestrator/                  # 编排 Skill        ├── SKILL.md        └── references/            ├── QUICK_START.md            └── API.md

如果你也在用OpenClaw,或者对这件事感兴趣,欢迎交流。