# 实验

> 带指标、截止时间和可选停止规则的、有名字的渠道尝试。到期与决定是怎么运作的。

URL: https://mcp-docs.opennomos.com/zh/docs/growth-loop/experiments

实验是你向某个渠道提的一个问题：“有帮助的 Reddit 回复，能不能在两周内带来对话？”OpenNomos 负责记住截止时间、统计指标。结果意味着什么，由**你**来判断。

## 创建

通过 [`track`](https://mcp-docs.opennomos.com/zh/docs/tools/growth/track.md) 传一个 `experiment` 条目：

```json
{
  "type": "experiment",
  "experiment": {
    "name": "Reddit helpful replies",
    "hypothesis": "People asking for alternatives will talk if we help first",
    "channel": "reddit",
    "metric": "willing_to_talk",
    "target": 3,
    "days": 14,
    "stop_rule": { "metric": "willing_to_talk", "op": "<", "value": 2 },
    "stop_rule_text": "If fewer than 2 people agree to talk after 14 days, change channel"
  }
}
```

`days`（1–365）和 `deadline`（未来的 ISO 时间、`{"in_days": n}` 或 `{"at": "…"}`）必须且只能给一个。`target`、`hypothesis`、`stop_rule` 和 `stop_rule_text` 是可选的。

## 指标

| `metric` | 在实验窗口内统计 |
| --- | --- |
| `tracked` | 在这个实验里创建的机会 |
| `contacted`、`replied`、`willing_to_talk`、`converted` | 挂在该实验下、进入该阶段的不同机会 |
| `actions` | 记在该实验下的行动 |
| `clicks` | 该实验短链接上的真人（非机器人）点击 |
| `outcome:<type>` | 该类型中**不是** `unknown` 的结果 |

用 `track`（机会）和 `log_action` 上的 `experiment_id` 把机会和行动挂到实验上。

## 停止规则

`stop_rule` 是机械式的：`{ metric, op, value }`,`op` 取 `<`、`<=`、`>`、`>=`、`==` 之一，`metric` 必须与实验的指标相同。`stop_rule_text` 是自由文本，OpenNomos 只会原样展示给你，绝不会据此结束实验。

## 到期与决定

截止时间一过，实验就变为 `due`。每次读取时都会计算，并在下一次简报时落库，**指标冻结在截止时刻**。到期的实验会出现在简报里，带 `decision_needed: true`、`overdue_days`，以及根据证据生成的 `question`，例如：

> Stop rule not met (1, rule < 2). Keep going, scale or conclude? Record your decision with track.

如果窗口内没有记录任何行动，问题里会补一句：*结果可能反映的是什么都没做，而不是这个渠道不管用。*

用实验的 `id` 更新它来记录决定：

```json
{ "type": "experiment", "id": "exp_7Hn2LpWc0", "experiment": { "decision": "extend", "extend_days": 7, "note": "Only 3 replies seen; give it one more week" } }
```

| `decision` | 结果状态 |
| --- | --- |
| `stop` | `stopped` |
| `scale` | `scaled` |
| `extend`（需要 `extend_days`） | `extended`，截止时间往后移 |
| `keep` | `concluded` |

简报之外没有任何提醒：到期的实验会一直排在 `experiments` 最前面，直到你记录决定；过了 14 天，`notices` 里还会加一条类型为 `experiment_overdue` 的提示。

## 把教训另外存

决定字段里只放一句简短的 `note`。*教训*（学到了什么、下次怎么改）属于[记忆](https://mcp-docs.opennomos.com/zh/docs/growth-loop/memory-vs-opportunity.md)，例如用 `memory_add` 写 `kind: "decision"`，并把实验名称作为标签。
