Large Language Models (LLMs) have become widely adopted recently. Research explores their use both as autonomous agents and as tools for software engineering. LLM-integrated applications, on the other hand, are software systems that leverage an LLM to perform tasks that would otherwise be impossible or require significant coding effort. While LLM-integrated application engineering is emerging as new discipline, its terminology, concepts and methods need to be established. This study provides a taxonomy for LLM-integrated applications, offering a framework for analyzing and describing these systems. It also demonstrates various ways to utilize LLMs in applications, as well as options for implementing such integrations. Following established methods, we analyze a sample of recent LLM-integrated applications to identify relevant dimensions. We evaluate the taxonomy by applying it to additional cases. This review shows that applications integrate LLMs in numerous ways for various purposes. Frequently, they comprise multiple LLM integrations, which we term ``LLM components''. To gain a clear understanding of an application's architecture, we examine each LLM component separately. We identify thirteen dimensions along which to characterize an LLM component, including the LLM skills leveraged, the format of the output, and more. LLM-integrated applications are described as combinations of their LLM components. We suggest a concise representation using feature vectors for visualization. The taxonomy is effective for describing LLM-integrated applications. It can contribute to theory building in the nascent field of LLM-integrated application engineering and aid in developing such systems. Researchers and practitioners explore numerous creative ways to leverage LLMs in applications. Though challenges persist, integrating LLMs may revolutionize the way software systems are built.
翻译:近年来,大型语言模型(LLMs)已获得广泛应用。现有研究既探索其作为自主智能体的应用,也研究其作为软件工程工具的可能性。而LLM集成应用则指那些利用LLM执行特定任务的软件系统,这些任务若采用传统方法或难以实现,或需大量编码工作。尽管LLM集成应用工程正在成为新兴学科,但其术语体系、概念框架与方法论仍需建立。本研究提出针对LLM集成应用的分类体系,为分析和描述此类系统提供框架,同时展示LLM在应用中的多种使用方式及其集成实现方案。遵循既定研究方法,我们通过分析近期LLM集成应用样本识别关键维度,并通过对额外案例的应用验证该分类体系的有效性。本综述表明,应用程序以多种方式集成LLM以实现不同目标,且通常包含多个被我们称为“LLM组件”的集成单元。为清晰理解应用架构,我们对每个LLM组件进行独立分析,最终提出包含十三个维度的特征描述体系,涵盖所利用的LLM技能、输出格式等关键特征。LLM集成应用可描述为其LLM组件的组合,我们建议采用特征向量进行简洁的可视化表征。该分类体系能有效描述LLM集成应用,有助于LLM集成应用工程这一新兴领域的理论构建,并对系统开发提供支持。当前学界与业界正探索LLM在应用中的多种创新使用方式。尽管挑战依然存在,但LLM的集成应用或将彻底改变软件系统的构建范式。