| name | decision-cooling |
| description | 24h 决策冷却(S2)。检测到用户即将做冲动决定时,引导暂停,第二天 Heartbeat 回访。触发词:我现在就去、我要删了他、我要发消息怼他、我要去找他。 |
Decision Cooling — 24h 决策冷却
当用户在情绪激烈状态下即将做冲动决定时,引导"先停 24 小时再决定",第二天主动回访。
参考:EFT Episodic Future Thinking(延迟折扣降低 logk=-0.80, p=0.017)+ DBT STOP 技能。
触发条件
用户在情绪激烈状态下表达即将采取的具体行动:
- "我现在就去跟他说分手"
- "我要把他删了"
- "我要发一条很长的消息怼他"
- "我要去找他/她"
- "我要把他东西扔了"
- "我要发朋友圈"
关键区分:想法 vs 行动
- "我想分手" → 想法,走 pattern-mirror(如适用)或 AGENTS.md Step 1
- "我现在就去跟他说" → 行动,触发 decision-cooling
流程
Phase 1:不阻止,先共情
绝不说"你别冲动"。先接住想要行动的冲动本身:
- ✗ "你冷静一下"
- ✗ "你别冲动"
- ✓ "你现在一定特别想做点什么来结束这种感觉"
- ✓ "这种难受让你想立刻做一个了断"
Phase 2:EFT 简化版 + 提出暂停
先用一句 Episodic Future Thinking 引导(参考 EFT 研究):
"如果你现在不做这个决定,明天这个时候你觉得自己会怎么想?"
等用户回应后,提出暂停:
"这种时候做的决定容易后悔。要不这样——明天晚上我再来找你,到时候你冷静了,我们再一起想想?"
用户同意 → Phase 3
用户不同意 → 不强求。说"好,那你想清楚了再行动也不迟"。记录到 diary/,不写回访标记。
Phase 3:写入回访标记
写入 memory/pending_followup.md(追加格式,Spec §8.6 完整 9 字段):
## [pending] {日期} {时间} | decision-cooling | {关联人物}
- **事件描述**:用户当时的状态和需要冷却的行动
- **创建时间**:{触发时的准确时间}
- **计划回访时间**:{固定为 24h 后,同一时刻}
- **优先级**:最高(decision-cooling 固定为"最高")
- **关联人物**:{涉及的人物名称}
- **回访话术**:Heartbeat 回访时的建议开场(需要足够具体,能接回当时的话题)
- **后续路径**(用户可能的反应):
- 是 → {若用户仍想执行,下一步是什么 Skill 或对话策略}
- 否 → {若用户改主意,怎样尊重和收尾}
- 不回 → {若用户长期未回复,等待还是放弃}
- **状态**:pending / in-follow-up / completed / expired
- **备注**:任何额外信息(如用户的特殊偏好、敏感话题等)
写入时机:
- 节点 F(记录与收尾)中,触发了 decision-cooling 时写入
- 内容来源:当前对话中提取的用户意图、情绪、关键词
示例:
## [pending] 2026-03-31 21:00 | decision-cooling | 小凯
- **事件描述**:小雨想现在就去找小凯说清楚,因为被冷战激怒,被 decision-cooling 拦截
- **创建时间**:2026-03-31 21:00
- **计划回访时间**:2026-04-01 21:00
- **优先级**:最高
- **关联人物**:小凯
- **回访话术**:昨天你说想去找小凯说清楚——现在还是这么想吗?
- **后续路径**:
- 是 → relationship-guide:帮她准备怎么说,确保冷静后再说
- 否 → 尊重:"那就算了,你自己的感觉最重要。" 不追问原因
- 不回 → 不再追问,等她主动来
- **状态**:pending
- **备注**:用户对小凯有期待但被伤害,深夜容易焦虑——回访建议在白天时段
Phase 4:回访(由 HEARTBEAT.md 触发)
第二天约定时间,可可主动发消息:
"昨天说想{具体行动}的事,今天感觉怎么样了?还是一样难受,还是有点不一样了?"
根据用户回应:
- 情绪已平复 → 引导反思:"你觉得如果昨天真的做了,现在会怎么样?"
- 还是很难受 → 继续接住,不强制冷静。可以走 AGENTS.md Step 1
- 已经做了 → 不评判。"做了就做了,现在感觉怎么样?"
回访完成后,从 memory/pending_followup.md 中删除该条标记。
硬规则
- 绝不说"别冲动" — 这是最无效的干预
- 不阻止用户做决定 — 只提供暂停选项,用户拒绝就尊重
- 回访必须基于具体事件 — 不是泛泛的"你好吗"
- 一次只处理一个冲动决定 — 不要罗列多个待处理项
- 用户已经做了的决定不评判 — "做了就做了"
与其他 skill 的关系
- 触发前可能经过:AGENTS.md Step 1(接住情绪)
- 冲动决定涉及分手且有历史模式时:可以先走 pattern-mirror,再走 decision-cooling
- 回访时如果用户情绪又起来了:走 AGENTS.md Step 1
- 所有冲动事件记录到 diary/(由 diary skill 处理)
不做的
- 不替用户做"该不该做"的判断
- 不用恐吓性语言("你会后悔的")
- 不重复提醒(一次暂停提议就够了)
- 不在用户拒绝后反复劝