在该 性能建筑师Sudhakar Reddy Narra展示了传统的性能测试工具如何错过人工智能代理实际上在负荷下打破的所有方式。 伊斯坦布尔测试会议 伊斯坦布尔测试会议 当性能工程师测试传统的Web应用程序时,指标是简单的:响应时间,输出量和错误率. 通过数千个同时请求击中系统,观看图表,识别瓶颈。 但是AI系统不会以同样的方式打破。 在上个月的测试伊斯坦布尔大会上,性能建筑师Sudhakar Reddy Narra吸引了该活动最大的群体之一,在347名参与者中有204名参与者,以解释传统的负载测试方法为何基本上对人工智能代理在生产中失败。 “AI代理可以在不到500毫秒内返回完美的HTTP 200响应,同时给出完全无用的答案,”Narra告诉观众,“你的监控仪表板是绿色的,但用户感到沮丧。 智能差距 根據Narra的說法,核心問題是,人工智能系統是非決定性的,同時也會提供兩次相同的輸入,你可能會得到不同的輸出,兩者都是技術上正確的,但品質不同。 这种变量创造了测试挑战,传统的工具没有被设计来处理。响应时间指标没有透露人工智能是否真正理解了用户的意图。通过输出数字并不表明系统正在通过其“背景窗口”燃烧,工作内存人工智能模型使用以保持对话一致性,并开始失去用户正在询问的内容。 “当我们应该在负荷下测量智能时,我们正在测量速度,”纳拉说。 一个新问题的新指标 Narra的演讲概述了测试框架目前忽略的几个AI特定的性能指标: 意图分辨时间:人工智能需要多长时间来识别用户真正想要的内容,与原始响应延迟分开。 混淆分数:在产生响应时衡量系统的不确定性。在负载下的高混淆往往先于用户注意到的质量下降,但监控工具没有。 代码输出量:而不是每秒测量请求,请跟踪系统处理的基本文本处理单位的代币数量。 背景窗口利用:系统有多接近耗尽其工作记忆力 一个在90%的背景容量下运作的代理是一个对话的转变,但传统的监控没有看到任何警告信号。 降解门槛:反应质量开始下降的负载水平,即使响应时间仍然可以接受。 经济角度也很重要,与传统应用程序不同,每个请求的处理成本大致相同,AI的交互可能因计算“思维”发生多大而不同。 测试不可预测的 Narra强调了一个实际的挑战:为人工智能系统生成现实的测试数据比传统应用程序要困难得多。 登录测试需要用户名和密码。 测试人工智能客户服务代理需要数以千计的多样化、不可预测的问题,这些问题模仿了人类实际的短语查询方式,并包含了模糊、编写和语言变异。 他的方法包括从生产日志中提取意图模式,然后通过程序生成变异:同义词,重定义,边缘案例。 “你不能用相同问题的1000份副本加载测试人工智能,”他解释道,“系统处理重复不同于真正的品种,你需要合成数据,感觉真实的人类。 模式驱动问题 纳拉强调了另一个复杂性:人工智能系统不会保持静态。随着模型重新训练或更新,即使周围代码保持不变,它们的性能特性也会发生变化。 “这意味着性能测试不能一次性验证,”纳拉说,“随着人工智能的发展,你需要连续测试。 他描述了扩展传统的负载测试工具,如Apache JMeter,具有人工智能意识的功能:定制插件,可以测量代币处理率,跟踪背景利用,并监测负载下的语义准确度,而不仅仅是速度。 在边缘的抵抗力 该演讲还涵盖了对AI系统的弹性测试,这些系统依赖于外部API、推断引擎和专业硬件,每一个都有潜在的故障点。 传统系统要么工作,要么扔错误,人工智能系统往往会逐步失败,从有用到通用到混乱,而不会从技术上“打破”。 “最难捕捉的问题是那些在日志中看起来一切都很好,但用户体验是可怕的,”他指出。 行业采纳问题 人工智能测试市场正在兴起,大多数组织仍在寻找基本的AI部署,更不用说复杂的性能工程。 一些实践者认为,现有的可观测工具可以简单地扩展到新的指标,而不是需要全新的测试范式。 纳拉承认,该领域是早期的:“大多数团队都没有意识到他们需要这个,直到他们已经发送了一些破坏生产的东西。 向前看 在纳拉的测试伊斯坦布尔会议上,吸引了近60%的会议参与者,这表明测试社区认识到人工智能系统的工作方式和目前如何验证之间存在差距,无论纳拉的具体方法还是竞争方法获胜,更大的挑战仍然存在:随着人工智能从实验功能转向生产基础设施,测试实践需要相应地发展。 目前,部署大规模人工智能的工程团队面临的问题很简单:如何测试设计成不可预测的东西? 根據Narra的說法,答案始於承認傳統指標不會捕捉真正重要的東西,並建立新的指標。