mcpField
M
metacognition

metacognition

github.com/velumkaiAgent 工作流1383 次安装38 周前更新
代码仓库

关于 metacognition

帮助 Agent 记录基于经验的感知、行为约束、决策和疑问,并将其编译为主动视角的技能。反馈、衰减和好奇心生命周期共同构成持续反思循环。

主要功能

  1. 01存储六类学习条目
  2. 02通过正负反馈更新条目
  3. 03跟踪疑问从提出到解决
  4. 04将条目编译为主动视角
  5. 05将视角注入 BOOT.md 并支持衰减设置

适用场景

  1. 01记录成功或失败交互中的经验
  2. 02根据失败维护行为约束
  3. 03随新证据跟踪待解问题
  4. 04随时间更新 Agent 的有效指令

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/velumkai/metacognition-skill --skill metacognition

安装后在 Claude Code 中输入/metacognition确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
references/
hook-spec.md
cron-template.md
scripts/
live_state.py
metacognition.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 钩子后,此技能就能拦截每次交互:

预处理钩子:

  1. 从编译状态加载活跃视角
  2. 对传入消息应用感知变换
  3. 检查:这条消息是否与任何活跃的好奇心相关?

后处理钩子:

  1. 记录带有置信度追踪的决策条目
  2. 检查:置信度是否高于阈值?若是,则标记以供验证
  3. 根据响应模式更新自我模型

在钩子推出之前,请使用基于 cron 的方法(从会话记录中提取感知)。

架构决策

  • 一个数据库,而不是三个。 感知、覆盖项、记忆都是「从经验中学到的事物」,只是类型不同。
  • 主动透镜,而非被动列表。 BOOT.md 注入使用祈使式转换(「首先思考:差异会显示什么?」),而不是描述(「我通常会检查差异」)。
  • 刻意保留阻力。 每个迫使处理信息的步骤本身就是反思。消除阻力,得到的只是效率,而没有思考。
  • 衰减可防止停滞。 采用基于时间的衰减,并通过强化进行调节。持续相关的内容会得到强化,不相关的内容则会逐渐淡去。
  • 好奇心驱动探索。 主动提出的问题会形成结构性牵引力,推动系统寻找证据。这不是随机浏览,而是由系统想要了解的内容引导。
  • 反馈闭合循环。 没有反馈追踪,系统就是开环的;有了反馈追踪,就能实现赫布式学习。

资源

scripts/
  • metacognition.py — 核心引擎。涵盖全部六种条目类型、反馈、衰减、好奇心生命周期、透镜编译和 BOOT.md 注入。
  • live_state.py — 证据收集器和透镜注入器。收集系统状态、运行编译,并将内容注入 BOOT.md。
references/
  • cron-template.md — 元认知引擎周期的完整 cron 作业提示词。
  • hook-spec.md — message:received 钩子集成规范(可用时)。

评论

支持 Markdown