「客户说机器人回了两遍」——这类工单里,研发爱查发送,产品爱怪模型。
真正高频的原因更土:去重键设计得不好,重复推送被你当成两条新消息。

消息回调重推很难彻底消灭,但重复消费可以消灭。去重规则写在你自己的服务里,这是底线能力。

先分清两层去重

进门去重(别处理两遍)
同一条客户消息,自动回复逻辑只跑一次。

出门占坑(别发出两遍)
同一笔回复只成功发送一次。

只做进门,Worker 重试仍可能发两条;只做出门,业务侧仍可能建两张工单。两层都要。

进门键怎么拼才靠谱

优先:消息唯一编号。

没有编号时,拼这些:

  • 设备

  • 会话(聊天窗口)

  • 发送人

  • 消息时间

  • 内容指纹(摘要)

少拼一项的后果

少了

后果

设备

多账号互相误杀或互漏

会话

不同群同句「好的」撞车

发送人

群里两人同句被合成一条

消息时间

真·两条不同消息被当成重复

用「服务器收到时间」

重推时时间变了,去重失效

出门键怎么拆

  • 自动回复:进门键 + 已回复

  • 主动通知:订单号 + 动作名(如发货通知)

两套钥匙分开,别让发货通知和自动回抢同一把锁。

推荐处理顺序(好记)

消息来了
  → 探活?直接成功返回
  → 进门占坑失败?说明重复,仍返回成功
  → 入队,立刻返回成功
  → Worker 出门占坑
  → 再发送

重复也要返回成功。返回失败,只会鼓励对方继续重推。

怎么验收

  1. 同一内容连打 3 次:只回 1 条

  2. 两台设备收到相同文本:互不误杀

  3. 发送超时重试:已成功的不会再发第二条

小结

双回不是玄学,是键少了字段或少了一层占坑。
把进门键、出门键设计清楚,自动回复才会「迟钝得刚刚好」。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