论文
切线:基于 LLM 的代理应用程序测试实践的实证研究
Tangent: An Empirical Study of Testing Practices for LLM-Based Agent Applications
摘要
基于 大语言模型 (LLM) 构建的代理越来越多地用于构建执行复杂的多步骤任务的应用程序,这些任务涉及推理、工具使用以及与外部环境的交互。尽管基于 LLM 的代理的基准测试取得了快速进展,但很少有研究试图了解如何在实践中测试此类系统。特别是,代理应用程序的测试级别、目标、数据模式、测试复杂性和验证策略仍未得到充分探索。在本文中,我们使用大量已挖掘的开源项目语料库,对基于 LLM 的代理应用程序的测试实践进行了实证研究。我们构建了一个包含代理应用程序、工具和测试的大规模数据集,并手动标记了 240 个模块中的 2,572 个测试方法。根据此分析,我们得出了跨测试装置、数据、目标和断言的 23 种测试模式的分类法,并按级别(单元、模块、集成)表征测试。我们通过对构建代理系统的 10 名高级行业从业者进行结构化访谈来补充这一点。我们的结果表明,基于 LLM 的代理应用程序的测试主要是范围狭窄的单元测试,对复杂交互、现实场景和非功能性需求的覆盖范围有限。测试经常依赖于简单的输入、大量的模拟和浅层验证,并且与代理相关的测试表现出较低的结构复杂性。虽然行业实践比开源项目更重视非功能测试,但两者都暴露出共同的差距,包括缺乏正式的测试基础、不明确的测试目标以及生成高质量测试数据的挑战。基于这些发现,我们概述了更加系统和严格的代理应用程序测试的研究方向,包括代理可测试性的基础、形式化的测试目标和基于故障的测试技术。