实时与异步
一句话区分
| 用户看到的是 | |
|---|---|
| 实时(同步) | 「现在」的世界 —— 事情发生瞬间就处理、状态立刻同步 |
| 异步 | 「过去某个时刻」的快照 —— 先攒起来,等系统有空或到点了批量处理 |
反面案例:ONE 的卡片为什么翻车
钉钉 ONE 把 AI 工作卡片放在服务端异步生产(隔一段时间生成一批),结果出现一串致命问题:
| 问题 | 本质 |
|---|---|
| 卡片重复 | 生产时刻与消费时刻错位,同一内容生成了两版 |
| 显示未读但实际已读 / 红点不消 | 状态没有实时同步回原场域 |
| 读到已被撤回的敏感消息、编辑前的旧版本 | 最危险 —— 过期快照还在给用户看 |
原作者的判断很犀利:用户在卡片里消费的对象 80% 以上是 IM 消息本身,而 IM 消息频次高、变化快 —— 「不实时就意味着对用户的欺诈」。
⚠️ 关键区分:错的不在「用了异步」,而在「把高频易变的内容塞进了异步管线」。
异步的正确适用场景
异步不是次优选择,它在合适的场景里是三赢:
| 受益方 | 收益 |
|---|---|
| 生产侧 | 低频批量处理,AI 成本大幅降低 |
| 用户侧 | 一次读到高信息量,不被打扰 |
| 产品侧 | 培养周期性打开的习惯 |
典型成功案例:ChatGPT Pulse —— 夜里异步生成,早上给你读日报。用户预期本来就是「一天看一次」,异步完全够用。
可复用的选型判据
内容变化越快、时效越敏感(IM、协作文档、状态流)
→ 必须实时
内容相对稳定、按天/按次消费(日报、摘要、研究简报)
→ 异步更优(且成本低一个量级)
追问自己:如果我这里延迟 10 分钟,用户会不会看到「已经不存在的东西」? 会 → 实时;不会 → 异步。
相关
- 长尾查询 —— 另一个「按场景选型」的例子
- dogfooding —— 同属「看似显然、实则有坑的产品判断」