Hypothesis: [Short Name]

原创2026-09-14 18:59:071,832 阅读
文章标签:AI 技能人工智能AI 应用

Hypothesis: [Short Name]

Claim: [What we believe will work]

Rationale: [Why we think this might work]

Testable Prediction: If this hypothesis is correct, then [observable outcome]

Falsification Criteria: This hypothesis is WRONG if [observable outcome]

Cost to Test: [Time/resources needed]

Confidence Level: [Low/Medium/High] - [Why]


完整版模板(含 ID、状态、If-Then 表述、测试成本与最低实验描述)见 <a href="https://link.gitcode.com/i/8f816173eeec9f9b3b3cae181a326f6b" target="_blank">Templates.md</a>,其中要求为每个假设填写 **Falsification("WRONG if: 能证明它错误的特定可观察结果")**——写不出这句话的假设不可测试。

### 对抗确认偏差的五种反制手段

1. **预演失败(Pre-Mortem)**——测试前设想:"假设这个假设彻底失败了,是哪里出了问题?"
2. **魔鬼代言人(Devil's Advocate)**——主动反驳你最喜欢的假设
3. **主动寻求反证**——对每个假设问:"什么证据会降低我的信心?"
4. **红队(RedTeam 技能)**——用 <a href="https://link.gitcode.com/i/3de0fe7d694994f255045ccf187c135a" target="_blank">RedTeam 技能</a> 从多角度攻击你的假设
5. **考虑零假设**——始终包含"也许没出问题"或"也许当前方案已经最优"

### 多智能体假设生成

对重要问题,<a href="https://link.gitcode.com/i/08dfb5a0fc8e737f3d612c3a1b0cdd27" target="_blank">GenerateHypotheses 工作流</a> 建议并行使用多个 Agent 从不同角度生成假设:技术视角、用户视角、挑战假设的视角、来自类比领域正交视角,然后合并去重。

---

## 五、Phase 3:EXPERIMENT——设计测试

### 最小可行实验

**设计能检验假设的最小实验。** 不是每个实验都需要全面完整。目标是**学习**,不是完美。自问:
- 验证它是否有效的最快方式是什么?
- 获得有意义数据的最便宜方式是什么?
- 什么会**证伪**该假设?
- 达到信心的最小样本量是多少?

### 实验设计五步流程

**1. 定义成功标准**
- 什么结果确认假设?
- 什么结果反驳假设?
- 什么结果不确定(需要更多数据)?

**2. 设计测试**
- 我们要做什么?
- 我们要测量什么?
- 如何测量?
- 对照组是什么(如适用)?

**3. 识别变量**
- 自变量(我们改变的)
- 因变量(我们测量的)
- 控制变量(我们保持恒定的)
- 混淆变量(可能扭曲结果的)

**4. 规划数据收集**
- 需要什么数据?
- 如何收集?
- 何时收集?
- 多少算够?

**5. 定义停止标准**
- 何时停止实验?
- 什么算"足够"的数据?
- 何时宣布成功/失败/不确定?

### 实验质量检查清单

| 标准 | 问题 |
|----------|----------|
| **最小 Minimal** | 这是能给出有意义数据的最小测试吗? |
| **可证伪 Falsifiable** | 实验能否证明假设错误? |
| **可测量 Measurable** | 是否确切知道在测量什么? |
| **受控 Controlled** | 是否隔离了正在测试的变量? |
| **可复现 Reproducible** | 其他人能否运行此实验? |

### 实验模板

```markdown
## Experiment: [Name]

**Testing Hypothesis:** [Which hypothesis this tests]

**Method:**
1. [Step 1]
2. [Step 2]
3. [Step 3]

**Measuring:**
- Primary metric: [What we're measuring]
- Secondary metrics: [Other useful data]

**Success Criteria:**
- Hypothesis CONFIRMED if: [condition]
- Hypothesis REFUTED if: [condition]
- INCONCLUSIVE if: [condition]

**Duration:** [How long to run]

**Resources Needed:** [What's required]

Templates.md 中的完整实验模板额外要求**预先承诺(PRE-COMMITTED)**成功标准——在运行前就写死 CONFIRMED/REFUTED/INCONCLUSIVE 三种结局的条件,并列出自变量/因变量/控制变量及数据收集表,防止事后解释。

分领域实验工具

领域 工具
代码 Worktrees(并行实验)、TDD、特性开关
提示词 Evals 技能、A/B 测试
UI/UX Worktrees、Interceptor 技能、设计变体
业务 A/B 测试、小规模发布、试点项目
想法 小范围受众测试、草稿 → 反馈循环

六、Phase 4:EXECUTE——运行实验

并行执行

当实验相互独立时,并行运行。 这正是 LifeOS 的闪光点:

  • 多个 Worktree 进行代码实验
  • 多个 Agent 进行研究实验
  • 多次 eval 运行进行提示词实验

顺序执行在可以并行时是浪费时间。

执行三步流程

1. 准备

  • 验证所有前置条件已满足
  • 确保测量基础设施就绪
  • 确认成功/失败标准清晰
  • 设置日志/数据收集

2. 执行

  • 按设计运行实验
  • 中途不要更改参数(除非中止)
  • 记录任何意外事件
  • 捕获所有相关数据

3. 观察

  • 监控进展(不要设定后就放任不管)
  • 记录异常
  • 若实验明显失败,准备中止
  • 不要过早偷看结果(避免偏差)

执行质量检查清单

标准 问题
忠实 Faithful 是否按设计运行了实验?
完整 Complete 是否收集了计划中的所有数据?
有记录 Documented 是否记录了发生的事?
无偏 Unbiased 是否避免了中途偷看或调整?

七、Phase 5:MEASURE——收集数据

数据收集四原则

1. 只测量重要的(Measure What Matters)——只收集与目标相关的数据。更多数据 ≠ 更好数据。

2. 尽可能量化(Quantify Where Possible)——数字使比较成为可能。"感觉更快" < "加载时间下降 40%"。

3. 捕获上下文(Capture Context)——脱离上下文的数字毫无意义。记录条件、异常、环境。

4. 保留原始数据(Preserve Raw Data)——始终保留原始数据。派生指标可以重算,原始数据无法恢复。

测量四步流程

1. 收集主要指标

  • 正在测试的核心内容
  • 成功标准的直接测量

2. 收集次要指标

  • 支撑上下文
  • 早期预警信号
  • 健全性检查

3. 捕获定性数据

  • 观察
  • 反馈
  • 异常
  • 意外

4. 验证数据质量

  • 有离群值吗?
  • 数据完整吗?
  • 有明显错误吗?
  • 数字合理吗?

测量模板

## Results: [Experiment Name]

**Date:** [When run]
**Duration:** [How long]

**Primary Metrics:**
| Metric | Before | After | Change |
|--------|--------|-------|--------|
| [Name] | [Value] | [Value] | [Δ%] |

**Secondary Metrics:**
| Metric | Value | Notes |
|--------|-------|-------|
| [Name] | [Value] | [Context] |

**Observations:**
- [Notable event 1]
- [Notable event 2]

**Raw Data Location:** [Link/path]

八、Phase 6:ANALYZE——对照目标分析

分析四步流程

1. 对照成功标准

  • 我们达成目标了吗?
  • 超出或落后多少?
  • 差异在统计上显著吗?

2. 判定假设状态

  • CONFIRMED(确认):证据支持假设
  • REFUTED(反驳):证据与假设矛盾
  • INCONCLUSIVE(不确定):需要更多数据

3. 识别学习点

  • 我们学到了什么?
  • 什么让我们意外?
  • 这对我们的理解改变了什么?

4. 生成新问题

  • 涌现了哪些新问题?
  • 我们会做什么不同的事?
  • 下一步该探索什么?

分析质量检查清单

标准 问题
客观 Objective 是对照目标比较,而非对照我们的期望?
诚实 Honest 是否承认负面结果?
统计 Statistical 是否考虑了方差与显著性?
重学习 Learning-Focused 是否提取了洞见,而不仅是裁决?

分析模板

## Analysis: [Experiment Name]

**Goal Comparison:**
| Success Criteria | Required | Actual | Status |
|-----------------|----------|--------|--------|
| [Metric 1] | [Value] | [Value] | ✅/❌ |
| [Metric 2] | [Value] | [Value] | ✅/❌ |

**Hypothesis Status:** [CONFIRMED / REFUTED / INCONCLUSIVE]

**Key Learnings:**
1. [Learning 1]
2. [Learning 2]
3. [Learning 3]

**Surprises:**
- [What we didn't expect]

**New Questions:**
- [Question that emerged]

**Implications for Next Iteration:**
- [How this changes our approach]

九、Phase 7:ITERATE——反馈回路

迭代四步流程

1. 更新世界模型

  • 我们现在知道了哪些以前不知道的?
  • 这如何改变我们的理解?
  • 哪些假设被验证或被推翻?

2. 精炼假设

  • 哪些假设应继续探索?
  • 哪些应放弃?
  • 涌现了哪些新假设?

3. 规划下一轮

  • 下一个实验是什么?
  • 新目标是什么(如果变了)?
  • 需要什么新观察?

4. 决定:继续还是交付

  • 我们学得够多了吗?
  • 是时候交付并从生产中学习吗?
  • 进一步实验还有价值吗?

何时停止迭代

停止当:

  • 目标已达成
  • 进一步迭代收益递减
  • 时间/资源约束要求交付
  • 问题已改变(转向)

不要因为以下原因停止:

  • 我们感到沮丧
  • 我们想回避负面结果
  • 实验耗时超出预期
  • 我们依恋自己的假设

迭代反模式

不交付的无限迭代 与 不迭代的直接交付 一样糟糕。目标是进步,不是完美。总有一个时点要交付并从生产中学习。


十、Meta:科学应用于科学

这套方法论适用于它自身。在 SKILL.md 中,每完成一次工作流都要追加 JSONL 执行日志;Protocol.md 则明确要求 Science 技能必须能用科学方法改进自身:

  • Goal: 提升问题求解有效性
  • Observe: 跨领域追踪实验产出
  • Hypothesize: 尝试方法论变体
  • Experiment: 将变体应用于真实问题
  • Measure: 学习率、成功率、迭代速度
  • Analyze: 对比方法论版本
  • Iterate: 更新 Science 文档

方法论的自我演进在 Meta/ 目录中跟踪,这与 LifeOS 的算法循环(见 ALGORITHM/ideate-loop.md 与 ALGORITHM/optimize-loop.md)一脉相承:系统本身也在不断被优化。


十一、与 LifeOS 技能的集成:Protocol 而非 Service

Protocol.md 提出了一个关键洞见:"技能不调用 Science,技能实现 Science。" 就像 TCP/IP 定义了通信模式而不关心通信内容,Science 定义了迭代模式而不关心应用的领域。二者的区别是:

模型 描述 耦合度
服务(错误) Development 调用 Science.analyze() 高——Science 必须了解所有技能
协议(正确) Development 实现 ScienceProtocol 低——技能独立合规

协议接口

任何 Science 合规的工作流都表现出如下行为(摘自 Protocol.md 的 TypeScript 接口描述):

interface ScienceProtocol {
  // Phase 0: What are we trying to achieve?
  goal: {
    successCriteria: string[];      // How will we know we succeeded?
    measurableIndicators: Metric[]; // What numbers define success?
    constraints: string[];          // What are our limits?
    antiGoals?: string[];           // What are we NOT trying to do?
  };

  // Phase 1: What is the current state?
  observe(): Observation;

  // Phase 2: What might work? (MUST be plural)
  hypothesize(): Hypothesis[];  // Minimum 3

  // Phase 3-4: Design and run tests
  experiment(hypothesis: Hypothesis): ExperimentResult;

  // Phase 5-6: What happened? How does it compare?
  measure(result: ExperimentResult): Measurement;
  analyze(measurement: Measurement, goal: Goal): Analysis;

  // Phase 7: What's next?
  iterate(analysis: Analysis): NextAction;
}
登录后查看全文
LifeOS