定义和检测大型语言模型自主代理的缺陷
软件工程
2024-12-30 v2
摘要
AI 代理是能够感知其环境、自主规划和执行任务的系统。最近的 LLM 进步引入了一种变革性的范式,用于 AI 代理,使其能够通过提示与外部资源和工具进行交互。在此类代理中,工作流程集成了开发人员编写的代码,该代码管理框架构建和逻辑控制,以及 LLM 生成的自然语言,用于增强动态决策和交互。然而,开发人员实现的逻辑与 LLM 在行为和预期结果方面生成的内容之间的差异可能导致缺陷,如工具调用失败和任务执行错误。这些问题引入了特定风险,导致 LLM 基于 AI 代理出现各种缺陷,如服务中断。尽管这些问题的重要性已得到广泛认可,但缺乏针对 LLM 基于 AI 代理的系统性研究来揭示其代码中的缺陷。在本文中,我们提出首个专注于识别和检测 LLM 代理缺陷的研究。我们收集并分析了 6854 篇与 LLM 代理相关的 StackOverflow 帖子,以定义 8 种代理缺陷类型。对于每种类型,我们提供了详细描述和示例。然后,我们设计了一个静态分析工具,称为 Agentable,用于检测缺陷。Agentable 利用代码属性图和 LLM 来分析 Agent 工作流程,通过高效识别特定代码模式和分析自然语言描述来实现此目的。为评估 Agentable,我们构建了两个数据集:AgentSet 包含 84 个真实世界的 Agent,AgentTest 包含 78 个专为包含各种缺陷类型的 Agent 而设计。我们的结果显示,Agentable 实现了 88.79% 的整体准确率和 91.03% 的召回率。此外,我们的分析揭示了 AgentSet 中的 889 个缺陷,凸显了这些缺陷的普遍性。
引用
@article{arxiv.2412.18371,
title = {Defining and Detecting the Defects of the Large Language Model-based Autonomous Agents},
author = {Kaiwen Ning and Jiachi Chen and Jingwen Zhang and Wei Li and Zexu Wang and Yuming Feng and Weizhe Zhang and Zibin Zheng},
journal= {arXiv preprint arXiv:2412.18371},
year = {2024}
}