文章较长 感谢阅读 或者直接把这篇推文的链接扔给你的龙虾 最推荐看本文的「后话」这一部分

前言

如果你也用OpenClaw

也在不停按照X上各种大佬的架构给它「优化」 (三层架构/AI Agent的第N代/异步任务处理系统/龙虾的自我迭代...)

那你一定对下面的场景不陌生:

  • 装了一堆架构,全是空文件夹📁

熟悉吗?那些架构确实被引进了 或者说 那些优质架构的目录确实被引进了

然后就没有然后了。 文件夹空空如也,Agent 根本不会主动往里面写东西。你以为搭好了骨架,结果只是搭了个空壳。

  • 你的龙虾不会主动用这些架构

你告诉 🦞:「你整理一下我们的东西吧哈哈 记得用新架构噢」。

🦞 说:「好的!」

然后它继续把所有东西都塞进一个巨大的 context 里,完全无视你精心设计的架构。

为什么?我也不知道。

  • 迭代?还是你在手动帮他传宗接代❓

你发现你的龙虾犯了同样的错误N次。

你忍无可忍 问他:

「你第几次犯这个错了 能不能记住 很烦啊」

又或者说

你打开记忆文件,手动添加一条规则。

这确实可能帮你的龙虾迭代了

问题是:你得自己去做这件事。

至少自己骂他一句,但往往只靠嘴说或给它改个记忆

它下次该犯还是犯

但你很忙。你本就有自己的事情要做。

慢慢地,这条教训就被遗忘了,龙虾继续犯同样的错误。

这样的循环继续下去...

慢慢地,记忆只进不出,越来越乱。

你的龙虾的记忆文件变成了这样:

# 每 2 小时扫描索引
0 */2 * * * cd ~/memory-like-a-tree/core && python3 indexer.py --watch

# 每天凌晨 2 点执行衰减
0 2 * * * cd ~/memory-like-a-tree/core && python3 decayer.py --run

# 每天凌晨 3 点执行清理
0 3 * * * cd ~/memory-like-a-tree/core && python3 cleaner.py --auto-cleanup
| 状态    | 置信度     | 说明       |
| ----- | ------- | -------- |
| 🌱 萌芽 | 0.7     | 刚创建的知识   |
| 🌿 绿叶 | ≥0.8    | 活跃使用的知识  |
| 🍂 黄叶 | 0.5-0.8 | 开始衰减的知识  |
| 🍁 枯叶 | <0.3    | 准备归档的知识  |
| 🪨 土壤 | 0       | 已归档,精华保留 |

灵感

三天前的我 和我的龙虾 也是这样

直到一次交流 或者说是一次我丢失了耐心

我说

我们搭了很多骨架,怎么让它长出血肉?我们现在有了很繁壮的树干了,是时候开始学会自己长出枝叶、变绿变黄凋零再发芽、一次次迎接四季更替和迭代了。

长出血肉先放一边。

树。

这个比喻瞬间打通了。

树不需要人告诉它「现在该长叶子了」--------它自己知道

树不需要人告诉它「这片叶子该掉了」--------它自己会掉

树有自己的生命周期:萌芽 → 绿叶 → 黄叶 → 枯叶 → 落叶归根 或是 被风吹走

如果龙虾们的记忆也能像树一样呢?

  • 新知识像嫩芽一样萌发

  • 常用的知识变得茂盛

  • 不用的知识慢慢枯黄

  • 过时的知识自然凋零,随风而去

  • 凋零的知识化为养分,滋养新的成长

这就是 Memory-Like-A-Tree 的起源。

核心理念:置信度驱动的记忆生命周期

这部分比较枯燥且不具活人味 有兴趣可以读 没兴趣就算了哈哈

🌱 记忆的生命周期

每一条知识都有一个「置信度」分数 从0到1 用来描述叶片(知识/记忆)的新鲜程度

为了展现叶片的变化

我们用置信度来具体量化

📈 置信度怎么变化?

变绿(置信度上升)

  • 知识被搜索命中:+0.03

  • 知识被引用使用:+0.08

  • 人工确认重要:设为 0.95

变黄(置信度下降)

  • P2 知识每天未访问:-0.008

  • P1 知识每天未访问:-0.004

  • P0 知识:永不衰减

(P:Priority 一种优先级)

说白了

不是你决定哪些东西重要

使用频率决定

## 重要规则
- 不要用 rm -rf(2024-01-15)
- API 密钥不要硬编码(2024-01-20)
- 记得检查空指针(2024-02-01)
- 用户名不能有特殊字符(2024-02-15)
- 数据库连接要关闭(2024-03-01)
- ... (还有 200 条)

迭代

当你让你的龙虾种下和我们同样的一棵树

🦞会自动定时运行树生长脚本

https://github.com/loryoncloud/memory-like-a-tree

设置完成后,树会自动:

  • 定期索引你的新知识

  • 衰减长期不用的知识

  • 归档低置信度的知识并提取精华

还有很多一并涵盖的理念

为了保障阅读体验 这里不多赘述

GitHub上的README写的非常详尽

整体技术架构

memory/
├── semantic/      # 空的
├── episodic/      # 空的
├── procedural/    # 空的
├──xxxxxxx  #都是空的
└── working/       # 还是空的

实测

我在自己13个Agent组成的龙虾团队中使用了 Memory-Like-A-Tree

这是刚应用第一天的数据

最大的变化是

一切都变得「自然而然」了

树会帮助龙虾来迭代、来找到更珍贵的知识与记忆

安装与使用

目前已经在GitHub上开源:https://github.com/loryoncloud/memory-like-a-tree 这是我第一个较为正式的项目 欢迎 Star ⭐、Fork 🍴、PR 🔧!

如果你也在用OpenClaw

如果你也被记忆管理困扰

试试 Memory-Like-A-Tree。

让你的龙虾的记忆,像树一样生长。

``` ┌─────────────────────────────────────────────────────────────────┐ │ 🌳 Memory-Like-A-Tree │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 数据层 │ │ │ │ MEMORY.md (人类可读) + confidence-db.json (置信度) │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 处理层 │ │ │ │ indexer (索引) → search (搜索) → decayer (衰减) │ │ │ │ ↓ │ │ │ │ cleaner (清理/归档) │ │