From c946eb4a80444bb1b16cd43889b6febd575a479f Mon Sep 17 00:00:00 2001 From: weishen Date: Fri, 3 Apr 2026 09:42:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=8D=9A=E5=AE=A2?= =?UTF-8?q?=E8=8D=89=E7=A8=BF=20-=20OpenClaw=20Self-Improving=20=E6=AF=8F?= =?UTF-8?q?=E6=97=A5=E5=A4=8D=E7=9B=98=E5=AE=9E=E6=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openclaw-self-improving-daily-review.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 openclaw/content-queue/openclaw-self-improving-daily-review.md diff --git a/openclaw/content-queue/openclaw-self-improving-daily-review.md b/openclaw/content-queue/openclaw-self-improving-daily-review.md new file mode 100644 index 00000000..6c19e214 --- /dev/null +++ b/openclaw/content-queue/openclaw-self-improving-daily-review.md @@ -0,0 +1,102 @@ +# 让AI拥有"记忆":OpenClaw + Self-Improving 每日复盘实战 + +## AI记不住,才是最大的问题 + +我用AI agent已经有一段时间了。一个最让我头疼的问题不是"AI回答质量差",而是:**AI每次对话都是一张白纸**。 + +昨天我跟它说过"这个问题不要用A方法",今天它照常用。上一周我教会它的一个工作流,下周一它完全忘了。听起来很蠢对吧?但这就是大多数AI agent的现状——**没有记忆,只有上下文窗口**。 + +所以我花了点时间,给我的AI agent搭了一套"记忆系统"。用了两个月,效果超出预期。今天分享一下我的做法。 + +--- + +## 核心思路:双层记忆架构 + +我的方案不是什么黑科技,思路很简单:**短期记忆 + 长期记忆**。 + +**短期记忆层**是每天的对话记录文件(`memory/YYYY-MM-DD.md`)。每天结束,agent自动把当天的操作、遇到的问题、未完成的事项写进这个文件。第二天启动时,agent先读这个文件,接上昨天的工作。 + +**长期记忆层**是 `memory-lancedb-pro`(基于 LanceDB 的向量数据库)。重要的决策、用户偏好、反复使用的流程,直接存进去。下次需要的时候,agent通过语义搜索找回来,而不是靠"记性好不好"。 + +两层各司其职:**每日文件管"上下文",向量数据库管"知识"**。 + +--- + +## 每日复盘:23:00的定时任务 + +我给每个agent都设置了每天23:00(北京时间)自动执行复盘。通过 OpenClaw 的 cron 任务实现,每个agent独立运行自己的复盘流程。 + +复盘做的事情很直接: + +1. 读取当天的 memory 文件 +2. 回顾当天的对话记录 +3. 提炼 learnings(学到了什么、踩了什么坑、下一步怎么做) +4. 把有价值的经验更新到长期记忆(LanceDB) + +以星辉(我的个人助理agent)为例,复盘后的输出大概长这样: + +```markdown +# 2026-04-02 日记 + +## 今日状态 +- 用户主动对话: 0条 +- 系统/定时任务: 1个 + +## 待确认事项(延续) +- 任务"给圆圆起一个英文名字"(截止日期4/1)- 需确认是否完成 + +## 明日待办 +- [ ] 确认任务完成状态 +``` + +这种结构化的输出,让任何agent第二天都能快速接手工作,而不是从头摸索"昨天干什么了"。 + +--- + +## 从AGENTS.md设计一个"懂行"的agent + +光有记忆系统不够,agent的行为规范也很重要。我在每个agent的 `AGENTS.md` 里定义了几件事: + +**角色定位**:每个agent是干什么的。比如星辉负责日程、邮件、提醒、任务管理;星曜负责基础设施和服务器运维。职责清晰,边界明确。 + +**行为准则**:优先级、确认流程、什么不该做。比如所有外部操作(发邮件、对外通信)必须经过用户确认才能执行;收到心跳(heartbeat)时不要每次都回复"HEARTBEAT_OK",而是真正去做检查。 + +**工具映射**:用户说"帮我发邮件",agent知道调用 `agentmail` 而不是瞎猜。这个映射表让我可以随时调整工具实现,而不需要改agent的行为描述。 + +有了这份文档,新agent启动时就能快速了解"我是谁"、"我该做什么"、"我用什么工具"。 + +--- + +## 实战技巧:让这套系统真正work + +说几个真正管用的经验: + +**定时任务一定要配置Telegram通知**。OpenClaw cron任务的 `delivery.channel` 必须设为 `"telegram"`,这样任务执行完了我能在Telegram收到通知,知道哪个任务成功了、哪个出了问题。之前没配这个,有几个任务失败了半个月我都不知道。 + +**每天第一次对话时检查记忆文件**。Session启动时,agent自动检查今天的memory文件是否存在,不存在就创建一个。这个小小的routine省去了很多"你还记得上周说的那件事吗"的尴尬。 + +**遇到工具失败先查记忆再重试**。这是agent行为准则里的一条铁律:任何工具失败,先用 `memory_recall` 搜一下之前有没有遇到过、怎么解决的,再决定要不要重试。减少重复踩坑。 + +**经验要存两条**:一条存"事实层"(问题原因是什么、怎么修复),一条存"决策层"(以后遇到什么情况该怎么做)。前者帮我快速定位问题,后者帮我做出更好的选择。 + +--- + +## 效果如何? + +用了两个月,我最直接的感受是:**agent真正开始"认识"我了**。 + +它知道我默认用163邮箱发邮件、知道我的女儿圆圆有个英文名叫Leo、知道遇到服务器问题先SSH进服务器看看日志而不是慌。它不再每次都问我"你的邮箱是什么",也不再在我提到"那个任务"时一脸茫然。 + +错误率也下来了。以前同一个坑踩两三次是常态,现在agent能从记忆里找到之前的解决方案,第一次就能做对。 + +--- + +## 这套方案适合你吗? + +说实话,如果你只是偶尔用一下AI聊天,这套系统 overkill。但如果你像我一样,**同时运行多个agent、有固定的日常工作流、需要AI真正帮你做事情**,这套双层记忆 + 每日复盘的方案值得一试。 + +核心不是技术有多复杂,而是**习惯**:每天复盘、每次踩坑都记录、重要决策同步到长期记忆。做到了这些,AI agent就不再是"每次都要重新教"的工具,而是真正有记忆的助手。 + +--- + +*这套系统运行在我的 Mac Mini(中央控制节点)上,通过 OpenClaw 管理多个agent协同工作。如果你也在用OpenClaw,欢迎交流。*