对话状态机
状态定义
会话状态分为 ai、pending_human、human 和 closed。ai 表示 AI 可以继续回复;pending_human 表示系统已经触发转人工但客服尚未接管;human 表示人工接管,AI 只保留辅助摘要能力;closed 表示客户问题已结束或工单已处理。状态设计的目标是防止 AI 与人工抢答。
状态转换
普通 FAQ、营业时间和活动咨询通常保持 ai。当客户主动要求人工、出现高金额退款、强烈负面情绪、健康风险或重复追问时,状态切换为 pending_human。后台客服点击接管后切到 human。人工解决问题并补充处理结果后,会话可以关闭,相关工单进入 resolved 或 closed。
数据字段
状态机依赖 conversation.status、assigned_to、intent_category、summary 和最近消息。转人工时要写入原因和摘要,避免客服打开后台后不知道客户前面说了什么。状态变化也应成为质检输入,用来判断 AI 是否在合适时机退出。
设计要点
状态机要少而稳。当前实现不引入复杂 BPMN,只覆盖 AI 自动回复、等待人工、人工接管、会话结束这四种真实状态。后续可扩展等待客户补充信息、等待商家处理、售后回访等中间状态,但应在新增前先评估对客户体验的可见性影响。