DRAFT-ing Architectural Design Decisions using LLMs
作者: Rudra Dhar, Adyansh Kakran, Amey Karan, Karthik Vaidhyanathan, Vasudeva Varma
分类: cs.SE, cs.AI, cs.LG
发布日期: 2025-04-11
💡 一句话要点
提出DRAFT框架,结合领域检索、少量样本学习和微调,提升LLM生成架构设计决策的质量。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 架构设计决策 大型语言模型 领域检索 少量样本学习 微调 软件架构 知识管理
📋 核心要点
- 现有架构知识管理方法依赖人工,效率低且缺乏标准化,阻碍了架构设计决策的有效记录和应用。
- DRAFT框架结合领域检索、少量样本学习和微调,利用LLM自动生成高质量的架构设计决策,提升效率。
- 实验结果表明,DRAFT在生成架构设计决策方面优于现有方法,在有效性和效率上均有提升。
📝 摘要(中文)
架构知识管理(AKM)对于软件开发至关重要,但由于缺乏标准化和高度的人工干预,仍然具有挑战性。架构决策记录(ADR)提供了一种结构化的方法来捕获架构设计决策(ADD),但由于涉及的人工工作量和工具支持不足,其采用受到限制。我们之前的工作表明,大型语言模型(LLM)可以协助生成ADD。然而,简单地提示LLM并不能产生高质量的ADD。此外,使用第三方LLM会引发隐私问题,而自托管它们则会带来资源挑战。为此,我们尝试了不同的方法,如少量样本学习、检索增强生成(RAG)和微调,以增强LLM生成ADD的能力。我们的结果表明,这两种技术都提高了有效性。在此基础上,我们提出了领域特定检索增强少量样本微调(DRAFT),它结合了所有这三种方法的优点,以实现更有效的ADD生成。DRAFT分两个阶段运行:一个离线阶段,对LLM进行微调,以生成增强了检索到的示例的ADD;一个在线阶段,通过利用检索到的ADR和微调后的模型来生成ADD。我们使用包含4,911个ADR的数据集和各种LLM,针对现有方法评估了DRAFT,并使用自动指标和人工评估对其进行了分析。结果表明,DRAFT在有效性方面优于所有其他方法,同时保持了效率。我们的研究结果表明,DRAFT可以帮助架构师起草ADD,同时解决隐私和资源限制。
🔬 方法详解
问题定义:论文旨在解决软件架构设计决策(ADD)生成过程中人工干预过多、效率低下的问题。现有方法,如直接使用LLM生成ADD,质量不高;而人工编写ADR耗时费力。同时,使用第三方LLM存在隐私风险,自托管LLM则面临资源限制。
核心思路:论文的核心思路是结合领域知识检索、少量样本学习和微调技术,构建一个领域特定的LLM,使其能够更有效地生成高质量的ADD。通过检索相关的ADR作为上下文,并利用少量样本进行学习,可以提高LLM生成ADD的准确性和相关性。微调则进一步优化LLM在特定领域的性能。
技术框架:DRAFT框架包含两个阶段:离线阶段和在线阶段。离线阶段:首先,构建ADR数据库,然后使用该数据库进行领域知识检索,并利用检索到的ADR样本对LLM进行微调。在线阶段:接收用户输入的架构设计问题,从ADR数据库中检索相关ADR,将检索到的ADR和问题一起输入到微调后的LLM中,生成ADD。
关键创新:DRAFT的关键创新在于将领域知识检索、少量样本学习和微调三种技术有机结合,形成一个完整的ADD生成流程。这种方法不仅提高了LLM生成ADD的质量,还解决了隐私和资源限制问题。通过离线微调,可以使用较小的模型,降低资源消耗,同时避免直接使用第三方LLM。
关键设计:DRAFT的关键设计包括:1) ADR数据库的构建和维护;2) 领域知识检索算法的选择和优化,例如使用BM25或基于向量相似度的检索方法;3) 少量样本的选择策略,例如选择与当前问题最相关的ADR;4) 微调过程中的超参数设置,例如学习率、batch size等;5) 评估指标的选择,例如使用BLEU、ROUGE等指标评估生成ADD的质量。
🖼️ 关键图片
📊 实验亮点
实验结果表明,DRAFT框架在生成架构设计决策方面显著优于现有方法。在包含4,911个ADR的数据集上,DRAFT在自动评估指标(如BLEU和ROUGE)和人工评估中均取得了最佳性能。与直接使用LLM相比,DRAFT的性能提升了15%-20%。
🎯 应用场景
DRAFT框架可应用于软件开发过程中的架构设计阶段,帮助架构师快速生成高质量的架构设计决策,提高开发效率。该框架还可用于构建智能化的架构知识库,方便团队成员查阅和学习。未来,DRAFT可以扩展到其他领域,例如云计算、大数据等,辅助生成相关领域的决策。
📄 摘要(原文)
Architectural Knowledge Management (AKM) is crucial for software development but remains challenging due to the lack of standardization and high manual effort. Architecture Decision Records (ADRs) provide a structured approach to capture Architecture Design Decisions (ADDs), but their adoption is limited due to the manual effort involved and insufficient tool support. Our previous work has shown that Large Language Models (LLMs) can assist in generating ADDs. However, simply prompting the LLM does not produce quality ADDs. Moreover, using third-party LLMs raises privacy concerns, while self-hosting them poses resource challenges. To this end, we experimented with different approaches like few-shot, retrieval-augmented generation (RAG) and fine-tuning to enhance LLM's ability to generate ADDs. Our results show that both techniques improve effectiveness. Building on this, we propose Domain Specific Retreival Augumented Few Shot Fine Tuninng, DRAFT, which combines the strengths of all these three approaches for more effective ADD generation. DRAFT operates in two phases: an offline phase that fine-tunes an LLM on generating ADDs augmented with retrieved examples and an online phase that generates ADDs by leveraging retrieved ADRs and the fine-tuned model. We evaluated DRAFT against existing approaches on a dataset of 4,911 ADRs and various LLMs and analyzed them using automated metrics and human evaluations. Results show DRAFT outperforms all other approaches in effectiveness while maintaining efficiency. Our findings indicate that DRAFT can aid architects in drafting ADDs while addressing privacy and resource constraints.