Architecture Knowledge Management (AKM) is crucial for maintaining current and comprehensive software Architecture Knowledge (AK) in a software project. However AKM is often a laborious process and is not adopted by developers and architects. While LLMs present an opportunity for automation, a naive, single-prompt approach is often ineffective, constrained by context limits and an inability to grasp the distributed nature of architectural knowledge. To address these limitations, we propose an Agentic approach for AKM, AgenticAKM, where the complex problem of architecture recovery and documentation is decomposed into manageable sub-tasks. Specialized agents for architecture Extraction, Retrieval, Generation, and Validation collaborate in a structured workflow to generate AK. To validate we made an initial instantiation of our approach to generate Architecture Decision Records (ADRs) from code repositories. We validated our approach through a user study with 29 repositories. The results demonstrate that our agentic approach generates better ADRs, and is a promising and practical approach for automating AKM.
翻译:架构知识管理(AKM)对于在软件项目中维护当前且全面的软件架构知识(AK)至关重要。然而,AKM通常是一个繁琐的过程,并未被开发人员和架构师广泛采纳。虽然大型语言模型(LLM)为自动化带来了机遇,但一种简单的、单一提示的方法往往效果不佳,受限于上下文长度以及无法理解架构知识的分布式特性。为了应对这些限制,我们提出了一种用于AKM的智能体方法——AgenticAKM,该方法将架构恢复和文档化的复杂问题分解为可管理的子任务。专门用于架构提取、检索、生成和验证的智能体在一个结构化的工作流中协作,以生成AK。为了验证,我们初步实例化了我们的方法,以从代码仓库生成架构决策记录(ADR)。我们通过对29个代码仓库进行用户研究来验证我们的方法。结果表明,我们的智能体方法能够生成更好的ADR,并且是实现AKM自动化的一种有前景且实用的方法。