如何从Webhook修改actionIncomplete值及多轮交互场景需求咨询
问题解答:修改Webhook的actionIncomplete参数 + 乱码输入场景处理
一、如何修改Webhook中的actionIncomplete参数
actionIncomplete是对话系统里控制意图参数收集流程的核心字段,你直接在Webhook返回的JSON响应里就能修改它的值,具体逻辑和示例如下:
核心规则:
- 当所有必填参数都收集完毕,且可以推进业务逻辑时,把
actionIncomplete设为false,系统会结束当前意图的参数收集环节。 - 如果还有必填参数没收集,或者用户输入不符合参数要求(比如选项不匹配、格式错误),就将
actionIncomplete设为true,同时用fulfillmentText提示用户补充信息。
- 当所有必填参数都收集完毕,且可以推进业务逻辑时,把
示例响应代码:
比如用户刚选了“高性能”,还没选品牌时,Webhook返回:
{ "fulfillmentText": "高性能类别下有Apple和Asus两个品牌,您偏好哪一个?", "actionIncomplete": true, "parameters": { "filter": "高性能", "brand": "" // 未完成收集的参数 } }
当用户选择Apple后,所有参数收集完成,返回的响应就可以调整为:
{ "fulfillmentText": "您希望按发布日期还是评分排序?", "actionIncomplete": false, // 参数收集完成,关闭当前收集流程 "parameters": { "filter": "高性能", "brand": "Apple" } }
二、处理用户输入乱码(uywiuewrwrw)的场景
从你的对话流程看,用户输入无意义乱码时机器人回复“here...”是不合理的,你需要做这几件事来优化:
配置Fallback意图:
创建一个专门的Fallback意图(比如叫默认兜底意图),用来捕获所有无法被现有意图识别的输入(包括乱码、无意义字符串)。给这个意图设置友好的引导回复,比如:“抱歉,我没太明白您的意思😅,您可以告诉我具体需求,或者重新说明你的选择吗?”维护对话上下文:
确保用户输入乱码时,系统依然保留当前的对话上下文(比如已经选了高性能、Apple品牌、按评分排序)。这样用户在收到提示后,能继续基于当前场景提问,比如“有没有更便宜的?”,系统能正确响应。添加输入校验逻辑:
在Webhook里加一层简单的输入校验,如果检测到输入是无意义的字符串(比如全是乱码、无规律字符),直接触发兜底逻辑返回引导提示,而不是输出错误的“here...”。记录异常输入:
把这类无法识别的输入记录到日志里,后续可以分析这些异常输入的规律,补充训练数据,让系统能更好地覆盖用户的各种输入场景。
内容的提问来源于stack exchange,提问作者Inzamam Malik
相关产品推荐
相关产品推荐

