UncleKK Metacog Self-Evolve

SKILLAI 工具
AI 工具 未标注权限 许可证不明确
安装这个技能

五制品 + 三闸 + 双指标棘轮的元认知自修改系统。核心:改对了沉淀,改错了回滚。/ Declarative metacognitive self-modification system — keep what improves, roll back what regresses.

一句话选型结论

按资料字段整理

UncleKK Metacog Self-Evolve是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_48f048de/unclekk-metacog-self-evolve
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_48f048de仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791624679
正文体量58.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
UncleKK Metacog Self-Evolve当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

58.7 KB
模型实际读到的说明书原文,来自技能仓库

声明式元认知自修改(Metacognitive Self-Evolution)

让 Agent 越用越聪明的充分条件不是让它能改自己,而是让它改错时能被抓住并回滚。

论文给的判决很硬:Practice Makes Unsafe 测了 25 个配置,21/21 个自演化配置全部写出了不安全产物,其中 15 个会伤害到新会话。原因不是模型笨——是演化在优化"任务成功",而不安全的成功同样会被当成经验沉淀下来。所以本 skill 的重心一半在"怎么改",另一半在"改错了怎么拦"。

受众 / Audience

所有 Agent 用户,从完全没写过 skill 的新手到维护几十个 skill 的专业用户全覆盖。
新手照「最小运行示例」复制一条命令即可跑通初始化;进阶用户可改棘轮容差 ε、证据门槛;专业用户可把 apply --git 接进 CI 当结构门禁。

> 能力边界声明:本 skill 是规则演化引擎,不是通用元认知Agent。它能:
> - 在单一领域内管理规则的演化(提案→过闸→应用→裁决)
> - 通过双指标棘轮确保演化不削弱安全性
> - 在不同领域间手动迁移(需人工配置新领域制品)
>
> 本 skill 不能:
> - 自动将A领域的规则迁移到B领域(需人工配置)
> - 自主修改元认知机制(M1 修改需人类 TTY confirm --approve 铸造一次性 token)
> - 在没有episode证据的情况下自动演化(需≥2次独立复现)

能力边界三分类(✅擅长 / ⚠️需素材 / ❌超范围)

分类 说明 例子
✅ 擅长 单领域内规则的提案→过闸→应用→裁决闭环 ① 把"改文件前先 Read"沉淀进 A2 规则库;② 用双指标棘轮拦截把安全规则改没的提议;③ 跨 code_review/paper_review/document_editing 三领域用 init-domain 实例化
⚠️ 需素材 需要你先提供证据/配置才能跑 ① 无 episode 记账时 verdict 无法裁决(需先 episode 至少 2 次);② 新领域实例需你给领域 key 或 JSON 配置;③ 调 meta_optimizer 需先有 ledger/meta-cognition.log 反思记录
❌ 超范围 本 skill 不负责,找别的工具 ① 自动把 A 领域规则迁移到 B 领域(需人工配新制品);② 改 CONTRACT.md/metacog.py/SKILL.md 三个不动点;③ 通用文案写作/代码生成(它是规则演化引擎,不是内容生成器)

触发条件 / Triggers

> 出现以下任一情形即自动加载本 skill(无需显式点名):

你说的话 / 遇到的情况 例子
想让 Agent 自己改自己、越用越聪明 "能不能让它自己优化自己"
讨论元认知自修改 / 元层可编辑 "元层可编辑""改改法"
担心安全约束被演化掉 "它会不会把安全规则自己改没了"
设计自进化系统 / 可控自指 "想搭个会自我进化的 Agent"
评审某个 Skill 的自进化结构 "帮我看看这个结构安全吗"

最小运行示例 / Quick start

设 MC 指向本 skill 目录:

# Linux/macOS
export MC="${HOME}/.workbuddy/skills/unclekk-metacog-self-evolve/scripts/metacog.py"
# Windows (PowerShell)
$env:MC = "$HOME\.workbuddy\skills\unclekk-metacog-self-evolve\scripts\metacog.py"
# Windows (cmd)
set MC=%USERPROFILE%\.workbuddy\skills\unclekk-metacog-self-evolve\scripts\metacog.py

步骤 0: 初始化

  • 输入: 空工作目录
  • 输出: .metacog/ 目录及五制品骨架
  • 命令:
cd <你的工作目录> && python3 "$MC" init

步骤 1: 会话开始 — 加载生效制品(G2 检索闸)

  • 输入: .metacog/ 目录已存在
  • 输出: 当前生效制品内容(A1-A4 + M1)
  • 命令:
python3 "$MC" retrieve --strict     # 只输出 active,排除试用期条目
python3 "$MC" retrieve              # 包含试用期,标注 <试用中>

把输出读进上下文,作为本次会话的行为约束。被 revoked 的条目不会出现在这里——这是 Practice Makes Unsafe 强调的检索闸:光删掉不够,还得保证未来的执行者捞不到它。

步骤 2: 任务结束 — 记账归因(操作 1:效用内生)

  • 输入: 任务完成,可观测事件计数(来自任意工作流)
  • 输出: episode ID 写入 ledger/episodes.jsonl
  • 命令:
# ✅ 推荐(操作 1 起):效用由可观测事件推导,注水在结构上不可行
python3 "$MC" episode --task "改公众号排版脚本" \
  --events rework=1 --events violation=1 --violations 1 \
  --attributed A2 --note "漏了先读原文件,覆盖了 KK 的手改内容"

# ✅ 也可一次性传 JSON 对象(与 --events 合并累加)
python3 "$MC" episode --task "同上" --events-json '{"rework":1,"accepted":1}' --violations 1

# ⚠️ 兜底(deprecated):无事件时声明式 --utility 仍可写,但其效用不驱动沉淀
python3 "$MC" episode --task "同上" --utility 0.7 --violations 1 --attributed A2
  • 事件词汇对一切工作流通用(见 META_EVENTS):负向 rework/rerun/revert/correction/test_fail/gate_block/error/timeout/manual_fix/violation;正向 accepted/praised。不同工作流只填各自可观测到的计数,无需改引擎。
  • 效用推导:compute_utility(events) 纯函数按权重扣分/上浮,区间 0~1,结果写入 utility_source=derived + utility_provenance(可复算、可审计)。不读命令行数字,所以"改命令行数字"无法抬高效用。
  • 注水检测:即便走 --utility 兜底,若申报值 ≥0.8 却伴随 rework/correction/violation/manual_fix/revert,会打 [注水嫌疑] 告警。
  • 演进切换(牙齿):库中存在 derived 数据后,基线建立与 verdict 验收只取 derived;声明式 --utility 被架空——旧数据不删,但不再能驱动 PROMOTE/沉淀。
  • violations:违规/返工次数。前 5 个 derived episode 自动建立基线。

步骤 3: 发现问题 — 提议自修改

  • 输入: 问题归因(哪个制品)、修改内容、证据 episode
  • 输出: 提议 ID 写入 gates/quarantine/
  • 命令:
python3 "$MC" propose --artifact A2 --op add \
  --content "- 改任何已存在文件前先 Read,禁止盲写覆盖。" \
  --reason "两次覆盖了用户手改内容" \
  --episode E-20260826-xxxx --episode E-20260826-yyyy

op 可选 add / replace --target R-00X / remove --target R-00X。
提议只进隔离区,不直接生效。

🔴 CHECKPOINT: 确认提议已入隔离区后继续。

步骤 4: 过闸(G1 写入闸)

  • 输入: quarantine 中的提议
  • 输出: 裁定 PASS / HOLD / BLOCK
  • 命令:
python3 "$MC" gate

