Table of Contents
Fetching ...

Large Language Models as Software Components: A Taxonomy for LLM-Integrated Applications

Irene Weber

TL;DR

The paper formalizes LLMs as software components and introduces a taxonomy to analyze LLM-integrated applications. It defines LLM components, outlines 13 dimensions organized into metadimensions, and introduces a compact feature-vector visualization for architecture. The taxonomy is developed via Design Science Research, demonstrated on a diverse set of industrial applications, and evaluated for comprehensiveness and usefulness. The work discusses practical challenges such as prompt costs, latency, LMaaS reliance, and privacy, and points to future extensions for finer-grained prompt analysis and broader applicability.

Abstract

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.

Large Language Models as Software Components: A Taxonomy for LLM-Integrated Applications

TL;DR

The paper formalizes LLMs as software components and introduces a taxonomy to analyze LLM-integrated applications. It defines LLM components, outlines 13 dimensions organized into metadimensions, and introduces a compact feature-vector visualization for architecture. The taxonomy is developed via Design Science Research, demonstrated on a diverse set of industrial applications, and evaluated for comprehensiveness and usefulness. The work discusses practical challenges such as prompt costs, latency, LMaaS reliance, and privacy, and points to future extensions for finer-grained prompt analysis and broader applicability.

Abstract

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.
Paper Structure (35 sections, 2 figures, 4 tables)

This paper contains 35 sections, 2 figures, 4 tables.

Figures (2)

  • Figure 1: Categorized example instances. See \ref{['tab:dimover']} for a legend. $\ast, 2$: multiple LLM components.
  • Figure 2: Occurrences of characteristics in the sample set of LLM-integrated applications.