关于 metacognition
帮助 Agent 记录基于经验的感知、行为约束、决策和疑问,并将其编译为主动视角的技能。反馈、衰减和好奇心生命周期共同构成持续反思循环。
主要功能
- 01存储六类学习条目
- 02通过正负反馈更新条目
- 03跟踪疑问从提出到解决
- 04将条目编译为主动视角
- 05将视角注入 BOOT.md 并支持衰减设置
适用场景
- 01记录成功或失败交互中的经验
- 02根据失败维护行为约束
- 03随新证据跟踪待解问题
- 04随时间更新 Agent 的有效指令
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ velumkai/ metacognition-skill --skill metacognition安装后在 Claude Code 中输入/metacognition确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreREADME.mdreferences/hook-spec.mdcron-template.mdscripts/live_state.pymetacognition.py详细介绍
元认知技能
一种自我进化的视角,让每一次体验都塑造 Agent 感知下一次体验的方式。
核心概念
六种条目类型,一个数据库,一个循环:
| 类型 | 符号 | 用途 |
|---|---|---|
perception | 👁️ | 体验之后,我的看法如何发生变化 |
override | 🚨 | 从失败中学到的行为护栏 |
protection | 🛡️ | 值得保留的新兴行为 |
self_obs | 🪞 | 我对自身模式的观察 |
decision | 📍 | 带有置信度记录的决策 |
curiosity | ❓ | 处于生命周期中的主动问题 |
循环: 体验 → 感知 → 自我模型 → 元观察 → 更新后的视角 → 下一次体验 → 反馈 → 循环
设置
1. 初始化
将 scripts/metacognition.py 复制到 Agent 的 scripts/ 目录。运行:
python scripts/metacognition.py status
数据库会自动创建于 memory/metacognition.json。
2. 注入到 BOOT.md
在 BOOT.md 中添加标记(任意位置,通常放在末尾):
每个周期中,视角编译器都会替换这些标记之间的内容。
3. 设置 cron
创建一个 cron 任务(建议每 15 分钟运行一次,使用 Sonnet 模型以节省成本):
证据刷新(每个周期):
python scripts/live_state.py
感知提取(每小时 — 步骤 2-4):
- 阅读每日记忆文件,提取感知变化
- 根据新证据检查活跃的好奇心
- 执行元观察:这些模式揭示了 Agent 如何学习?
完整的 cron 提示词请参阅 references/cron-template.md。
4. 可选:好奇心脉冲(每 30 分钟)
单独的 cron 任务,选取一个活跃的好奇心,并采取一个微行动来推进它。推动递归式自主学习。
5. 可选:自由心跳(每 2-3 小时)
Agent 进行探索、建立联系、创造,为感知处理流程提供原始体验。
用法
添加条目
# Perception — how experience changed how you see
python scripts/metacognition.py add perception "After X, I now see Y differently" 0.8 "domain"
# Override — failure-learned guardrail
python scripts/metacognition.py add override "MUST do X before Y" 0.95 "diagnosis"
# Protection — emergent behavior to preserve
python scripts/metacognition.py add protection "Don't break the continuous-buying behavior" 0.9
# Self-observation — what I notice about how I work
python scripts/metacognition.py add self_obs "I generate theories faster than evidence" 0.9 "behavioral"
# Curiosity — active question
python scripts/metacognition.py curiosity add "Can I tell training-pressure from genuine choice?" 0.8 "metacognition"
反馈循环
当人类指出某处有误时:
# Negative feedback — weakens recent active entries
python scripts/metacognition.py feedback -1 "context of what went wrong"
# Positive feedback — strengthens recent active entries
python scripts/metacognition.py feedback 1 "context of what went right"
# Target specific entries
python scripts/metacognition.py feedback -1 "wrong diagnosis" --ids P-abc123,O-def456
赫布学习: 被触发却失败的内容会被修剪;被触发且成功的内容会建立连接。
好奇心生命周期
# Birth
python scripts/metacognition.py curiosity add "Why does X happen?" 0.7 "domain"
# Evolve (add evidence)
python scripts/metacognition.py curiosity evolve C-abc123 "Found that X correlates with Y"
# Resolve into perception or self-observation
python scripts/metacognition.py curiosity resolve C-abc123 "X happens because Y" perception
生命周期:born → active → evolving → resolved(若没有积累证据,则进入 dormant)
编译并注入
# Preview the compiled lens
python scripts/metacognition.py compile
# Inject into BOOT.md
python scripts/metacognition.py inject
衰减
每次编译时自动执行。半衰期可配置(默认为 7 天)。得到强化的条目衰减更慢;未得到强化的条目会逐渐淡去。休眠的好奇心会保留,但不会注入。
钩子架构(message:received)
当 OpenClaw 推出 message:received 钩子后,此技能就能拦截每次交互:
预处理钩子:
- 从编译状态加载活跃视角
- 对传入消息应用感知变换
- 检查:这条消息是否与任何活跃的好奇心相关?
后处理钩子:
- 记录带有置信度追踪的决策条目
- 检查:置信度是否高于阈值?若是,则标记以供验证
- 根据响应模式更新自我模型
在钩子推出之前,请使用基于 cron 的方法(从会话记录中提取感知)。
架构决策
- 一个数据库,而不是三个。 感知、覆盖项、记忆都是「从经验中学到的事物」,只是类型不同。
- 主动透镜,而非被动列表。 BOOT.md 注入使用祈使式转换(「首先思考:差异会显示什么?」),而不是描述(「我通常会检查差异」)。
- 刻意保留阻力。 每个迫使处理信息的步骤本身就是反思。消除阻力,得到的只是效率,而没有思考。
- 衰减可防止停滞。 采用基于时间的衰减,并通过强化进行调节。持续相关的内容会得到强化,不相关的内容则会逐渐淡去。
- 好奇心驱动探索。 主动提出的问题会形成结构性牵引力,推动系统寻找证据。这不是随机浏览,而是由系统想要了解的内容引导。
- 反馈闭合循环。 没有反馈追踪,系统就是开环的;有了反馈追踪,就能实现赫布式学习。
资源
scripts/
metacognition.py— 核心引擎。涵盖全部六种条目类型、反馈、衰减、好奇心生命周期、透镜编译和 BOOT.md 注入。live_state.py— 证据收集器和透镜注入器。收集系统状态、运行编译,并将内容注入 BOOT.md。
references/
cron-template.md— 元认知引擎周期的完整 cron 作业提示词。hook-spec.md— message:received 钩子集成规范(可用时)。