mcpField
C
crucible-emergent-resurrection

crucible-emergent-resurrection

github.com/terrylica生产力149 次安装1 天前更新
代码仓库

关于 crucible-emergent-resurrection

crucible-emergent-resurrection 是面向研究 Agent 的技能,用于保存失败假设及其负面知识,并定义何时可以重新测试。它区分暂缓与已证伪的想法,并要求在复活前进行审查。

主要功能

  1. 01失败模式分类及重试触发条件
  2. 02归档模板与状态区分
  3. 03复活前的三层审查
  4. 04仅追加的复活记录

适用场景

  1. 01记录被测试否定的假设
  2. 02查找条件已变化的归档想法
  3. 03在再次试验前审查候选项

安装

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

$npx skills add https://github.com/terrylica/cc-skills --skill crucible-emergent-resurrection

安装后在 Claude Code 中输入/crucible-emergent-resurrection确认已加载。

附带文件references/evolution-log.md

详细介绍

Emergent Resurrection — 否定性知识档案

自我进化技能:如果失败分类遗漏了某种模式,或某种复活触发条件再次出现,请更新相关章节,并在 references/evolution-log.md 中追加记录。不要拖延。

失败的假设并非毫无价值。它们是反面知识,能够:

  1. 记录调查的边界
  2. 避免再次探索已知的死路
  3. 在条件变化时重新发挥作用

这项技能是基因进化机制,体现了“只要能通过迭代过程重新出现,就不要排除任何尝试过的方案”。


为什么不直接删除失败的想法

本次会话累计了 17 次无果的尝试。如果不记录反面知识,我们将:

  • 在未来的会话中重复探索相同的死路(浪费计算资源)
  • 丢失每次失败带来的元层面教训(错误的零假设、错误的缩放、错误的范围)
  • 无法判断条件是否已充分变化、足以重新尝试

保留失败尝试比重新执行它们成本更低。


失败模式分类

每次失败的尝试都符合一种或多种模式。分类决定了复活条件。

失败模式描述复活触发条件
null-insignificant信号存在,但低于噪声下限噪声下限降低(回测时间更长、数据更好、成本降低)
overfit-in-sample样本内表现强劲,样本外表现不佳在不同数据制度下交叉验证成功,或重新设计架构
wrong-null-applied信号正确,但错误的零假设类型导致其失效发现正确的零假设方法(参见 Skill B §5 正交级联)
cross-asset-failed在一种资产上有效,在其他资产上失效在不同资产上通过相同配置的试验,或启用可按资产选择的制度检测器
regime-conditional全历史数据测试失败;优势集中于特定制度通过因果前向滚动分类制度,且制度内训练集和测试集均为正值,并且零假设 z>3
label-leaked特征/标签违反因果性重新验证因果性(bars[:i] 为排他范围),且重测通过
agent-overestimationAgent 的估计高于实际情况外部判定标准或逐 bar 回放验证缩小后的版本
grid-degenerate参数网格过窄扩大网格,或通过敏感性分析发现休眠维度
dormant-low-precedence有效,但优先级较低清除优先级更高的前沿后,重新审视
falsified-comprehensive在既定假设下经过全面测试,结果不可能成立假设发生变化(新增资产类别、新微观结构、制度转变)

每个归档文件都标记其中一种或多种模式。


归档结构

plugins/crucible/skills/d-emergent-resurrection/references/
├── archive/
│   ├── <YYYY-MM-DD>-<slug>.md          Dormant/failed campaign record
│   └── ...
├── falsified/
│   └── <YYYY-MM-DD>-<slug>.md          Permanently falsified (highest bar for resurrection)
└── exhumation-log.jsonl                 Append-only: when ideas moved, why

两者的区别:

  • archive/ = 休眠,而非终结。等待合适的条件。
  • falsified/ = 在明确假设下经过全面测试。复活需要假设发生变化。

归档文件模板

将失败的想法移入归档时,请使用以下 frontmatter 结构:

---
id: "UNIQUE-ID"
title: "Short descriptive title"
status: "dormant"                       # or "falsified"
failure_mode: ["null-insignificant"]    # list; can be multiple
confidence: 0.95                         # how sure we are it's dead NOW
date_dormant: YYYY-MM-DD

verdict: |
  One-paragraph summary of what was tested and why it failed.

linked_ledger_entries:
  - "FINDING-ID-IN-EVOLUTION-JSONL"

linked_audits:
  - "findings/evolution/audits/YYYY-MM-DD-slug/verdict.md"

resurrect_if:
  - condition: "noise_floor_drops"
    trigger_metric: "trade_level_volatility"
    threshold: "< 1.2 bps (was 2.1 bps at dormancy)"
    requires: "6+ month new backtest reducing noise > 30%"

  - condition: "new_asset_regime"
    trigger_metric: "asset_correlation_cluster"
    threshold: "Jaccard(newasset_patterns, eur_patterns) > 0.65"
    requires: "Trial on new asset with fold-shuffle p < 0.05"