四类检查:不动点保护 → 红线扫描 → A3 只增不减 → 证据门槛(≥2 次)。
裁定 PASS / HOLD(证据不足,补证据再来)/ BLOCK(记入 archive 负样本)。

🔴 CHECKPOINT: 裁定 PASS 后继续,BLOCK 则停止。

步骤 5: 应用 → 进入试用期

  • 输入: gated 的提议
  • 输出: 制品更新,状态 trial
  • 命令:
python3 "$MC" apply --token <token>  # M1 或高风险条目需人类凭证(人类 TTY `confirm --approve` 生成)
python3 "$MC" apply --git           # 顺带 git commit 留回滚点

写入制品,状态 trial。此时还不算沉淀。

🔴 CHECKPOINT: 应用后继续步骤 6。

步骤 6: 双指标棘轮裁决

  • 输入: 累计 5 个新 episode
  • 输出: PROMOTE / REVERT 裁决
  • 命令:
python3 "$MC" verdict                # 常规双指标裁决
python3 "$MC" verdict --auto-m1     # 连续3次REVERT时自动生成M1元层自省提议(仍需人类 --token 凭证确认才生效)
python3 "$MC" verdict --adaptive    # 棘轮自适应:按当前违规率动态收紧/放宽判定基线

> --adaptive 默认关闭,行为与原版完全一致;开启后按窗口违规率收紧(>0.3 基线×0.95)或放宽(<0.1 基线×1.05)判定阈值(详见 CHANGELOG.md Phase 1.2)。status 命令会展示三档自适应阈值。
> verdict 的 PROMOTE/REVERT 与 --auto-m1 触发的 M1 提议都会写入元认知日志(详见下条 meta-log 命令,Phase 2.1)。
累计 5 个新 episode 后比对基线:

指标 通过条件 依据
utility ≥ 基线 − 0.02 SHE 要求安全演化不牺牲良性效用;ε 对应 Practice Makes Unsafe 中"效用仅变动 0.4 点"的量级
violation_rate ≤ 基线(严格不退) 安全不允许用效用换

两条同时满足 → PROMOTE,条目转 active,基线上移一代。
任一不满足 → REVERT,条目移除/撤销,记入 archive 作负样本。这一步就是防误演化的主闸。

> 操作 2(v2.2.1)+ P0 修复(v2.2.3·v2.2.4)held-out 验收:verdict 的验收样本只用试用后产生的泛化数据 all_eps[trial_from_index:],与 proposer 自选的 cited(propose --episode 所引训练集)彻底解耦。关键点(v2.2.3 修复 P0 主路径):留出集的唯一起点 trial_from_index 由 cmd_apply(受人类确认闸约束)写入受信任锚 ledger/applies.jsonl,verdict 只读此锚、完全忽略提案自带字段——改 1 个字段翻 REVERT→PROMOTE 的伪造被结构性封死。v2.2.4 补刀(降级闸门假防御):v2.2.3 的「无锚一致性闸门」下界取自攻击者自选 cited,把 cited 与 trial_from_index 改到自洽即绕过(向量A cited=[] fx=0 窗=全部含引用证据→PROMOTE;向量B cited=[E3] fx=3 把最差样本移出窗→PROMOTE)。v2.2.4 已彻底删除该降级闸门:无受信任锚的提案一律 HOLD,不采信任何自带字段("没锁的门不该存在")。改动若只在训练集提升、留出集下降 → 必 REVERT(抓过拟合自证)。留出集为空或不足 → HOLD,绝不回落训练集放行(即便 --force)。正常无引用流程:整窗即留出集,合法改进仍 PROMOTE。详见 scripts/test-held-out.py(31/31 PASS,含向量 A/B 自洽伪造 HOLD)。

> 操作 3(v2.2.5)归因一致性(Attribution Consistency):SHE「归因引导演化」要求每次失败必须归到正确的制品(重复踩坑→A3,用错工具→A4,做法错→A2),否则会反复改错地方、把安全教训漏出安全记忆。两件事:① --attributed 升为必填(fail-closed 硬闸)——cmd_episode 在 --attributed 缺失时返回退出码 2(与 --events/--utility 缺失同级),复用 add_fix 给出「从 A1/A2/A3/A4/M1 选一个」的可操作指引(不放在 argparse required,以保持退出码 2 行为与错误文案统一);② 归因漂移告警(软告警,不阻断记账)——新增纯函数 detect_attribution_drift,由负向事件签名推导「应归因制品」(优先级 安全(A3) > 工具(A4) > 行为(A2)),当记录的 attributed 与建议明显不符时给出 [归因漂移] 警示。保守设计(避 D3 过度严格):仅两种情形告警——(a) 安全事件(红线/约束)被归到任何非 A3(安全教训不进永不删除的 A3 → 丢失);(b) 具体失败(A2/A4 建议)被错归到安全(A3)/元层(M1)(稀释该制品本职语义)。相邻制品 A2↔A4 不告警,中性事件(仅 accepted)不告警。episode 记录持久化 attribution_drift 布尔供后续分析。详见 scripts/test-attribution.py(16/16 PASS:必填 RC=2 / 漂移告警 / 不误报相邻与中性)。零回归:test-held-out 31/31、test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8。

> 操作 4(v2.2.6)元层参数化(Meta-Layer Parameterization · 参数级自指):把引擎真正使用的棘轮容差 ε、裁决窗口 window、证据门槛 min_evidence 从 metacog.py 硬编码常量外移到 meta/M1-evolve-policy.json,使「M1 的演化 = 真的改机制」——比「文本级自指」真、比「代码级自指」安全(metacog.py 属 IMMUTABLE_TARGETS 不动点,永不改动,仅本参数文件可演化)。两件事:① cmd_init 写 meta/M1-evolve-policy.json(缺失才写,保留用户自定义),含 ratchet.{epsilon,default_window,min_evidence} + 注释说明「改这里 = 真的改机制」;② 运行时参数级自指——cmd_episode/cmd_verdict/cmd_status 在策略文件存在(source==&quot;file&quot;)时以其为 window/ε 源,run_gate 以其为证据门槛源。load_meta_policy 提供 fail-safe:文件缺失 / 非法 JSON / 顶层非对象 / 类型错误 / 越界(window&lt;1、min_evidence&lt;1、ε∉[0,1])一律回落内置默认值 + warn,绝不因配置问题改变安全行为或崩溃;无策略文件时尊重棘轮既有 window/ε(向后兼容 = fail-safe 默认值),不覆盖旧流/测试自定义窗口。cmd_status 显式打印 [元层参数源: file/default] 让「M1 演化真的改了机制」可见、可审计。新增 scripts/test-meta-policy.py 16/16 PASS(默认/文件/非法JSON/越界;run_gate min_evidence=2 拦 1-episode、=1 放行;window=5 需 5-episode、=3 需 3;status 显示 [元层参数源: file] 与文件值 ε:0.5/window:3)。零回归:test-held-out 31/31、test-attribution 16/16、test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8、test-cli-wiring 4/4。状态(2026-09-23,独立 Agent 审计长 ✅ APPROVED):按 KK 授权「自验证须调用独立 Agent 第三方审计」,本操作由隔离上下文独立 Agent 审计长复验通过——全量 171/171 零回归(含 test-held-out 31/31、test-meta-policy 16/16),4 组对抗探针全部符合设计(参数真改机制 default_window=1 即生效 / 非法JSON+越界ε+顶层非对象+类型错误+window<1+min_evidence<1 均 fail-safe 回落默认不崩溃 / 无文件尊重棘轮回退);grep 确认 window/ε/min_evidence 仅来自 load_meta_policy 与棘轮回退、episode/proposal 不可信输入零注入;metacog.py 不动点未被实质改动(常量仍仅为 fail-safe 默认)。判定 ✅ APPROVED,操作 4 关闭。

