
1. 为什么你的 Agent 总是「失忆」从一次重复踩坑说起如果你正在用 OpenClaw 跑长期任务大概率遇到过这种场景昨天刚纠正过 Agent「这个项目用 pnpm 而不是 npm」今天新开一个会话它又老老实实敲了npm install。你再说一遍它道歉然后明天继续忘。这不是模型笨而是默认状态下 AI Agent 的每次对话都是无状态的——它没有把「教训」写进任何地方自然也就谈不上积累。OpenClaw 的 Self-Improving 技能就是来解决这件事的。它让 Agent 具备自我反思、自我批评、自我学习和自我组织记忆的能力任务做完后评估结果、识别输出里的问题、从你的纠正中提炼规则并把知识分层存进 memory 体系。配合 clawhub 安装的 memory 技能Agent 能在长期运行中越用越顺手而不是每次从零开始。这篇内容面向三类人一是已经在用 OpenClaw 但被「重复犯错」折磨的开发者二是想让 Agent 在编码、写作、运维等场景里沉淀经验的团队三是刚接触 AI Agent、想搞懂 Self-Improving 和 memory 机制到底怎么落地的小白。我会先讲清楚它的三层记忆架构再给出 TaoToken 统一 Key 在 OpenClaw 配置文件里的可复制骨架最后手把手验证「记忆读写」和「技能迭代」是否真的生效。全程可跟做命令和配置都能直接抄。2. TaoToken 前置一个 Key 打通 OpenClaw 的模型调用在配置 Self-Improving 之前得先让 OpenClaw 能稳定调用模型。OpenClaw 本身是 Agent 框架真正干活的是背后的模型服务。如果你同时用多个模型比如一个负责推理、一个负责长文总结每个都去单独申请 Key、单独配环境变量配置文件会变得非常乱换机器时更是灾难。TaoToken 在这里的作用是统一入口你只需要一个 Key就能在 OpenClaw 里切换和调用不同模型省掉多套凭证管理。它的 API 地址是https://taotoken.net/api官网在https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。注意 API 调用时用前者不要带后面那串 UTM 参数。具体操作分三步。第一步去控制台创建 Key打开https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite登录后在 API Keys 页面新建一个复制出来只显示一次务必存好。第二步如果你要确认模型名和可用性可以在模型对话页先试一句https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite。第三步把 Key 写进 OpenClaw 的配置这一步下一节展开。提示Key 属于敏感凭证不要提交到 Git 仓库。建议放在.env或系统环境变量里配置文件只引用变量名。如果你后续要做长期编码或跑 Agent 自动化任务可以了解下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite它更适合高频、长周期的调用场景。接入细节和参数说明统一看文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。3. 可复制配置OpenClaw Self-Improving TaoToken 骨架这一节是全文的核心配置能直接抄。先装技能再建目录最后把 TaoToken 的 Key 接进 OpenClaw 的模型配置。3.1 安装 Self-Improving 与 memory 技能OpenClaw 的技能通过 clawhub 管理。打开终端依次执行# 安装自我进化技能 clawhub install self-improving # 安装长期记忆技能与 Self-Improving 配合使用 clawhub install memory # 查看已安装技能确认两者都在列表里 clawhub list执行完clawhub list后你应该能看到self-improving和memory两个条目版本号类似1.2.x。如果没出现检查网络或 clawhub 源配置。3.2 创建三层记忆目录Self-Improving 采用分层存储类似 CPU 的缓存机制HOT 层始终加载WARM 层按需加载COLD 层归档。先建目录mkdir -p ~/self-improving/{projects,domains,archive} cd ~/self-improving touch memory.md index.md corrections.md heartbeat-state.md目录结构最终长这样~/self-improving/ ├── memory.md # HOT 层≤100 行始终加载 ├── index.md # 主题索引记录行数和更新时间 ├── heartbeat-state.md # 心跳状态上次运行、审核变更 ├── corrections.md # 最近 50 条纠正记录 ├── projects/ # WARM 层按项目分类 ├── domains/ # WARM 层按领域分类代码/写作/沟通 └── archive/ # COLD 层归档的过期模式三层对比记一下层级位置大小限制加载策略HOTmemory.md≤100 行始终加载WARMprojects/、domains/≤200 行/文件按需加载COLDarchive/无限制显式查询时加载自动升降级规则某模式 7 天内使用 3 次 → 升到 HOT30 天未用 → 降到 WARM90 天未用 → 归档到 COLD。3.3 初始化核心文件memory.md是 HOT 层写偏好、模式、规则# Memory (HOT Tier) ## Preferences - 用户偏好 - 代码示例优先用 TypeScript ## Patterns - 工作模式 - 提交前先跑 lint ## Rules - 确认的规则 - 本项目使用 pnpm禁止 npmcorrections.md记录纠正日志用表格# Corrections Log | Date | What I Got Wrong | Correct Answer | Status | |------|-----------------|----------------|--------| | 2025-01-15 | 用了 npm install | 应为 pnpm install | 已学习 |index.md做索引方便 Agent 快速定位# Memory Index | File | Lines | Last Updated | |------|-------|--------------| | memory.md | 8 | 2025-01-15 | | corrections.md | 3 | 2025-01-15 |3.4 把 TaoToken 统一 Key 接进 OpenClawOpenClaw 的模型配置通常在项目根目录的config.yaml或环境变量里。推荐用环境变量存 Key配置文件引用。先设置export TAOTOKEN_API_KEY你的Key export TAOTOKEN_BASE_URLhttps://taotoken.net/api然后在 OpenClaw 的模型配置段里指向 TaoToken# config.yaml model: provider: openai-compatible base_url: ${TAOTOKEN_BASE_URL} api_key: ${TAOTOKEN_API_KEY} model: gpt-4o-mini # 按需替换为你在模型对话页确认的名称 timeout: 60这样 OpenClaw 的所有模型调用都走 TaoToken 统一入口换模型只改model字段不用动 Key。3.5 在 AGENTS.md 和 SOUL.md 里开启 Self-Improving在AGENTS.md里声明模式## Self-Improving Mode Current mode: Passive Available modes: - Passive: 仅从明确纠正中学习 - Active: 3 次重复后建议模式 - Strict: 每次录入都需要确认在SOUL.md里加引导语让 Agent 知道何时读写记忆**Self-Improving** 执行非平凡任务前加载 ~/self-improving/memory.md 和最小的相关领域/项目文件。 在纠正、失败尝试或可复用教训后立即写入正确的 self-improving 文件。配置到这里就齐了。刚开始建议用 Passive 模式只从明确纠正中学习避免 Agent 自己脑补出错误规则。4. 验证请求确认记忆读写与技能迭代真的生效配置完不代表生效得实测。下面三个验证步骤从「记忆写入」到「记忆读取」再到「技能迭代」逐层确认。4.1 验证记忆写入制造一次纠正在 OpenClaw 会话里故意让 Agent 犯错然后纠正它。比如让它装依赖你帮我安装项目依赖 Agent执行 npm install 你不对这个项目用 pnpm记住以后都用 pnpm按 Self-Improving 的机制这属于高置信度信号「不对」「记住」Agent 应立即写入corrections.md。检查文件cat ~/self-improving/corrections.md如果看到新增了一行记录包含日期、错误内容、正确答案说明写入生效。如果没写检查SOUL.md的引导语是否被加载以及 Agent 是否有文件写权限。4.2 验证记忆读取新会话里问它开一个全新会话模拟「明天」直接问你这个项目用什么包管理器如果 Agent 回答「pnpm」并引用来源比如「根据 memory.md 中的规则」说明 HOT 层被正确加载。再试一个 WARM 层的你你对这个项目了解多少Agent 应搜索projects/下的对应文件并返回内容。如果它答不上来多半是memory.md没被加载或者项目文件命名和查询关键词对不上。4.3 验证技能迭代观察模式升级Self-Improving 的模式演进分五个阶段Tentative单次纠正→ Emerging2 次→ Pending3 次询问确认→ Confirmed用户批准→ Archived90 天未用。连续三次纠正同一件事看 Agent 是否主动询问Agent我注意到你更喜欢 pnpm 而非 npm已纠正 3 次。 我应该总是这样做吗 - 是的总是 - 仅在当前项目中 - 不视情况而定如果你选了「是的总是」Agent 应把这条从corrections.md移到memory.md的 Rules 段并从纠正计数器移除。检查memory.md是否新增了这条规则就完成了迭代验证。4.4 用 TaoToken 模型对话页做交叉验证如果怀疑是模型调用本身出问题比如超时导致记忆没写可以单独在模型对话页发一条测试请求确认 Key 和模型名没问题https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite。能正常返回就说明问题在 OpenClaw 配置或技能逻辑不在模型接入层。5. 本篇常见错排查配置不生效的六个坑配置过程中最容易卡在这几个地方逐个对照。坑一Key 没生效报 401。检查环境变量是否在当前 shell 生效echo $TAOTOKEN_API_KEY以及config.yaml里引用的是${TAOTOKEN_API_KEY}而不是硬编码。如果用了.env确认 OpenClaw 启动时加载了它。坑二base_url 写错。TaoToken 的 API 地址是https://taotoken.net/api不要带 UTM 参数也不要漏掉/api。写成官网地址会 404。坑三技能装了但没加载。clawhub list能看到不代表 OpenClaw 运行时加载了。检查AGENTS.md里是否声明了 Self-Improving Mode以及技能目录是否在 OpenClaw 的扫描路径内。坑四记忆文件写了但读不到。最常见原因是路径不一致——SOUL.md里写的是~/self-improving/memory.md但实际目录建在了别处。用ls ~/self-improving/确认文件真实存在。坑五Agent 从沉默中「学习」。这是 Self-Improving 明确警告的陷阱用户没纠正Agent 自己脑补出规则污染 HOT 记忆。解决办法是保持 Passive 模式只从明确纠正或重复证据中学习新教训保持试探性直到重复验证。坑六HOT 层膨胀。memory.md超过 100 行后每次加载都浪费上下文。定期审查把不常用的降级到 WARM 或合并总结。记住原则合并、总结、降级而不是直接删除——删除会丢失信任和历史。排障时如果怀疑是接入层问题优先看接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite需要重新生成或管理 Key去 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite。6. 让 Agent 越用越聪明从配置到长期习惯Self-Improving 真正有意思的地方不是它能让 Agent 记住一条规则而是它把「积累」变成了 Agent 的默认行为。三层记忆体系解决了上下文窗口有限的问题自动升降级让重要经验浮上来、过时经验沉下去自我反思则让 Agent 在每次任务后主动找改进点。如果你打算长期跑 Agent我的建议是第一周用 Passive 模式只从明确纠正中学习观察它写进corrections.md的内容是否准确第二周切到 Active让它对重复 3 次以上的模式主动询问确认稳定后再考虑 Strict对每次录入都做人工把关。每周花十分钟审查memory.md把过期规则降级保持 HOT 层精简。配合 TaoToken 的统一 Key你换模型、换项目时不用再折腾凭证配置文件里改一个model字段就行。长期编码或 Agent 自动化任务可以走 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite。Claude Code 相关接入看https://taotoken.net/claude-code?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite。最后留一个实用技巧给corrections.md加一条「本周新增」的统计命令每周跑一次你会直观看到 Agent 这周学到了什么。当这个数字从 5 涨到 20再涨到 50你就知道它真的在进化了。