用户连发四句「我要退款」,机器人回了四遍「抱歉,我没有理解您的问题」,第五句还是同一句,转人工按钮从头到尾没出现。乍看像缓存或者权限的锅,追下去往往不是。
session.fallback = (session.fallback || 0) + 1;
if (session.fallback >= 2) {
return renderTransferButton('转人工');
}
return renderFallback(session.fallback);
追下去是这么回事:意图识别没命中时直接返回兜底文案,会话状态没有推进,下一句又走回同一个入口。兜底次数没有计数,判断转人工的条件永远不成立。
「机器人兜底循环」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
具体做法是,会话里加一个兜底计数,每命中一次加一;连续两次兜底就把转人工按钮顶到第一条,别让用户自己找;兜底话术后面挂两三个常见问题,给用户一个出口。
验收就看一点,连发两句没命中的话,第二条回复下面直接出现转人工按钮。
