微信聊天机器人开发,重点不是“能回一句你好”,而是 多轮对话还能对准业务,不会在价格和承诺上自由发挥。 个人号是好友会话,客户会打断、会跳题、会隔夜再来。这篇讲对话流怎么设计、意图怎么落。

先做流程,再做聪明

推荐三层,不要一上来全交给模型:

  1. 精确意图: 运费、地址、发票,直接模板

  2. 槽位流程: 预约、改期、查单,每轮只补一个槽

  3. 生成式: 仅在前两层未命中时,改写说法或总结给坐席,不生成价格和库存

模型适合换说法,不适合当收银系统。不确定就转人工。

对话状态要持久

至少存:

  • 当前流程(无 / 预约 / 查单)

  • 已填槽位(门店、时间、单号)

  • 是否人工

  • 最后一轮机器人说了什么

客户隔 3 小时回一个“改到下午”,系统要知道他在改哪次预约。状态放数据库,不要放内存——进程重启和多实例都会丢。

每轮只问一件事。连续三问像填表,私域里转化会掉。

意图怎么识别才够用

第一版用:全匹配 + 包含 + 正则(订单号、手机号)+ 同义词表。
出现 10 次以上的未命中句,再补规则。
投诉、找人、法律相关进升级意图,不走闲聊模型。

群消息默认不进对话流。聊天机器人的主场是私聊。

和通道怎么切

对话引擎只产出「回什么、是否转人工、槽位如何更新」。
登录、收消息、发送全部走 HTTP 通道。个人号用 GeWe API 承接收发和回调,聊天逻辑保持可单测,不依赖微信窗口。

回调字段、消息类型以文档为准:API文档

开发顺序

  1. 单轮 FAQ + 转人工

  2. 一个三槽流程(例如预约)

  3. 会话恢复(隔夜续聊)

  4. 未命中进模型或坐席,加超时

  5. 最后才多流程并行(容易互相抢槽)

质检

  • 流程中客户说「人工」,立刻退出并交上下文

  • 模型超时(如 8 秒)走兜底,不空等

  • 同一 msgid 不推进两次槽位

  • 坐席能看到已填槽和机器人原话

小结

微信聊天机器人开发要做的是可恢复的对话流,而不是更长的提示词。精确规则打底,槽位推进成交,模型只做表达。通道用 GeWe API 接个人号,引擎自己管状态。一个预约流程跑稳,再复制到查单和售后。

Logo

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

更多推荐