Files
Obsidian/MyBestNanobot/Nanobot配置 Self-Improving Agent.md
coco 8b94d76799 a
2026-07-21 13:57:15 +08:00

5.9 KiB
Raw Permalink Blame History

✅ 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

我的建议

这个技能有潜力但几乎没用起来。如果你希望它发挥作用:

  1. 现在开始:每次完成重要任务后,说一句"请记录这次的经验"
  2. 设置定时回顾:把 --retrospective 加到 HEARTBEAT.md 的定时任务
  3. 或者直接删除:如果不需要,减少系统复杂度

需要我现在帮你设置自动回顾,或者删除这个技能?


配置状态

| 组件 | 状态 |

|------|------|

| 语义记忆 | ✅ 已初始化(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 版本需要手动触发经验总结,但记忆架构和模式学习功能完整保留。


下一步建议

  1. 现在: 在后续任务完成后主动说"总结刚才的经验"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 ✅

这样设计对吗?