Metacognition Skill
A self-reflection engine for AI agents. Extracts patterns from session transcripts into a weighted graph with Hebbian learning and time decay.
What It Does
- - Maintains a store of categorized insights (perceptions, overrides, protections, self-observations, decisions, curiosities)
- Uses Hebbian reinforcement: repeated insights get stronger, unused ones decay
- Builds a graph of connections between related insights
- Finds clusters of related knowledge that may represent higher-level principles
- Compiles a "metacognition lens" — a token-budgeted summary of active self-knowledge
Setup
- 1. Place
metacognition.py in your workspace scripts/ directory - The script stores data in
memory/metacognition.json (relative to workspace) - The compiled lens outputs to INLINECODE3
- Optionally configure a local embeddings endpoint for semantic similarity (falls back to string matching)
Cron Integration
Set up a cron job to run periodically (e.g., every 4 hours):
CODEBLOCK0
CLI Commands
CODEBLOCK1
Configuration
Key constants in the script:
| Constant | Default | Description |
|---|
| INLINECODE4 | 7.0 | How quickly unreinforced entries decay |
| INLINECODE5 |
3.0 | Maximum strength an entry can reach |
|
LENS_TOKEN_BUDGET | 500 | Token budget for compiled lens |
|
EMBEDDING_SIM_THRESHOLD | 0.85 | Similarity threshold for merging (embeddings) |
|
FALLBACK_SIM_THRESHOLD | 0.72 | Similarity threshold for merging (string matching) |
|
EDGE_SIM_THRESHOLD | 0.35 | Threshold for creating graph edges |
Entry Types
- - perceptions — Things learned from experience
- overrides — Corrections to previous beliefs
- protections — Rules to prevent known failure modes
- self-observations — Patterns in own behavior
- decisions — Policy decisions for future behavior
- curiosities — Open questions with lifecycle (born → active → evolving → resolved)
元认知技能
面向AI智能体的自省引擎。通过赫布学习与时间衰减机制,将会话记录中的模式提取为加权图结构。
功能概述
- - 维护分类洞察存储库(感知、修正、防护、自我观察、决策、好奇)
- 采用赫布强化机制:重复出现的洞察得到强化,未被使用的洞察逐渐衰减
- 构建相关洞察之间的连接图
- 发现可能代表更高层级原则的相关知识集群
- 编译元认知透镜——基于token预算的活跃自我知识摘要
部署步骤
- 1. 将metacognition.py放置在工作区scripts/目录下
- 脚本数据存储于memory/metacognition.json(相对于工作区路径)
- 编译后的透镜输出至scripts/metacognition-lens.md
- 可选配置本地嵌入端点用于语义相似度计算(默认回退至字符串匹配)
定时任务集成
设置周期性定时任务(例如每4小时执行):
元认知集成。你是自省引擎。
- 1. 执行 cd <工作区路径> && python3 scripts/metacognition.py decay 修剪弱化条目。
- 2. 使用 sessionslist + sessionshistory 读取主会话的近期对话记录。
- 3. 分析对话中的深层模式:
- 模式:我是否在重复同类错误?这揭示了什么?
- 预判:人类需要什么本可预见的需求?
- 关系:关于用户的沟通方式或价值取向,我学到了什么?
- 置信度:哪些确信的判断是错误的?哪些不确定的判断是正确的?
- 成长:今日具体事件背后蕴含的更高层级原则是什么?
- 4. 针对每个真实洞察(1-3个,重质不重量),执行添加:
python3 scripts/metacognition.py add <类型> <洞察内容>
类型包括:感知、修正、防护、自我观察、决策、好奇
洞察应以原则形式撰写,而非事件报告。
- 5. 执行 python3 scripts/metacognition.py reweave 构建图连接。
- 6. 执行 python3 scripts/metacognition.py compile 重建透镜。
- 7. 仅在提取到真正有价值的内容时进行报告。
CLI命令
python3 metacognition.py add <类型> <文本> # 添加或合并条目
python3 metacognition.py list [类型] # 列出条目
python3 metacognition.py feedback <正|负> # 强化或弱化
python3 metacognition.py decay # 应用时间衰减
python3 metacognition.py compile # 编译透镜
python3 metacognition.py extract <路径> # 从每日笔记提取
python3 metacognition.py resolve # 标记好奇已解决
python3 metacognition.py reweave # 构建图连接
python3 metacognition.py graph # 显示图统计
python3 metacognition.py integrate # 完整周期
配置参数
脚本中的关键常量:
| 常量 | 默认值 | 说明 |
|---|
| HALFLIFEDAYS | 7.0 | 未强化条目的衰减速度 |
| STRENGTH_CAP |
3.0 | 条目可达到的最大强度 |
| LENS
TOKENBUDGET | 500 | 编译透镜的token预算 |
| EMBEDDING
SIMTHRESHOLD | 0.85 | 嵌入合并的相似度阈值 |
| FALLBACK
SIMTHRESHOLD | 0.72 | 字符串匹配合并的相似度阈值 |
| EDGE
SIMTHRESHOLD | 0.35 | 创建图边的阈值 |
条目类型
- - 感知 — 从经验中学到的事物
- 修正 — 对先前信念的纠正
- 防护 — 预防已知失败模式的规则
- 自我观察 — 自身行为中的模式
- 决策 — 未来行为的策略决策
- 好奇 — 具有生命周期的开放问题(诞生→活跃→演进→解决)