/exp-eval

SkillDocs & knowledge

Experiment verdict gate: Review LLM independently judges experiment results → 4 verdict paths → automatically updates claims confidence, ideas status, and graph edges

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /exp-eval skill

What this skill tells your AI

The instructions your AI receives, as published by lambenthan/empiricalwiki in .claude/skills/exp-eval/SKILL.md and read by ahel’s review.

将已完成实验的结果转化为 wiki 知识更新。 Review LLM 作为 impartial judge(遵循 cross-model-review),独立评估实验结果对目标 claim 的影响。 4 种判决路径:supported → claim↑ + idea validated / partially_supported → 补充实验 / not_supported → claim↓ + idea failed / inconclusive → debug。 自动更新 claims 的 confidence 和 evidence、ideas 的 status、graph edges。

Inputs

  • experiment:wiki/experiments/ 中的 slug(status 必须为 completed
  • --auto(可选):自动模式,不暂停等待用户确认 wiki 更新(用于 /research 调用)

Outputs

  • wiki/claims/{slug}.md — 更新 confidence、status、evidence 列表
  • wiki/ideas/{slug}.md — 更新 status(validated/failed)、pilot_result、failure_reason
  • wiki/experiments/{slug}.md — 填充 ## Claim updates section
  • wiki/graph/edges.jsonl — 新增 supports/invalidates 边
  • wiki/graph/context_brief.md — 重建
  • wiki/graph/open_questions.md — 重建
  • wiki/log.md — 追加日志
  • VERDICT_REPORT(输出到终端)— 判决结果、wiki 变更摘要、下一步建议

Wiki Interaction

Reads

  • wiki/experiments/{slug}.md — 实验结果:outcome、key_result、metrics、Results section
  • wiki/claims/{target-claim}.md — 目标 claim 当前状态:status、confidence、evidence 列表
  • wiki/ideas/{linked-idea}.md — 关联 idea 当前状态
  • wiki/experiments/*.md — 同一 claim 的其他实验结果(综合评估)
  • wiki/graph/context_brief.md — 全局上下文
  • .claude/skills/shared-references/cross-model-review.md — 审稿独立性原则

Writes

  • wiki/claims/{target-claim}.md — 更新 status、confidence、evidence、date_updated
  • wiki/ideas/{linked-idea}.md — 更新 status、pilot_result、failure_reason、date_resolved
  • wiki/experiments/{slug}.md — 填充 ## Claim updates section
  • wiki/graph/edges.jsonl — 新增 supports 或 invalidates 边
  • wiki/graph/context_brief.md — 重建
  • wiki/graph/open_questions.md — 重建
  • wiki/log.md — 追加操作日志

Graph edges created

  • supports:experiment → claim(实验支持该 claim)— verdict = supported 或 partially_supported
  • invalidates:experiment → claim(实验否定该 claim)— verdict = not_supported

Workflow

前置

  1. 确认工作目录为 wiki 项目根(包含 wiki/raw/tools/ 的目录)
  2. 确认实验 status == completed(未完成的实验不能评判)

Step 1: 加载上下文

  1. 读取实验页面 wiki/experiments/{slug}.md

    • outcome(succeeded/failed/inconclusive)
    • key_result
    • target_claim slug
    • linked_idea slug
    • metrics 和完整 Results section
    • hypothesis
  2. 读取目标 claim wiki/claims/{target-claim}.md

    • 当前 status 和 confidence
    • 现有 evidence 列表
    • conditions and scope
  3. 读取关联 idea wiki/ideas/{linked-idea}.md(若存在):

    • 当前 status
    • hypothesis
  4. 加载同一 claim 的其他实验

    • Glob: wiki/experiments/*.md,过滤 target_claim == 同一 claim
    • 汇总已有实验结果(用于综合评估 claim confidence)
  5. 读取全局上下文

    • wiki/graph/context_brief.md
  6. 读取 cross-model-review.md:确认 Review LLM 独立性原则

Step 2: Review LLM 判决(Cross-Model Verdict)

遵循 cross-model-review.md:不向 Review LLM 发送 Claude 的预判。

mcp__llm-review__chat:
  system: "You are an impartial scientific judge evaluating whether experimental
           results support or refute a research claim. Be rigorous and objective.
           Consider: statistical significance, effect size, experimental validity,
           potential confounds, and whether the results generalize beyond the
           specific setup tested."
  message: |
    ## Claim Under Test
    Title: {claim title}
    Statement: {claim statement from ## Statement section}
    Current status: {status}
    Current confidence: {confidence}
    Conditions: {conditions and scope}

    ## Experiment
    Title: {experiment title}
    Hypothesis: {hypothesis}
    Setup: {model, dataset, hardware, framework}
    Metrics: {metrics list}

    ## Results
    {full Results section from experiment page}

    ## Key Finding
    {key_result}

    ## Other Experiments on This Claim
    {summary of other experiments' outcomes on the same claim, if any}

    ## Your Task
    Provide your verdict:
    1. **Verdict**: One of: supported / partially_supported / not_supported / inconclusive
    2. **Confidence adjustment**: Suggest new confidence value (0.0-1.0) with reasoning
    3. **Evidence strength**: weak / moderate / strong
    4. **Key reasoning**: 2-3 sentences explaining your verdict
    5. **Concerns**: Any methodological concerns or limitations
    6. **Suggested next steps**: What would strengthen or clarify this result?

记录 Review LLM 的判决。

Step 3: Claude 综合评估

  1. 独立形成 Claude 的判决(在读取 Review LLM 判决后,Claude 也独立分析):

    • 基于实验结果、claim 上下文、其他实验的综合证据
    • 形成 Claude 自己的 verdict 和 confidence 建议
  2. 综合两个判决(遵循 cross-model-review.md composing rules):

    • 两者一致(verdict 相同):采用该 verdict,confidence 取均值,高置信度
    • 两者不一致
      • 明确标注分歧
      • 取更保守的 verdict(supported > partially_supported > not_supported)
      • confidence 取较低值
      • 在报告中详述分歧原因
    • 致命发现优先:若任一方发现方法论问题(数据泄露、不公平比较),该发现优先
  3. 确定最终判决:verdict + new_confidence + evidence_strength

Step 4: 根据判决更新 Wiki

--auto 未设置:先展示判决结果和计划变更,等待用户确认。

路径 A: SUPPORTED(实验支持 claim)
  1. 更新 claim

    • confidence: ↑ 调整到新值(通常 +0.1~0.3)
    • status: 根据新 confidence 调整
      • confidence >= 0.7 → supported
      • confidence 0.4-0.7 → weakly_supported
    • evidence: 追加新条目 {source: experiment-slug, type: supports, strength: strong/moderate, detail: key_result}
    • date_updated: 今天日期
  2. 更新 idea(若存在且 status 为 in_progress/tested):

    • 若所有关联 claims 都 supported/weakly_supported:
      • status: validated
      • pilot_result: key_result 摘要
      • date_resolved: 今天日期
  3. 添加 graph edge

    python3 tools/research_wiki.py add-edge wiki/ \
      --from "experiments/{slug}" --to "claims/{target-claim}" \
      --type supports --evidence "{key_result}"
    
  4. 建议下一步/paper-plan 或继续 ablation/robustness 实验

路径 B: PARTIALLY_SUPPORTED(部分支持)
  1. 更新 claim

    • confidence: 小幅调整(+0.05~0.15)
    • evidence: 追加 {type: supports, strength: weak, detail: ...}
    • date_updated: 今天日期
  2. 添加 graph edge

    python3 tools/research_wiki.py add-edge wiki/ \
      --from "experiments/{slug}" --to "claims/{target-claim}" \
      --type supports --evidence "Partially supported: {limitation}"
    
  3. 建议补充实验

    • 明确缺少什么证据
    • 建议用 /exp-design 设计补充实验
    • 若 Review LLM 指出的 concern 可通过实验解决,具体建议实验方向
  4. idea status 不变:保持 in_progress,等待更多证据

路径 C: NOT_SUPPORTED(实验不支持 claim)
  1. 更新 claim

    • confidence: ↓ 显著下调(通常 -0.2~0.4)
    • status: 若 confidence < 0.3 → challenged
    • evidence: 追加 {type: invalidates, strength: strong/moderate, detail: ...}
    • date_updated: 今天日期
  2. 更新 idea(若存在):

    • status: failed
    • failure_reason: 具体失败原因(从实验结果和 Review LLM 分析中提取)
    • date_resolved: 今天日期
    • 注意:failure_reason 是 anti-repetition memory,必须写清楚为什么失败
  3. 添加 graph edge

    python3 tools/research_wiki.py add-edge wiki/ \
      --from "experiments/{slug}" --to "claims/{target-claim}" \
      --type invalidates --evidence "{failure_reason}"
    
  4. 建议下一步

    • 分析失败原因
    • 考虑 pivot(新 idea 解决同一 gap,避开已知失败原因)
    • 建议 /ideate 生成替代方案
路径 D: INCONCLUSIVE(结果不确定)
  1. 不修改 claim status/confidence:证据不足以做判断

  2. 更新实验页面:outcome 已为 inconclusive(/exp-run 设置)

  3. 建议 debug

    • 数据问题?实现 bug?错误的 metric?
    • 方差过大?需要更多 seeds?
    • 实验设置与 claim 不对齐?
  4. idea status 不变:保持当前状态

所有路径通用
  1. 更新实验页面的 ## Claim updates section

    ## Claim updates
    - **Verdict**: {supported/partially_supported/not_supported/inconclusive}
    - **Claim**: [[{target-claim}]] confidence {old} → {new}
    - **Judge agreement**: {Claude and Review LLM agreed / disagreed on ...}
    - **Date**: YYYY-MM-DD
    
  2. 更新 index.md(若 claim status 变化)

  3. 重建派生数据

    python3 tools/research_wiki.py rebuild-context-brief wiki/
    python3 tools/research_wiki.py rebuild-open-questions wiki/
    
  4. 追加日志

    python3 tools/research_wiki.py log wiki/ \
      "exp-eval | {slug} → {target-claim} | verdict: {verdict} | confidence: {old}→{new}"
    
  5. 输出 VERDICT_REPORT 到终端

    # Verdict Report: {experiment title}
    
    ## Verdict: {SUPPORTED / PARTIALLY_SUPPORTED / NOT_SUPPORTED / INCONCLUSIVE}
    
    ## Judge Assessment
    | | Claude | Review LLM | Final |
    |---|-------|------|-------|
    | Verdict | {verdict} | {verdict} | {verdict} |
    | Confidence | {value} | {value} | {value} |
    | Evidence strength | {strength} | {strength} | {strength} |
    
    ## Key Reasoning
    {2-3 sentences from Review LLM + Claude synthesis}
    
    ## Wiki Changes
    | Entity | Field | Before | After |
    |--------|-------|--------|-------|
    | claims/{slug} | confidence | {old} | {new} |
    | claims/{slug} | status | {old} | {new} |
    | ideas/{slug} | status | {old} | {new} |
    
    ## Graph Edges Added
    - experiments/{slug} → claims/{target} (supports/invalidates)
    
    ## Concerns
    {methodological concerns from Review LLM}
    
    ## Next Steps
    - {path-specific suggestions}
    
    ## Wiki Growth
    | Metric | Before | After | Delta |
    |--------|--------|-------|-------|
    | Claims updated | — | — | {N} |
    | Edges | {before} | {after} | +{delta} |
    | Maturity | {level} | {level} | {unchanged/upgraded} |
    (数据来自 Step 1 开始时和 Step 4 结束后分别调用 `python3 tools/research_wiki.py maturity wiki/ --json` 的对比。)
    

Constraints

  • 只处理 completed 实验:status != completed 的实验拒绝处理,提示用 /exp-run 先完成
  • 审稿独立性:严格遵循 cross-model-review.md,不向 Review LLM 发送 Claude 的预判
  • confidence 区间 0.0-1.0:更新后的 confidence 不得超出此范围
  • failure_reason 必须具体:not_supported 路径的 failure_reason 不能是空话(如 "实验失败"),必须写明具体原因
  • 不直接删除 claims:即使 not_supported,也只是 challenge 或降低 confidence,不删除 claim 页面。极端情况下(多次实验一致否定、confidence → 0),状态设为 deprecated 而非删除
  • graph edges 使用 tools/research_wiki.py:不手动编辑 edges.jsonl
  • 保守原则:当 Claude 和 Review LLM 判决不一致时,取更保守的判决
  • idea 状态只前进:proposed → in_progress → tested → validated/failed,不可逆
  • 综合所有实验评估 claim:不仅看当前实验,还要参考同一 claim 的其他实验结果

Error Handling

  • experiment 找不到:提示用户检查 slug,列出 wiki/experiments/ 中 status=completed 的候选
  • experiment 未完成:提示 status,建议先运行 /exp-run {slug}/exp-run {slug} --check
  • target claim 不存在:创建新 claim 页面(status: proposed, confidence: 0.3),标注「auto-created by exp-eval」
  • linked idea 不存在:跳过 idea 更新,仅更新 claim,在报告中标注
  • Review LLM 不可用:降级为 Claude 单模型判决,在报告中标注「single-model verdict, cross-model verification unavailable」,建议用户稍后确认
  • claim 已被其他实验修改:读取最新状态,基于当前 confidence 做调整(不覆盖其他实验的贡献)
  • 结果数据缺失:若实验页面的 Results section 为空,提示用户先运行 /exp-run {slug} --check

Dependencies

Tools(via Bash)

  • python3 tools/research_wiki.py add-edge wiki/ ... — 添加 graph edge
  • python3 tools/research_wiki.py rebuild-context-brief wiki/ — 重建 query_pack
  • python3 tools/research_wiki.py rebuild-open-questions wiki/ — 重建 gap_map
  • python3 tools/research_wiki.py log wiki/ "<message>" — 追加日志

MCP Servers

  • mcp__llm-review__chat — Step 2 Review LLM 独立判决

Claude Code Native

  • Read — 读取 wiki 页面
  • Glob — 查找同一 claim 的其他实验
  • Edit — 更新 wiki 页面

Shared References

  • .claude/skills/shared-references/cross-model-review.md — Review LLM 独立性原则(必读)

Called by

  • /research Stage 4(判决与迭代阶段)
  • 用户手动调用

Signals

GitHub stars
83
Forks
17
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
exp-eval
Source
github.com/lambenthan/empiricalwiki