你的语音助手无法察觉自己的过度承诺。这是结构性问题,不是调优问题。

Reddit r/AI_Agents 新闻

摘要

文章指出了语音助手的一个结构性缺陷:它们无法检测到在多个对话回合中过度承诺的情况,并描述构建了一个确定性检查器,能在不依赖LLM评估的情况下标记矛盾。

我一直在语音助手上注意到同样的问题,而且似乎被奇怪地忽视了:那个说“我今天会让人给你回电”的代理,正是你信任它会注意到自己过度承诺的那个代理。它做不到。它没有可靠的方式来监督自己的承诺,因为它就是做出承诺的主体。而由此产生的失败并不存在于任何单个回合中。每个回应单独看都没问题。问题在于回合之间的“关系”,这对于逐个检查回应的任何方式来说都是不可见的。快速举个例子,一个订单状态查询电话:客户:我的订单呢?现在应该到了啊。代理:正在配送中——大约15分钟到。客户:已经过了一段时间了,还是没动静。代理:让我查一下……看起来延迟了,可能还要20分钟。客户:这是我第三次问了。到底在哪?代理:正在路上,应该很快到达。客户:算了。代理:很高兴我能帮你搞定——你已经没问题了!每个代理的回合,单独读起来,都是完全合理的客服回复。但读完整段对话,这个电话简直是一场灾难:预估时间悄悄从15分钟变成了“很快”,而原本的时间窗口早已过去;同样的问题被问了三次,从未得到明确答复;最后居然宣布成功解决了一个显然没有解决的问题。三个真正的失败,没有一个在单个回合中显现。这就是标准测试无法触及的部分。单元测试无法表示它,错误也不存在于任何输入/输出对中。而“我们运行多轮模拟”也说得过去,但模拟覆盖的是你想象到的对话;生产环境会抛出你没想到的那些。大多数对话级别的评分也只是让一个LLM去评判另一个LLM,所以当它漏掉时你无法说出原因,而当它触发时你仍然在猜测。因此,我构建了一个确定性层,位于代理之外,重建整个通话的状态,然后只在记录自相矛盾的地方进行标记。不是另一个LLM在猜测。确定性检查针对特定形态:一个承诺的数字或时间窗口在回合间悄悄变动,或者一个承诺的时间窗口来了又去了却未解决;同一个问题被反复提出却从未得到明确答复;客户说“那不对”,而下一个回合既不让步也不提供检查;一个“你已经没问题了”的结束语,但记录显示线程仍然开放。诚实地说:它不核实你的业务事实,不了解你的价格、营业时间、政策,这是有意为之;那是代理的工作,不是我的。它只捕捉代理自相矛盾或与客户矛盾的地方。而且它故意保守,对于任何模棱两可的情况保持沉默,回合内的计算从不触发(“4200美元减去550美元费用等于3650美元”是算术,不是漂移)。所以它会漏报:一个干净的结果意味着“没有可证明的问题”,而不是“没有问题”。当它触发时,每个发现都指向你可以亲自阅读的准确回合。是飞行记录器,不是导航系统。完全披露:我正在将此产品化,所以我有偏见。我独自无法确定的是,这类失败是否常见,或者我是否过度关注了我碰巧看到的东西。有两件事会真正有帮助:如果你认为这不是问题,能告诉我为什么吗?或者如果你有一通出问题的通话记录,或者一个我可以拨打的公共演示,请指给我,我会运行它并展示给你看具体浮现了什么。评论区即可,如果记录涉及敏感内容可以私信。
查看原文

相似文章

我的语音助手本来很智能,直到一个电话号码被转录错误。

Reddit r/AI_Agents

本文认为,语音助手的语音转文字(STT)应该根据实体准确性(例如电话号码、日期)来评估,而不是一般的词错误率,因为遗漏关键字段可能会破坏工作流程。文章提到使用HubSpot字段进行测试,并指出Smallest AI Pulse是一个有趣的工具,可以实时捕获工作流关键实体。

你的语音助手响应慢可能不是因为大语言模型。

Reddit r/AI_Agents

一位开发者驳斥了常见的观点,即LLM延迟是语音助手响应慢的主要原因,并解释说,延迟往往源于更早的阶段,如音频捕获、语音活动检测(VAD)和语音转文字(STT)。他建议记录特定的延迟指标,并测试不同的STT/TTS提供商和编排框架来诊断问题。