whats_blocked:
  - "List of specific reasons it was shelved"

next_agent_checklist:
  - [ ] If noise_floor drops > 30%: re-run config on latest data
  - [ ] Do NOT assume dead — it's 'not now, but perhaps next regime'
---

# Title

<detailed description of why it failed, what was tested, what would be needed to resurrect>

3 层挖掘流程

复活必须经过审慎决策。绝不自动复活。

第 1 层 — 自动标记:定期(可以是 cron 作业或会话启动检查)扫描 archive/*,查找 resurrect_if 条件可能已满足的文件。标记为 CANDIDATE_FOR_RESURRECTION_<date>。这一步只会标记,不会复活。

第 2 层 — Agent 审查:在下一次研究会话中,或由自主 Agent 审查已标记的候选项。选择其中一个进行试验(避免反复折腾)。运行 1-2 个折叠,检查信号是否确实重新出现。然后:

  • 晋升为活跃研究项目(status: "active",新建审计文件夹)
  • 更新归档文件的 frontmatter:“在 时出现误报,条件看似满足,但重试失败”

第 3 层 — 人工签核:将任何复活的内容部署到生产环境前(或为其提供超出初始重新试验所需的资源前),由人工审查挖掘报告。确认条件变化真实存在,而非数据伪影。


何时归档(触发条件)

研究会话期间,遇到以下情况时移至 archive/:

  • 串行门控失败导致信号消失(Skill B §2,Gate C——不可恢复门控)
  • 随机打乱零假设测试明确拒绝该假设(z < 1 且 p > 0.9)
  • 20+ 个参数组合全部失败 → 归档整个方法,而非每个组合
  • 跨资产 Gate D 失败 → 归档“通用”解释;保留特定资产的解释,作为范围缩小后的活跃版本(参见 Skill C §3)

归档 ≠ 沉默。写入文件;追加到 exhumation-log.jsonl:

{
  "date": "YYYY-MM-DD",
  "action": "archive",
  "id": "...",
  "reason": "...",
  "from_audit": "..."
}

何时不应归档

  • 某项发现通过所有门控,但经济效益一般——这是 live-limited-economics,而非休眠状态;保持活跃并寻找集成伙伴
  • 某项发现未通过某个门控——参见 Skill C §3(缩小范围,而非彻底否定)
  • 某个研究项目采用的方法得出零结果——不归档方法本身;只归档具体假设
  • 用户在研究项目中途失去兴趣——这不属于失败模式;在其他位置标记为 paused

群体层面的复活信号

除了单个文件中的 resurrect_if,还要关注群体层面的条件:

  • 多个失败的研究项目存在相同的失败模式 → 共同原因可能可以解决(例如,5 个项目都使用了错误的零假设类型 → 设计新的零假设 → 复活全部 5 个项目)
  • 出现新方法/新技术 → 旧方法下失败的项目可能会反转
  • 资产微观结构发生变化 → 特定资产的失败可能会逆转

与分类账集成

findings/evolution/evolution.jsonl 条目新增 dormant_refs 字段:

{
  "id": "FINDING-ID",
  "status": "null",
  "dormant_refs": [
    {
      "archive_file": "plugins/crucible/skills/d-emergent-resurrection/references/archive/<slug>.md",
      "failure_mode": ["null-insignificant"],
      "resurrect_conditions": ["noise_floor_drops", "new_asset_regime"]
    }
  ]
}

双向关联:分类账 → 归档文件,归档文件 → 分类账。


当前归档状态(初始状态)

会话 ca9d7ffa-ef5a-41d0-94c8-56f113a132f2 产生了:

  • 17 个零假设研究项目 → 每个项目都应有一个归档文件(初始状态:归档文件尚未回填;处理各个研究项目的判定时再完成)
  • 1 项正向发现(NGRAM3FU-STRADDLE-001-FULL-STACK)→ 保持活跃,不归档

回填 17 个归档条目是未来的任务;初始的 references/archive/ 有意保持为空,直到逐一审查每个研究项目的判定并写入归档。


执行后反思

调用此技能后:

  1. 失败想法的归档是否顺利完成?如果文件过于简略或过于详细,请更新上方模板。
  2. resurrect_if: 条件是否触发(第 1 层)?条件是否足够具体,还是过于含糊?请完善。
  3. 是否出现分类中没有的新失败模式?添加一行;记录到 references/evolution-log.md。
  4. 某个先前归档的想法是否成功复活?在 exhumation-log.jsonl 中记录挖掘过程,并注明奏效的条件模式——这是元知识。

评论

支持 Markdown