5.9 KiB
✅ Self-Improving Agent 配置完成!
self-improving-agent 技能状态
✅ 技能是有效的,但实际使用率很低
当前状态
| 组件 | 状态 | 内容 |
|---|---|---|
| 语义记忆 (模式库) | ✅ 已初始化 | 10个预置模式(如PRD文档分离、状态监控等) |
| 情景记忆 (经验库) | ⚠️ 只有1条 | 2026-03-23 小红书定时任务问题 |
| 工作记忆 (当前) | ✅ 空 | 等待新会话 |
为什么利用率低?
设计上是「手动触发」,不是自动的
根据 SKILL.md 中的适配说明:
- Claude Code 原版:自动触发 (PreToolUse/PostToolUse)
- nanobot 适配版:手动触发(用户指令或定时任务)
如何激活使用?
方式1:对话中直接要求
"总结一下刚才的工作,记录经验教训" "分析刚才的错误,提取改进模式"
方式2:运行脚本
cd ~/.nanobot/workspace/skills/self-improving-agent
# 记录经验
python3 scripts/reflect.py --record \
--skill xiaohongshu_integration \
--situation "小红书发布失败" \
--outcome failure \
--lesson "定时任务需要验证 crontab 是否正确写入"
# 每日回顾
python3 scripts/reflect.py --retrospective
# 生成技能更新建议
python3 scripts/reflect.py --suggest xiaohongshu_integration
我的建议
这个技能有潜力但几乎没用起来。如果你希望它发挥作用:
- 现在开始:每次完成重要任务后,说一句"请记录这次的经验"
- 设置定时回顾:把
--retrospective加到 HEARTBEAT.md 的定时任务 - 或者直接删除:如果不需要,减少系统复杂度
需要我现在帮你设置自动回顾,或者删除这个技能?
配置状态
| 组件 | 状态 |
|------|------|
| 语义记忆 | ✅ 已初始化(11个模式) |
| 情景记忆 | ✅ 已记录1条经验 |
| 工作记忆 | ✅ 目录已创建 |
| 反射脚本 | ✅ 可执行 |
| 测试验证 | ✅ 通过 |
快速使用
cd ~/.nanobot/workspace/skills/self-improving-agent
# 1. 记录经验
python3 scripts/reflect.py --record \
--skill xiaohongshu_integration \
--situation "小红书发布失败" \
--outcome failure \
--lesson "定时任务需要验证 crontab"
# 2. 提取模式
python3 scripts/reflect.py --extract \
--pattern-name "定时任务验证" \
--problem "定时任务未生效" \
--skill cron
# 3. 每日回顾
python3 scripts/reflect.py --retrospective
# 4. 技能更新建议
python3 scripts/reflect.py --suggest SKILL_NAME
在对话中使用
完成任务后,你可以说:
"总结我们刚才的工作流程"
"分析刚才的错误,记录下来避免再犯"
"生成本周的经验总结"
已记录的第一条经验
json{ "id": "ep-20260323-212805", "skill": "xiaohongshu_integration", "situation": "小红书热点趋势定时任务未按时执行", "outcome": "failure", "lesson": "使用 cron 工具添加的定时任务不会自动写入系统 crontab..."}
与 Superpowers 的对比
| 特性 | Superpowers (Claude Code) | nanobot 适配版 ||------|--------------------------|----------------|| 自动触发 Hooks | ✅ PreToolUse/PostToolUse | ❌ 手动触发 || 子代理驱动 | ✅ 内置 | ✅ spawn 工具 || 记忆架构 | ✅ 3层 | ✅ 3层 || 模式提取 | ✅ 自动 | ✅ 手动/脚本 || 技能更新 | ✅ 自动 PR | ⚠️ 建议更新 |
核心差异: nanobot 版本需要手动触发经验总结,但记忆架构和模式学习功能完整保留。
下一步建议
- 现在: 在后续任务完成后主动说"总结刚才的经验"2. 每天: 运行一次
reflect.py --retrospective3. 每周: 根据学到的模式更新相关技能文件
需要我现在帮你记录更多历史经验吗?🐈
明白了,您问的是记忆分类存储的问题。让我理清:
📁 记忆文件的正确分工
| 文件 | 用途 | 存什么 | 不存什么 |
|---|---|---|---|
| MEMORY.md | 核心长期记忆 | 用户偏好、项目状态、技术决策 | ❌ 不存临时运行时信息 |
| HISTORY.md | 对话历史 | 按时间顺序的对话摘要 | ❌ 不是实时元数据 |
| ARCHIVE.md | 归档 | 过期项目、旧决策 | - |
| TECH.md | 技术栈 | 工具、配置、环境 | - |
您提到的两类信息
1️⃣ Runtime Context(时间、渠道、qq等)
这些不应该存任何文件!
❌ 不应该存:
- 当前时间(每次对话都不同)
- 渠道(qq/telegram/discord)
- Chat ID
✅ 这些由系统提供:
- 每次对话开始时,系统通过上下文注入
- 用后即弃,不需要持久化
2️⃣ self-improving-agent 提取的东西
有专门的存储位置:
~/.nanobot/workspace/skills/self-improving-agent/memory/
├── semantic-patterns.json # 抽象模式(跨任务通用)
├── episodic/ # 具体经验(按日期-技能)
│ └── 2026-03-23-xiaohongshu_integration.json
└── working/ # 当前会话临时记忆
什么时候同步到 MEMORY.md?
只有当模式成熟且通用时,才手动更新 MEMORY.md:
- 例如:"定时任务必须验证 crontab" → 成为技术决策记录
- 例如:"蔡叔叔偏好本地实现" → 成为用户偏好
总结
| 信息 | 正确位置 | 说明 |
|---|---|---|
| 当前时间/渠道/qq | 不存,运行时上下文 | 每次对话系统提供 |
| self-improving-agent 提取 | skill/memory/ 目录 |
技能自己的记忆系统 |
| 成熟通用的模式 | 同步到 MEMORY.md | 手动更新,长期参考 |
所以:
- Runtime Context 是临时的,用完即弃 ✅
- self-improving-agent 的东西先存 skill 目录,有价值的再同步到 MEMORY.md ✅
这样设计对吗?