You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lex对接WhatsApp Bot异常:重复问候且无法跳转意图

Troubleshooting Your AWS Lex Bot + WhatsApp Integration Issues

听起来你在AWS Lex Bot和WhatsApp集成的过程中遇到了两个棘手的问题,我来帮你一步步排查和解决:


问题1:Bot重复发送Intro Message,不响应任何Utterances/Intents

这个问题通常和意图触发逻辑、会话状态或者集成链路有关,你可以按以下步骤排查:

  • 检查欢迎意图的优先级和触发条件
    很多时候是欢迎意图(Welcome Intent)的配置太宽泛,导致每次用户发消息都触发它。确认:

    • 欢迎意图的样本utterances有没有包含过于通用的词汇(比如"hi"、"hello"之外的内容);
    • 是否开启了"Always prompt first"这类强制触发欢迎意图的选项;
    • 其他意图的样本utterances是否足够明确,能和欢迎意图区分开。
  • 验证会话状态是否正确更新
    如果你的Bot依赖Lambda来管理会话,要检查Lambda返回的响应格式是否符合Lex要求。比如,当用户触发某个意图后,Lambda需要返回ElicitIntent、ConfirmIntent或Close等dialogAction指令,来推进会话。如果返回格式错误,Lex会停留在初始状态,重复发送intro消息。

  • 确认Bot和意图的版本匹配
    你提到把所有意图设为$Latest,但要确保Bot本身的版本(或别名)也关联了包含这些最新意图的Bot版本。去Bot的「Versions」页面,检查当前使用的别名(比如$LATEST)是否指向了最新的Bot构建版本,旧版本不会应用新的意图配置。

  • 排查WhatsApp集成的消息传递链路
    检查Webhook是否正确将用户的消息转发给Lex,并且消息格式符合Lex的要求。可以通过CloudWatch日志查看Lex收到的请求内容,确认用户的utterance是否被正确传递。如果消息格式不匹配,Lex无法解析,就会fallback到欢迎意图。


问题2:无法将Lambda函数添加至Lex Fulfillment

这个问题大多和权限配置或资源兼容性有关,试试这些方案:

  • 配置Lambda的资源-based权限
    Lex需要获得调用Lambda的权限。进入你的Lambda函数页面,在「Configuration」→「Permissions」→「Resource-based policy statements」中,添加一条信任策略,允许lex.amazonaws.com执行lambda:InvokeFunction动作。示例策略如下:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "lex.amazonaws.com"
          },
          "Action": "lambda:InvokeFunction",
          "Resource": "arn:aws:lambda:你的区域:你的账号ID:function:你的Lambda函数名"
        }
      ]
    }
    
  • 确认Lex和Lambda在同一区域
    Lex Bot和Lambda函数必须位于同一个AWS区域,否则无法关联。比如如果你的Bot部署在us-east-1,Lambda也得在us-east-1。

  • 检查Lambda的返回格式
    Lex要求Lambda返回特定结构的JSON响应,必须包含dialogAction字段。如果你的Lambda代码返回的格式不符合规范,Lex会拒绝关联。可以先在Lambda控制台测试函数,确保返回的响应符合Lex的要求。

  • 验证IAM角色权限
    如果你使用IAM角色来让Lex调用Lambda,确保该角色拥有lambda:InvokeFunction权限,并且信任关系中包含lex.amazonaws.com作为可信实体。


额外调试建议

  • 开启CloudWatch日志:给Lex Bot启用日志记录,查看每个请求的详细处理流程,包括意图触发情况、slot填充状态、Lambda调用日志等,这能帮你快速定位问题根源。
  • 单独测试Lex Bot:先脱离WhatsApp集成,用Lex的内置测试控制台直接测试Bot的对话流程。如果控制台正常,说明问题出在WhatsApp集成环节;如果控制台也有问题,就聚焦在Bot本身的配置上。

内容的提问来源于stack exchange,提问作者Jose'

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:08:03