LLM을 활용한 소프트웨어 아키텍처 설계 혁신: DRAFT의 등장
인도 연구팀이 개발한 DRAFT는 LLM을 활용하여 소프트웨어 아키텍처 설계 의사결정(ADD)을 효율적으로 생성하는 새로운 방법입니다. 몇 샷 학습, RAG, 미세 조정을 결합하여 기존 방식의 한계를 극복하고, 4,911개의 ADR 데이터셋을 통한 평가에서 우수한 성능을 보였습니다.

소프트웨어 아키텍처 설계, 이제 LLM이 돕는다!
소프트웨어 개발의 성공은 견고한 아키텍처 설계에 달려있습니다. 하지만 아키텍처 설계 의사결정(ADD)은 표준화 부족과 많은 수작업으로 인해 어려움을 겪고 있습니다. 이를 해결하기 위해 아키텍처 의사결정 레코드(ADR)가 사용되지만, 여전히 수작업과 부족한 도구 지원으로 인해 활용도가 낮습니다.
인도의 연구팀 Rudra Dhar, Adyansh Kakran, Amey Karan, Karthik Vaidhyanathan, Vasudeva Varma는 이 문제를 해결하기 위해 대규모 언어 모델(LLM) 을 활용한 획기적인 방법을 제시했습니다. 바로 DRAFT(Domain Specific Retreival Augumented Few Shot Fine Tuning) 입니다.
단순한 LLM 프롬프트를 넘어: DRAFT의 핵심
기존의 LLM 기반 ADD 생성 방식은 단순히 LLM에 프롬프트를 입력하는 방식이었기에 품질이 낮고, 외부 LLM 사용 시 프라이버시 문제, 자체 호스팅 시 자원 제약 등의 문제가 있었습니다. DRAFT는 이러한 한계를 극복하기 위해 세 가지 핵심 기술을 결합했습니다.
- 몇 샷 학습: 소량의 예시 데이터를 통해 LLM의 학습 효율을 높입니다.
- 검색 기반 생성(RAG): 관련 ADR을 검색하여 LLM에 추가 정보를 제공합니다.
- 미세 조정: ADD 생성에 특화된 LLM을 학습시킵니다.
DRAFT는 오프라인 단계(미세 조정)와 온라인 단계(ADD 생성)로 나뉘어 작동합니다. 오프라인 단계에서 검색된 예시를 활용하여 LLM을 미세 조정하고, 온라인 단계에서는 미세 조정된 모델과 검색된 ADR을 활용하여 ADD를 생성합니다.
4,911개 ADR 데이터셋으로 검증된 성능
연구팀은 4,911개의 ADR 데이터셋을 사용하여 DRAFT를 기존 방식과 비교 평가했습니다. 자동 평가 지표와 사람의 평가를 통해 DRAFT가 다른 모든 접근 방식보다 효과성과 효율성이 뛰어나다는 것을 확인했습니다. 이는 아키텍트들이 ADD를 더욱 효율적으로 작성하고, 동시에 프라이버시와 자원 문제도 해결할 수 있음을 의미합니다.
미래를 향한 발걸음: 더욱 발전된 소프트웨어 아키텍처 설계
DRAFT는 소프트웨어 아키텍처 설계 분야에 LLM을 성공적으로 적용한 훌륭한 사례입니다. 향후 더욱 발전된 LLM 기술과 결합하여 더욱 정교하고 효율적인 소프트웨어 아키텍처 설계를 가능하게 할 것으로 기대됩니다. 이를 통해 소프트웨어 개발의 생산성 향상과 품질 개선에 크게 기여할 것으로 예상됩니다.
Reference
[arxiv] DRAFT-ing Architectural Design Decisions using LLMs
Published: (Updated: )
Author: Rudra Dhar, Adyansh Kakran, Amey Karan, Karthik Vaidhyanathan, Vasudeva Varma
http://arxiv.org/abs/2504.08207v1