企业微信API接口实战:如何打造一个支持多场景回复的智能机器人? 一个机器人要应付多种场景答常见问题、查订单、预约、转人工。如果每种场景写一套 if-else代码很快失控。我们用场景路由把这几类拆开机器人只负责识别场景和分发每个场景自己处理自己的逻辑。接口层用的是Eyun 平台开放的企微 API接收走 Webhook回发走 message 模块。场景路由表先把场景列出来每个场景给一组触发特征关键词、消息类型、是否要参数。路由表做成配置加场景不用改代码。SCENE_ROUTES [ {scene: faq, keywords: [价格, 地址, 营业时间]}, {scene: order, keywords: [订单, 物流, 发货], need_param: order_no}, {scene: booking, keywords: [预约, 登记], need_param: date}, {scene: human, keywords: [人工, 客服, 投诉]}, ]场景内上下文同一场景往往要聊几轮。比如预约机器人问日期、问人数客户分几条回。给每个会话存一个当前场景和已收集的参数下一轮消息进来先看当前场景是否还缺参数缺就继续收集不重新识别。场景切换客户可能聊到一半换话题——预约到一半突然问价格。要能识别出切换清掉当前场景的槽位再路由到新场景。判定规则新消息命中其他场景的关键词且当前场景没有正在等待的参数就允许切换。参数拿不到怎么办场景需要参数但客户没给时明确告诉他缺什么别硬猜。缺参数超过两轮还是没给转人工。回调消息体字段在开发文档里有完整说明。结尾多场景机器人不难在场景本身难在场景之间的边界——怎么识别、怎么切换、切换时旧上下文怎么清。路由表加会话上下文这两样做对了加场景就是往表里加一行。