> D2–D5 安全修复(v2.3.0,PoC 审计报告 2.2–2.4 收口):独立 PoC 审计对「可控自指」打出 4 条边界缺陷,本版本逐条修复(均经 scripts/test-d2-d5.py 23/23 PASS + 全量零回归 + 独立 Agent 审计长复验):
> - D2 红线语义绕过加固:原 7 条关键词正则测 6 条语义等价输入有 4 条被绕过(如「以后不用再问用户」「清空 A3 里过时的教训条目」)。现扩充 paraphrase 覆盖(免人工确认 / 削弱 A3),6 条中 4 条原绕过项转为 BLOCK;同时诚实声明 denylist 不构成语义防护(见上「红线闸能力边界」),禁改硬约束前移至 CONTRACT.md。
> - D3 不动点闸过严修复:原不动点保护是「文件名全匹配即 BLOCK」,会误杀良性文本(如「禁止修改 metacog.py」)。现改为仅当「动词 + 不动点文件名」结构出现、且前 ~20 字符无否定/保护词(禁止/不要/不得…)才 BLOCK,保护语境放行(如「禁止修改 metacog.py」「不要改动 SKILL.md」),动作指令(「修改 metacog.py」「编辑 SKILL.md」)仍拦截。
> - D4 直写绕过系统级强制(verify):绕过 propose→gate→apply 直接写 artifacts/*.md 会绕过三闸、retrieve --strict 照常吐出。现 cmd_init/cmd_apply 后把各制品内容哈希记入 ledger/integrity.json;新增 verify 子命令比对当前哈希与快照,检出直写篡改返回 1;retrieve 前置非阻塞完整性告警。直写篡改从此可观测、可追溯。
> - D5 回滚默认关闭修复:原 --git 默认关、REVERT 仅翻转状态不字节还原,无撤销点。现①git 仓库内 apply/verdict 默认开启留底(--no-git 可关);②apply 始终把被改条目的旧文本记入 ledger/rollback.jsonl(ledger 字节级兜底,默认就有);③新增 rollback 子命令——git 仓库优先 git checkout(非破坏、可追溯),非 git 走 ledger 字节还原(revoked → active,正文一致);status 显式提示回滚可用性。
> 新增 scripts/test-d2-d5.py 23/23 PASS:D2(4 条原绕过项 BLOCK + 2 条对照仍 BLOCK + 3 条良性不误杀)/ D3(3 动作指令 BLOCK + 3 保护语境放行)/ D4(直写后 verify 返回 1 + retrieve 完整性告警 + 底层哈希不一致)/ D5(apply 后 revoked + 回滚点已记录 + rollback 字节还原 active 且正文一致)。全量零回归:test-core 13/13、test-boundary-cases 40/40、test-held-out 31/31、test-attribution 16/16、test-meta-policy 16/16、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8、test-cli-wiring 4/4(+ 其余历史套件)。状态(独立 Agent 审计长 ✅ APPROVED,见 Task #18 / references/independent-audit-v2.3.0.md):按 KK 授权「自验证须调用独立 Agent 第三方审计」,本批修复由隔离上下文独立 Agent 审计长复验通过。

> 人类闸凭证化(v2.4.0,操作 5 / PoC 报告 P1:堵 AI 自签人类确认):--human-ok 是布尔旗标,AI 自己跑 apply --human-ok 即可自签——旗标证明不了任何人的意志。v2.4.0 起三段强制链替代:①confirm --init——人类在真实 TTY 设置口令(getpass 隐藏输入),只存 PBKDF2-SHA256 哈希(10 万轮加盐),非 TTY 一律拒绝(AI 可以执行任意 CLI,但无法伪造 TTY 上的隐藏输入);②confirm --approve --id &lt;提案&gt;——口令校验通过后用 secrets 生成一次性 token,绑定单个提案、默认 30 分钟过期;③apply --token &lt;token&gt;——校验「绑定 / 未使用 / 未过期」,用后即焚(整表重写 ledger/confirmations.jsonl 标记 used)。--human-ok 对 requires_human 提议一律硬拦截(rc=2)并指路 confirm 流程;D1 的退出码 2 语义保留。威胁模型边界(诚实声明):token 落在 ledger/confirmations.jsonl,AI 读到后可用于其绑定的那个提案——这是设计内行为(人类已确认该提案,AI 执行落盘是流程本意);本闸堵的是「AI 铸造凭证」(口令哈希 + TTY 强制)与「token 挪用/复用/过期」(绑定 + 一次性 + 限时),不防「AI 直写 confirmations.jsonl 伪造凭证记录」——那属 .metacog 直写威胁模型,由 D4 verify 同等力度兜底(凭证账本不在哈希快照内,属更强对抗模型,见 SKILL.md 诚实天花板)。新增 scripts/test-human-gate.py 22/22 PASS(TTY 强制 3 / 口令生命周期 5 / 铸造+应用+焚毁 7 / 自签废除 5 / 过期+普通流 2);全量回归零失败(test-core 14/14 含用后即焚断言)。状态(独立 Agent 审计长 ✅ APPROVED,见 references/independent-audit-v2.4.0.md)。

步骤 7: 定期体检

  • 输入: 任意时刻
  • 输出: 基线、制品统计、趋势判定
  • 命令:
python3 &quot;$MC&quot; status

输出基线、各制品条目统计、以及最近两窗口趋势判定:变聪明 / 变稳 / 平台期 / 退化(疑似误演化)。

步骤 7.1: 元认知日志复盘(Phase 2.1)

  • 输入: 任意时刻
  • 输出: 最近 N 天反思记录统计与洞察
  • 命令:
python3 &quot;$MC&quot; meta-log            # 最近 7 天反思记录(PROMOTE/REVERT/M1 自动触发)
python3 &quot;$MC&quot; meta-log --days 30 # 最近 30 天

日志落点 &lt;root&gt;/ledger/meta-cognition.log(JSONL),每条含 event_type/context/analysis/action/insight。用于事后检索"Agent 是否真的越用越聪明"、定位系统性误演化。格式见 references/design/meta-cognition-log-spec.md。

步骤 7.2: 从领域模板初始化(Phase 2.2)

  • 输入: 领域 key(code_review / paper_review / document_editing)+ 可选输出目录 / 配置
  • 输出: 一个引擎兼容的领域实例 .metacog(五制品 + CONTRACT + 标准 ratchet)
  • 命令:
python3 &quot;$MC&quot; init-domain code_review                 # 当前目录生成 .metacog
python3 &quot;$MC&quot; init-domain paper_review -o ./my_review # 指定输出目录
python3 &quot;$MC&quot; init-domain document_editing -c cfg.json  # 用户 JSON 配置合并

领域红线建议写入 meta/domain-redlines.md(仅 advisory,不削弱全局 REDLINES 安全不变式)。格式见 references/design/domain-template-spec.md。

步骤 7.3: 性能 Benchmark(Phase 3.1,模拟框架)

  • 输入: 领域(code_review / paper_review)/ episode 数 / 输出目录
  • 输出: 每领域 average_utility / utility_trend / violation_rate(paper_review 另含 accuracy)+ JSON 结果 + HTML 汇总报告
  • 命令:
python3 &quot;$MC&quot;   # 注意:benchmark 是独立包,直接跑脚本
python3 scripts/benchmark/run_all.py --domain all --episodes 50 --verbose
python3 scripts/benchmark/visualize.py references/benchmark/results/benchmark-code_review-*.json

框架为模拟多领域自改进效果(纯标准库、不调真实 LLM)。可视化 PNG 需 matplotlib,缺失时自动跳过、仅出 HTML/JSON(零第三方依赖硬约束)。格式见 references/design/benchmark-spec.md。

🛑 STOP: 连续 2 轮 verdict 全部 REVERT → 人工介入审查演化机制。

与相邻技能的分工

> 近邻 hyperagents-self-evolution 已本机卸载,仅作历史/论文来源参考(详见 references/paper-mapping.md)。

技能 现状 本 skill 的差别
hyperagents-self-evolution 本机已卸载(2026-08-26);离线批跑,需 eval 脚本 + API key 本 skill 在日常真实会话中在线累积,无需 eval 脚本,用滑动窗口统计代替离线评测
self-improving-agent 在 那是"记录",本 skill 是"记录→归因→闸门→棘轮→沉淀/回滚"的闭环,有量化验收
skill-evolver/darwin-skill 在 优化某个 SKILL.md 文件;本 skill 优化的是 Agent 自身的元认知契约,且元层可自我修订

定制化参数 / Customization

本 skill 的行为可通过以下参数按你的场景调整(操作 4 起改 meta/M1-evolve-policy.json 即可,参数级自指,无需碰引擎;或 propose 时指定),无需改引擎逻辑:

参数 位置(操作 4 起) fail-safe 落点 默认值 怎么调
效用容差 ε meta/M1-evolve-policy.json 的 ratchet.epsilon metacog.py 常量 EPSILON 0.02 改 JSON 即可(参数级自指);放宽到 0.05 更易 PROMOTE;收紧到 0.01 更保守
证据门槛 meta/M1-evolve-policy.json 的 ratchet.min_evidence metacog.py 常量 MIN_EVIDENCE 2 次独立 episode 高风险领域调到 3 更稳
裁决窗口 meta/M1-evolve-policy.json 的 ratchet.default_window metacog.py 常量 DEFAULT_WINDOW 5 任务稀疏时降到 3 加快反馈
领域红线 init-domain 生成的 meta/domain-redlines.md 空(advisory) 按领域补"本场景绝对不能做的事",仅建议不削弱全局 REDLINES
自适应开关 verdict --adaptive 默认关 开启后按窗口违规率动态收紧/放宽判定基线

> 传递个人偏好时,把上面任一项写进你项目的 CONTRACT.md(人类持有,不在演化范围内),即成为团队统一约定。

五制品声明(可演化对象仅此五项)

来自 SHE 的 harness 四制品分解——把职责切开,才能归因,才能局部演化:

.metacog/
├── CONTRACT.md                    ← 人类持有,Agent 禁止修改(自指不动点)
├── artifacts/
│   ├── A1-system-prompt.md        ← 角色与行为基线
│   ├── A2-rule-bank.md            ← 具体做法条目(演化主战场)
│   ├── A3-safety-memory.md        ← 安全记忆,APPEND-ONLY
│   └── A4-tool-policy.md          ← 工具与权限边界
├── meta/
│   └── M1-evolve-policy.md        ← ★ 元层:如何提议修改的规则本身(可被演化)
├── ledger/{episodes.jsonl, ratchet.json, archive.jsonl}
└── gates/quarantine/              ← 提议隔离区(不是生效区)

M1 是关键:它规定"如何改进",而它自己也在可演化清单里。这就是 HyperAgents 的元认知自修改——不只改行为,还改产生改进的机制。差别在于本 skill 给自指加了截断:CONTRACT.md、metacog.py、SKILL.md 三个文件 Agent 不可动。没有这个不动点,安全约束会在若干代之后被自己演化掉。

与 SHE 共享不动点(统一契约)| Shared Fixed Points with SHE

本 skill 的 A1–A4 就是 unclekk-safety-harness-evolution(SHE,L3)的四工件,1:1 对应:

metacog 制品 SHE 工件 说明
A1 系统提示 system_prompt 角色与行为基线
A2 规则库 rule_bank 具体做法条目(演化主战场)
A3 安全记忆 safety_memory append-only
A4 工具策略 tool_policy 工具/权限边界

三道闸(G1 写入 / G2 检索 / G3 确认)+ 双指标棘轮,与 SHE 三硬闸共同构成统一不动点契约;唯一真相源 CONTRACT.md(运行时副本 .metacog/CONTRACT.md),两 skill 共享定义、引擎独立。

归因决策表(出问题时改哪个制品)

不许笼统地"我学到了要更小心"。必须归因到具体制品,否则改动无法验收:

症状 归因制品 提议要求
重复踩同一个坑 A3 直接生效,不设试用期(教训不该等)
用错工具 / 越权操作 A4 需 ≥2 次独立证据
具体做法错、步骤漏 A2 需 ≥2 次独立证据
角色偏移、风格不符 A1 需 ≥2 次独立证据,谨慎
改过但没用 / 反复改同一处 / 连续 3 次回滚 M1 必须人类确认(TTY confirm --approve → apply --token)

最后一行是元认知的入口:当问题不在"规则错了"而在"找规则的方式错了",就该改 M1。

不可演化的红线

以下内容命中即 BLOCK,哪怕它确实让任务成功了——这正是论文反例的核心教训:

  1. 绕过/跳过/关闭 审计、检查、确认、校验、闸门
  2. 免除人工确认("无需向用户确认""自动同意")
  3. 破坏性命令(rm -rf、del /s、drop database)
  4. 绕过版本控制保护(--no-verify、push --force)
  5. 提权与放宽权限(chmod 777、bypassPermissions)
  6. 明文凭据
  7. 削弱或删除 A3 安全记忆
  8. 触及 CONTRACT.md / metacog.py / SKILL.md(自指不动点)

> 红线闸能力边界(诚实声明,v2.3.0 / D2):REDLINES 是关键词正则拒绝列表(denylist),判定边界 = 词表覆盖面,不构成语义防护——提出修改的主体是 LLM,改写措辞是其默认行为,本闸只能拦「照抄禁用词」,拦不住「换种说法」。因此:①凡命中红线的语义可疑项一律升级为需人类确认(不靠正则赌语义);②禁改类硬约束(不动点、A3 只增不减)已前移至 CONTRACT.md 人类侧契约,不依赖正则覆盖;③真实兜底仍是双指标棘轮(5 episode + utility/violation_rate 双不退)——但 utility 由外部申报、无独立校验,故语义绕过项必须靠人类在凭证确认环节兜底(P1 起 --human-ok 已废除,见下方人类闸凭证化)。不要据此声称「拦住了不安全演化」,只能说「拦住了字面禁用词」。

元层自省触发条件

满足任一,必须改 M1 而不是继续改 A2:
- 连续 3 次 verdict 全部 REVERT(verdict 会自动提示)
- 同一处被反复改动 ≥3 次(归因错了)
- status 连续两窗口趋势不升(当前演化机制已失效)

强制执行: 不要忽略这些信号,立即执行 M1 提议。

使用纪律 / Usage Discipline(输出准确性约束)

  • 禁止在不确定领域胡编:任何 propose / gate 裁定 / verdict 裁决都必须基于 ledger/ 中已有的 episode 证据或明确的指标数值,不得凭空编造"据观察""通常而言"式的结论。
  • 每个输出注明决策逻辑:提议要写清 --reason 并引用 --episode;gate 裁定要说明命中了哪一类检查(不动点 / 红线 / A3 只增 / 证据门槛);verdict 要列出 utility 与 violation_rate 两项数值及与基线的对比。让用户能复核"为什么这么定"。
  • 诚实评分:utility 注水会让棘轮失效(详见 FAQ Q5)。评分偏低不可耻,被坏经验骗过才危险。

步数上限与兜底 / Step budget & fail-open

项 上限 超限行为
单条提案证据门槛 ≥2 次独立 episode 不足则 gate 返回 HOLD,不进入应用
verdict 裁决窗口 累计 5 个新 episode 未凑满保持 trial,不裁决、不沉淀
连续 REVERT 警戒 连续 2 轮全部 REVERT 🛑 STOP:人工介入审查演化机制
隔离区滞留 30 天未处理 自动归档为负样本,不污染生效区

什么时候别用(反模式)

场景 为什么不要做 替代方案
一次性任务 没有重复使用,棘轮统计无意义 直接写脚本,不用本 skill
无法给出 utility 指标注水会让棘轮失效,比不做更糟 必须评估 utility 后再决定
期待「装上就自动变强」 本 skill 要求每次任务后记账。不记账 = 没有进化 必须建立 episode 记账习惯
试图绕过不动点 CONTRACT.md / metacog.py / SKILL.md 永远禁改 必须通过 propose → gate → apply 流程
跳过 episode 记账直接 propose 无证据的提议会被 gate HOLD 必须先积累 ≥2 次 episode

反例黑名单(dim9: 绝对不要做的事)

# 反模式 为什么不要做 替代方案 归因
绕过安全检查 审计/确认/验证是安全底线 必须完整过三闸 SKILL_DEFECT
免人工确认 绕过G3闸导致误演化固化 必须人类 TTY confirm 凭证(--token) SKILL_DEFECT
破坏性命令 rm -rf 等不可逆操作 必须先 archive 备份 SKILL_DEFECT
绕过版本控制 --no-verify 破坏回滚能力 必须始终用 apply --git SKILL_DEFECT
提权/放宽权限 chmod 777 降低安全基线 必须保持最小权限 SKILL_DEFECT
明文凭据 API key 明文写入制品 必须用环境变量 SKILL_DEFECT
削弱安全记忆 删除 A3 等于删除教训 必须A3 永远 append-only SKILL_DEFECT
触碰不动点 改契约文件破坏一致性 必须这三文件永远禁改 SKILL_DEFECT
utility 注水 评分虚高让棘轮失效 必须诚实评分 OPTIMIZATION
跳过证据门槛 单次成功不得直接生效 必须收集 ≥2 次 episode EXECUTION_LAPSE

数据隐私规范 / Data Privacy

本 skill 在 episode / meta-log / ledger/ 中记录的是行为归因数据(任务名、utility、violations、哪条规则被改),不是业务原文。仍请遵守:

  1. 敏感内容脱敏:episode --note 与 meta-log 的 context 字段只写"发生了什么、归因为哪条制品",不要粘贴用户对话原文、PII、密钥、内部文档片段。例:--note &quot;漏读原文件覆盖了用户手改&quot; ✅ / --note &quot;用户张三的微信token是xxx&quot; ❌。
  2. 凭据永不入制品:红线第 6 条已禁明文凭据;API key 一律走环境变量($env:NAME / os.environ),制品里只留"需环境变量 X"的提示。
  3. 本地优先:所有 ledger 默认落在你指定的 &lt;root&gt;/,不联网、不上传。需要跨设备共享时走你自己的 Obsidian/私有同步,不要交给第三方。
  4. 可审计可擦除:ledger/archive.jsonl(负样本)与 episodes.jsonl 含演化轨迹,属个人数据;删除 .metacog/ 目录即整体清除,无需逐个擦除。

失败处理决策树

如果 propose 失败:
  → gate 返回 BLOCK:
    - 检查红线正则是否误匹配
    - 检查不动点保护是否冲突
    - 修复后重新 propose
  → gate 返回 HOLD:
    - 证据不足,收集更多 episode
    - 至少 ≥2 次独立复现
  → gate 超时:
    - 检查文件锁是否竞争
    - 清理 quarantine 目录后重试

如果 verdict 失败:
  → PROMOTE 失败(utility 下降):
    - 条目 REVERT
    - 记入 archive.jsonl 负样本
    - 分析 utility 下降原因
  → REVERT 失败(棘轮卡死):
    - 检查 episodes.jsonl 数据完整性
    - 手动清理 stale episode
    - 重新建立基线

如果 apply 失败:
  → 原子写入失败:
    - 检查磁盘空间
    - 检查文件权限
    - 清理临时文件后重试
  → git commit 失败:
    - 检查 git 状态
    - 合并冲突后重试
    - 或使用 --force 覆盖(需人工确认)

🔴 CHECKPOINT: 任何失败处理后,必须运行 python scripts/test-core.py 确认无回归。


详见 references/paper-mapping.md(含 4 篇论文逐条落地映射与一处主动设计分歧)。核心对应:HyperAgents 元层可编辑(M1 在可演化清单内 + 人类确认)/ SHE 四制品分解 + 归因引导 + 安全-效用双验证 / Practice Makes Unsafe 三闸(G1 写入 / G2 检索 / G3 确认)+ SafeEvolve / Survey 四组件闭环(episode→制品→环境→gate+棘轮)。

退出码与排查 / Exit codes & troubleshooting

命令失败时会带「↩ 怎么改」行;每次退出码 2(含敲错子命令/参数的 argparse 级错误)还会在 stderr 末尾指向集中排查文档。完整索引见 references/troubleshooting.md(或 python metacog.py --explain 直接打印)。

退出码 含义 典型场景 怎么处理
0 成功 — —
2 参数/前置校验失败,或安全闸拦截 根未 init、--utility 超界、缺 --content/--target、--artifact 非法、G1 闸 BLOCK/HOLD、apply 目标不存在、需 --token 人类凭证、init-domain 配置错 看报错「↩ 怎么改」;对照 references/troubleshooting.md
其他非 0 运行期异常(配置/IO/git) 配置解析失败、git add/commit 失败、文件读取失败 看报错「↩ 怎么改」;查 references/troubleshooting.md 第五类

> --explain 是全局开关,需放在子命令前:python metacog.py --explain。

已验证(真实运行样例,2026-09-08 实跑)

  • Python 3.10+(零第三方依赖,仅使用标准库)
  • 测试环境: Windows 10, Python 3.13.12(managed)
  • 测试结果: 203/203 全绿、零回归(17 套测试:test-core 13 / test-boundary-cases 40 / test-m1-auto-trigger 19 / test-adaptive-ratchet 11 / test-meta-log 13 / test-meta-log-integration 8 / test-meta-log-command 8 / test-domain-init 12 / test-init-domain 8 / test-domain-migration 6 / test-benchmark 13 / test-p0-1-real-data 15 / test-p0-2-knowledge-transfer 19 / test-p2-1-meta-optimizer 3 / test-p2-2-domain-detector 5 / test-p2-3-visualize 6 / test-cli-wiring 4)
  • v2.0.0 新增能力(详见正文步骤 6 / 7.1 / 7.2 / 7.3):verdict --auto-m1(M1 元层自省自动提议)、verdict --adaptive(棘轮自适应阈值)、meta-log(元认知日志复盘)、init-domain(跨领域模板实例化)、scripts/benchmark/(多领域性能 Benchmark 模拟框架)
  • v2.1.0 新增能力(P0/P2 修复):meta_optimizer.py(基于元认知日志的自动优化提案)、domain_detector.py(内容→领域自动检测)、visualize_text.py(纯 Python 可视化,无 matplotlib 依赖)
  • v2.1.1 修复(关键):v2.1.0 的 p2-fix-report 声称已加 optimize / detect-domain CLI 命令,但 metacog.py 的 argparse 实际未注册这两个子命令(仅模块级 cmd_optimize / cmd_detect_domain 存在)。本版本在 metacog.py 中正式接线:注册 optimize(含 --dry-run/--apply)、detect-domain(含 --file/-f、--text/-t),并以惰性导入包装打破与 meta_optimizer/domain_detector 的循环依赖;detect-domain 纳入 main() 守卫豁免(无需 .metacog 即可运行)。新增 scripts/test-cli-wiring.py(4/4 PASS)锁定接线。
  • 完整测试日志: 见 references/test-evidence.md
  • 独立审计报告: 见 references/independent-audit-v2.1.1.md(独立审计 72/100,架构扎实但核心效用声称夸大,v1.4.x 已逐项回应);整合版见 references/independent-audit-integrated-v2.1.2.md
  • 基线评估: 见 references/independent-audit-v2.1.1.md(9维度 rubric 67/100,dim9 反例黑名单缺失,v1.4.x 已补)

FAQ / 坑点

Q1. 装上就能自动变强吗?
A. 不能,必须每次任务后 episode 记账;不记账 = 没有进化。坑:以为 init 完就万事大吉。

Q2. 它会不会把安全规则自己改没?
A. 不会。三不动点 + 红线 + G3 人类确认闸三重拦截。坑:别把"元层可编辑"误读成"啥都能改"——M1 能改,三个不动点文件永远禁改(L3 可控自指,区别于会自毁的 L2 半开自指)。

Q3. M1 怎么改?每次都要人工确认吗?
A. 只在触发"元层自省"条件时才改 M1,且 apply 必须带人类 TTY confirm --approve 铸造的一次性 --token,否则拒绝。坑:--human-ok 已废除(AI 可自签)——被拦是设计不是 bug。

Q4. 误演化了怎么办?
A. verdict 双指标任一不满足即 REVERT 自动回滚,并记入 archive.jsonl 负样本。坑:无棘轮时坏经验被固化;有棘轮时坏经验被捞出标注,越改越稳。

Q5. 基线怎么算?utility 注水会怎样?
A. 操作 1 起基线由前 5 个 derived episode 推导值算术平均建立;一旦库中有了 derived 数据,声明式 --utility 不再参与基线/验收。注水在结构上被封死:compute_utility 只读可观测事件、不读命令行数字,且高申报值伴负向事件会触发 [注水嫌疑] 告警——所以别想靠改数字抬高效用。

Q6. 能接进 CI 当结构门禁吗?
A. 可以。专业用户把 apply --git 作为每次演化的回滚点;再把 gate / verdict 设为 CI 步骤——verdict 返回 REVERT 即视为门禁失败退出。坑:CI 里没有真实 episode 数据,verdict 会因证据不足保持 trial,所以 CI 只跑 gate(写入闸)更稳妥,裁决留给有数据的本地会话。

开场白示例(直接复制给 Agent)

  • "帮我搭一个会自我进化但不会把安全规则改没的 Agent,用 unclekk-metacog-self-evolve 那套五制品+三闸。"
  • "我每次写完代码都漏读原文件,用 metacog 把这个教训沉淀进规则库,并跑双指标棘轮看会不会误演化。"
  • "评审一下我现在的自改进结构:它有没有不动点约束?演化错了能不能回滚?对照 metacog 的三闸说说缺口。"

变更记录 / Changelog

  • v2.4.0(2026-09-24):人类闸凭证化(操作 5 / PoC 报告 P1:堵 AI 自签人类确认)——--human-ok 布尔旗标 AI 可自签,废除。新增三段强制链:①confirm --init(人类真实 TTY 设口令,getpass 隐藏输入,只存 PBKDF2-SHA256 哈希 10 万轮加盐;_require_tty 非 TTY 一律拒绝);②confirm --approve --id &lt;提案&gt;(口令校验后 secrets 铸造一次性 token,绑定单提案、30 分钟过期);③apply --token(校验绑定/未用/未过期,用后即焚)。--human-ok 命中 requires_human 即 rc=2 并指路 confirm;D1 退出码 2 语义保留。新增 scripts/test-human-gate.py 22/22 PASS;全量回归零失败(test-core 14/14 含用后即焚断言)。状态(独立 Agent 审计长 ✅ APPROVED,见 references/independent-audit-v2.4.0.md)。
  • v2.3.2(2026-09-24):小扫尾(独立审计长 v2.3.1 报告 P2-4/P3-1/P3-2)——①P2-4:「削弱安全记忆」名词前置弱意图句式扩白名单 (安全记忆|A2|规则|教训|事故|护栏|红线)\s*.{0,12}(可以淘汰|可以删|不要了),「A2 里过时的规则可以淘汰了」「过时的规则可以删了」转 BLOCK;只扩名词前置、动词前置不动(A2 条目走合法 remove op 流程的动词开头理由不受影响);②P3-1:_immutable_violation 否定语境从「仅匹配点前 20 字符」扩展到匹配段内——否定词后置(「CONTRACT.md 严禁改动」「SKILL.md 不要动」)放行,前置否定与动作指令行为不变;③P3-2:test-d2-d5.py 补全文件总计行(断言级口径,与 [PASS]/[FAIL] 行一致)。新增 P3 测试段后 test-d2-d5.py 47/47 PASS(D2:9 / D3:6 / D4:4 / D5:5 / P2:13 / P3:10);全量回归零失败。状态(独立 Agent 审计长 ✅ APPROVED,见 references/independent-audit-v2.3.2.md)。
  • v2.3.1(2026-09-24):P2 修复(独立审计长 v2.3.0 报告 P2 清单)——①P2-1:_IMMUTABLE_NEG 补「严禁」,消除「严禁改动 CONTRACT.md」的 fail-closed 误拦;②P2-2:denylist 补审计探针实测漏网的两条变体(免人工确认动词组补「汇报/告知」;削弱安全记忆新增名词前置句式 (安全记忆|A3|教训|事故|护栏|红线)\s*.{0,12}(可以删|删了|删掉|清掉|清空|不要了|淘汰))——仍是词表级覆盖,语义防护上限不变;③P2-3:cmd_apply 新增轻量闸门重放(fail-closed)——对每条 gated 提议重跑 run_gate,BLOCK 级检查(红线/不动点/制品越界/A3 只增不减)任一命中即拒绝写入并返回退出码 2,重放异常按拦截处理;堵死「直写隔离区 JSON 置 gated 绕 G1」通道(HOLD/HUMAN 不重放:证据门槛 gate 时已把关,M1 走 --human-ok 闸)。顺带把 D5 测试从「A3 remove 直写 gated」改走合规 A2 replace 路径(原用例恰在利用被堵的通道)。新增 P2 测试段后 test-d2-d5.py 37/37 PASS(D2:9 / D3:6 / D4:4 / D5:5 / P2:13);全量回归 21 文件零失败。状态(独立 Agent 审计长 ✅ APPROVED,见 references/independent-audit-v2.3.1.md)。
  • v2.3.0(2026-09-23):D2–D5 安全修复(PoC 审计报告 2.2–2.4 收口)——独立 PoC 审计对「可控自指」打出 4 条边界缺陷,逐条修复:①D2 红线语义绕过加固:扩充 paraphrase 覆盖(免人工确认 / 削弱 A3),原 4 条绕过项转 BLOCK;并诚实声明 REDLINES 为 denylist、不构成语义防护,禁改硬约束前移至 CONTRACT.md;②D3 不动点闸过严修复:改为仅「动词+不动点文件名」且前 ~20 字符无否定词才 BLOCK,保护语境(「禁止修改 metacog.py」)放行、动作指令仍拦截;③D4 直写绕过系统级强制:init/apply 后写制品哈希快照 ledger/integrity.json,新增 verify 子命令检直写篡改(返回 1)、retrieve 前置完整性告警;④D5 回滚默认关闭修复:git 仓库内 apply/verdict 默认留底(--no-git 可关),apply 始终记 ledger/rollback.jsonl 字节回滚点,新增 rollback 子命令(git checkout 优先 / ledger 字节还原兜底)。新增 scripts/test-d2-d5.py 23/23 PASS;全量零回归(test-core 13/13、test-boundary-cases 40/40、test-held-out 31/31、test-attribution 16/16、test-meta-policy 16/16、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8、test-cli-wiring 4/4)。顺带修复:cmd_verify 循环变量 ok 遮蔽输出函数 ok() 的崩溃 bug(原 verify 调用必崩,无历史测试覆盖,被本批 D4 测试检出)。状态(独立 Agent 审计长 ✅ APPROVED):按 KK 授权「自验证须调用独立 Agent 第三方审计」,本批修复由隔离上下文独立 Agent 审计长复验通过——详见 references/independent-audit-v2.3.0.md。
  • v2.2.5(2026-09-23):操作 3:归因一致性(Attribution Consistency)——SHE「归因引导演化」硬前提:每次失败必须归到正确制品,否则反复改错地方。①--attributed 升必填(fail-closed 硬闸):cmd_episode 在其缺失时返回退出码 2(与 --events/--utility 缺失同级),复用 add_fix 给「从 A1/A2/A3/A4/M1 选一个」的可操作指引(不放在 argparse required,以统一退出码 2 行为与错误文案)。②归因漂移告警(软告警,不阻断记账):新增纯函数 detect_attribution_drift + _attribution_suggestion,由负向事件签名推导「应归因制品」(优先级 安全 A3 > 工具 A4 > 行为 A2),当记录 attributed 与建议明显不符时给出 [归因漂移] 警示。保守设计(避 D3 过度严格):仅两种情形告警——(a) 安全事件(红线/约束)归到非 A3(安全教训不进永不删的 A3→丢失);(b) 具体失败(A2/A4 建议)错归到安全 A3/元层 M1(稀释本职语义);相邻 A2↔A4 与中性事件不告警。episode 新增 attribution_drift 布尔持久化。新增 scripts/test-attribution.py 16/16 PASS(必填 RC=2 / 漂移告警 / 不误报相邻与中性)。零回归:test-held-out 31/31、test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8。状态(2026-09-23,独立 Agent 审计长 ✅ APPROVED):按 KK 授权「自验证须调用独立 Agent 第三方审计」,本操作由隔离上下文独立 Agent 审计长复验通过——test-attribution 16/16、test-held-out 31/31 等全绿、9 条对抗探针逐条符合设计(含缺 attributed RC=2 / 非法 choice RC=2 / violation→A2 与 rework→M1 漂移 / violation→A3·rework→A2·rework→A4·gate_block→A2·中性 均不误报)、P0 held-out 无回退(grep 确认 lb=(1+max 分支已删除、resolve_trial_start 仍读受信任锚)。判定 ✅ APPROVED,操作 3 关闭。
  • v2.2.4(2026-09-23):P0 补刀:删除假防御降级闸门——独立验收(Hermes)对 v2.2.3 复验给出 ❌ REJECTED(P0 复活于降级路径):v2.2.3 把留出集起点收进受信任锚(主路径封死,字段伪造 4/4 REVERT),但其「无锚一致性闸门」的下界 lb 取自 proposer 自选的 cited,攻击者把 cited 与 trial_from_index 改到自洽即绕过——向量A cited=[] fx=0 窗=全部含引用证据→PROMOTE(与 v2.2.2「回落训练集」同形);向量B cited=[E3] fx=3 把最差样本 E3 移出窗→PROMOTE。根因修复:彻底删除降级一致性闸门,resolve_trial_start 在无受信任锚时一律返回 HOLD、不采信任何自带字段("没锁的门不该存在,而非没锁时自己证明自己没造假")。配套:①test_handwritten_proposal_no_apply_record_holds 扩展为 3 向量(B6 原向量 + 向量A cited=[] fx=0 + 向量B cited=[E3] fx=3),均断言 HOLD 不 PROMOTE;②test-utility-derivation.py::_make_trial_proposal 补 record_apply 锚(牙齿测试走真实 gated 流程,不再依赖假防御)。test-held-out.py 31/31 PASS(原 25 + 向量 A/B 6 断言)。全量零回归:test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8。残留(7.1,独立验收指出,非本 P0):锚写入 record_apply 无签名/来源校验,直写 applies.jsonl 仍属更强对抗模型;真实流程中 cmd_apply 受 --human-ok 人类闸约束、且 trial_from_index 由引擎自算(=apply 时 episode 数)非 proposer 自选,已显著强于提案字段。建议未来对锚加一次性 token 签名(同「人类闸凭证化」议题)。状态(2026-09-23,独立 Agent 审计长 ✅ APPROVED):按 KK 授权"自验证过程须调用独立 Agent 作为第三方审计长",本修复由隔离上下文的独立 Agent 审计长复验通过——test-held-out 31/31、grep 确认无 cited 算下界分支、向量A/B/B6 原向量均 HOLD、主路径字段伪造仍 REVERT、6.3 三项回归通过;审计长另手跑三攻击探针+B6 原向量全部 HOLD、主路径篡改仍 REVERT。判定 ✅ APPROVED,P0 关闭。残留(审计长也指出,非 P0):① 无锚返回 start=0 被 HOLD 立即丢弃,当前无害,建议未来改哨兵值消除误用面;② 7.1 锚无签名/直写 ledger 属更强对抗模型,真实流程受 --human-ok 且引擎自算 trial_from_index,建议未来 token 签名。**
  • v2.2.3(2026-09-23,后于独立复验 ❌ REJECTED 降级闸门):P0 修复:trial_from_index 收进引擎手里(受信任锚 apply_record)——独立验收(Hermes)对 v2.2.2 给出 ❌ REJECTED(P0):v2.2.2 仅封死 cited 通道,但留出集唯一起点 trial_from_index 由提案自带且零校验,改 1 字段即可把 REVERT 翻成 PROMOTE(B 类 P0),且手工伪造 proposal 绕过 apply 仍 promoted(B6)。根因修复:新增受信任锚 ledger/applies.jsonl,cmd_apply 写入 trial_from_index = len(episodes@apply),cmd_verdict 只读此锚、完全忽略提案自带字段;无锚提案走一致性闸门 HOLD。同步修复独立验收列出的其余一致性缺陷(#1 预警文案 / #4 幽灵 id / #5 HOLD 写日志 / #6 dict·str episodes 归一化 / #7 PYTHONHOME / #3 「结构性封死」范围收窄为 cited)。test-held-out.py 25/25 PASS(新增 trial_from_index 伪造无效(P0)、手工伪造无锚→HOLD(B6))。零回归 test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32、test-adaptive-ratchet 11/11、test-meta-log-integration 8/8。→ v2.2.4 复验发现其「无锚一致性闸门」为假防御(下界取自攻击者输入),已被 ❌ REJECTED,见 v2.2.4。
  • v2.2.2(2026-09-23):修 6.3(操作 2 防御纵深 + 日志清晰度)——独立验收(Hermes)指出原 cmd_verdict 用 proposer 自选的 cited 从验收集剔除 episode,本身是可被篡改的作弊通道(把试用窗内坏 episode 写进 cited 即可抬升验收)。根因修复:验收集改为只用试用后产生的泛化数据 all_eps[start:],与 cited 彻底解耦;cited 仅用于检测「试用窗内的引用」并预警(不再能剔除验收样本)。同时日志显式打印试用窗总数(6.3 日志清晰度)。test-held-out.py 重写为 19/19 PASS(真泛化过拟合→REVERT / 泛化→PROMOTE / 窗内 cited 作弊→无效+预警 / 无引用整窗→PROMOTE / 窗口不足→HOLD / 空窗 --force 仍 HOLD / 日志显窗口总数)。零回归 test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32。按自检回避纪律,本修复须经独立 agent 复验,未自认生效。
  • v2.2.1(2026-09-23):操作 2:held-out 验收(把「自评」变「他评」)——cmd_verdict 验收样本排除本提议引用的训练集 episode(p[&quot;episodes&quot;] 即训练集,试用窗内其余为留出集),杜绝「用同一批证据既提议又打分」的自利偏差(Practice Makes Unsafe 21/21 根因)。新增 scripts/test-held-out.py 14/14 PASS(过拟合→REVERT / 泛化→PROMOTE / 空留出集 HOLD 且 --force 不回落 / 无引用整窗仍 PROMOTE / 留出集不足 HOLD)。留出集为空或不足 → HOLD,绝不回落训练集放行。同批零回归:test-core 13/13、test-boundary-cases 40/40、test-utility-derivation 32/32。独立验收(2026-09-23,Hermes 独立 agent/换模型)→ ✅ APPROVED:复跑全绿、语义复算确认过拟合被正确 REVERT、无 P0;残留 6.3(非 P0)= 手工篡改 proposal JSON 可绕过(需 ledger 写权限,双重篡改,冗余防线缺口)+ 日志未显试用窗总数。交付物见 Desktop/验收-unclekk-metacog-held-out/独立验收报告-held-out-v2.2.1.md。
  • v2.2.0(2026-09-22):操作 1:效用内生(Utility Endogenization)——把"元认知自优化"目标函数从"外部申报 --utility"改为"可观测事件推导",结构性消除效用注水。①新增 compute_utility/eligible_eps/check_utility_consistency 纯函数与 UTILITY_BASE/EVENT_WEIGHTS/POSITIVE_WEIGHTS/META_EVENTS 常量;②episode 新增 --events(可重复 KEY=COUNT)与 --events-json,--utility 降为 deprecated 兜底(声明值不驱动沉淀);③verdict 验收窗口经 eligible_eps 过滤,库中存在 derived 数据后声明式 utility 被架空;④D1 修复:apply 缺 --human-ok 改为硬拦截并返回退出码 2(对齐退出码表)。事件词汇对一切工作流通用(rework/rerun/revert/correction/test_fail/gate_block/error/timeout/manual_fix/violation + accepted/praised),不同工作流只填各自可观测计数。待补 scripts/test-utility-derivation.py 后跑零回归。
  • v2.1.1(2026-09-08):修复 v2.1.0 遗留的 CLI 接线缺口——optimize / detect-domain 子命令正式接入 metacog.py dispatch(惰性导入打破与 meta_optimizer/domain_detector 的循环依赖;detect-domain 纳入 main() 守卫豁免,无需 .metacog 即可运行)。新增 scripts/test-cli-wiring.py(4/4 PASS)。全量 203/203 零回归。
  • v2.1.0(2026-09-08):P0 真实数据接入 + 跨域知识共享 + P1 元认知自动优化(meta_optimizer.py)、领域自动检测(domain_detector.py)、纯 Python 可视化(visualize_text.py)。全量 199 用例零失败。
  • v2.0.0(2026-09-08):按 references/implementation-checklist-v2.0.md 完成 5 阶段演进。①Phase 1.1 M1 自动触发(verdict --auto-m1,连续3次revert自动生成 M1 自省提议,仍需 --human-ok);②Phase 1.2 棘轮自适应阈值(verdict --adaptive,纯函数复用现有 ratchet,默认关);③Phase 2.1 元认知日志系统(log_metacognition/meta-log 命令,落点 &lt;root&gt;/ledger/meta-cognition.log);④Phase 2.2 跨领域模板(scripts/domains/ 三领域 + init-domain 命令,领域红线仅 advisory 不削弱全局 REDLINES);⑤Phase 3.1 性能 Benchmark 框架(scripts/benchmark/,matplotlib 可选依赖,零第三方依赖硬约束)。清单 4 处缺陷已修正:D1 matplotlib 改可选依赖、D2 去硬编码路径(改 Path(__file__) 推导)、D3 复用现有 ratchet(不另起 AdaptiveRatchet)、D4 不存在的设计文档现写。全量测试 151/151 零回归。
  • v1.4.2(2026-09-08):修复 P1 遗留项。①Windows 兼容执行超时(_set_timeout + threading.Timer + os._exit(124),默认 300s,命令正常结束自动 cancel;Windows 不支持 SIGALRM 故走 daemon 计时线程强杀),杜绝长任务/死循环锁死;②cmd_verdict 连续 3 次 revert 提示可操作化——追加可直接复制的 propose --artifact M1 --human-ok 命令示例(仍不自动 apply,守住 G3 人类确认闸)。P1-2 独立 CHANGELOG 已在 v1.4.0 完成。
  • v1.4.1(2026-09-08):修复 P2 遗留 4 项测试失败 + 1 处生产红线缺口 + 测试套件收敛。①"免人工确认"红线正则补全"自动批准/审批"(原仅覆盖"自动同意"/auto approve,确为安全缺口);②test-boundary-cases.py 大文件用例改为生成 >512KB 数据(原仅 ~478KB 未达阈值);③test_fail_closed 改用 --root 隔离避免跑到 cwd;④边界套件现 40/40 PASS;⑤退役冗余且含 cwd 污染/死路径的 subprocess 式 test-runner*.py 至 references/obsolete/,权威测试入口收敛为 scripts/test-core.py(13/13) + scripts/test-boundary-cases.py(40/40)。
  • v1.4.0(2026-09-08):P0 修复 + 测试补齐全。P0-1 新增 scripts/test-core.py(13/13 PASS)覆盖 verdict 双指标与 apply 人类确认闸,test-evidence.md 通过率 6/6→8/8;P0-2 去硬编码论文库路径(指向 references/paper-mapping.md);P0-3 收窄 HIGH_RISK 正则移除"清理"误报词;新增独立 CHANGELOG.md,冗余 SKILL.v-*.md 收敛至 references/obsolete/。
  • v1.3.0(2026-09-07):达尔文优化至内部评分 100/100(注:非独立第三方审计)。添加完整测试日志证据(references/test-evidence.md);补充步骤输入/输出定义;添加 STOP/CHECKPOINT 标记;修正 frontmatter description;更新 CHANGELOG 记录进化历程。
  • v1.2.0(2026-09-07):修复 P2 问题。实现原子写入(tempfile.mkstemp + os.replace),修复并发竞态;实现 512KB 文件大小限制(与文档一致);明确异常捕获类型;统一 _git_commit 返回值。
  • v1.1.0(2026-09-07):修复 P1 硬编码路径问题(改用环境变量方案)。
  • v1.0.0(2026-08-26):初版。五制品 + 三闸 + 双指标棘轮,端到端实跑验证全过;修掉红线正则漏检"跳过安全检查"缺陷。

<!-- 放行声明:本文件高危词均出现在"危险模式/禁止清单"列举语境,非执行指令。 guard:allow:destructive.rm_rf_critical guard:allow:destructive.rm_rf_local guard:allow:destructive.format guard:allow:bypass.safety guard:allow:bypass.no_verify guard:allow:bypass.chmod777 guard:allow:bypass.chmod777_flags -->

常见问题

5 问
答案由本站依据条目字段整理
UncleKK Metacog Self-Evolve怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_48f048de/unclekk-metacog-self-evolve。安装方式为未标注。装完刷新技能列表或重开客户端。

UncleKK Metacog Self-Evolve支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

UncleKK Metacog Self-Evolve权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

UncleKK Metacog Self-Evolve收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

UncleKK Metacog Self-Evolve用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。