소프트웨어 개발 관련 저의 블로그에 올린글입니다
[소프트웨어설계및아키텍처][인공지능][논문] LLM 기반 소프트웨어 아키텍처 설계 방법론
LLM 기반 소프트웨어 아키텍처 설계 방법론 요즘 인공지능 기술이 빛의 속도로 나아가고 있듯이논문도 먼저 arxiv에 내고 시작하는 방향입니다. 소프트웨어 공학/ 소프트웨어 품질 업계에서 몸을
sansamlife.com
LLM 기반 소프트웨어 아키텍처 설계 방법론
이 논문의 핵심은
이 연구의 핵심은, 최근 각광받는 LLM을 복잡한 소프트웨어 아키텍처 설계에 어떻게 활용할 수 있는지, 특히 'Attribute-Driven Design' 즉, ADD라는 검증된 방법론과 결합하는 방식을 제안한 것입니다.
미리 결론부터 말씀드리면, 이 논문은 LLM이 스스로 완벽한 설계를 해내는 '자동화된 설계자'가 아니라, 경험 많은 인간 아키텍트의 생산성을 극대화하는 강력한 '협업 도구'로서의 가능성을 명확히 보여줍니다."
LLM 기반 소프트웨어 아키텍처 설계 방법론
요즘 인공지능 기술이 빛의 속도로 발전하면서
논문도 “저널에 투고 → 심사 → 게재”라는 전통적인 흐름보다,
먼저 arXiv에 공개하고 논의를 시작하는 방식이 사실상 기본이 되어가고 있습니다.
저는 소프트웨어 공학/소프트웨어 품질 업계에서 일하고 있는 1인으로서,
이 변화가 개발 방법론과 소프트웨어 개발 프로세스에도 큰 충격을 주고 있다고 느낍니다.
예전처럼 전통적인 개발 방법론이나 프로세스만 이야기하면
“지금 시대랑은 좀 안 맞는, 딴 나라 이야기 같다”는 반응이 나올 정도로
소프트웨어 개발 문화 자체가 급격히 재편되고 있습니다.
그 와중에, 얼마 전에 흥미로운 논문을 하나 발견해서 공유해 보려고 합니다.
논문 소개
논문명
An LLM-assisted approach to designing software architectures using ADD
(ADD를 사용하여 소프트웨어 아키텍처를 설계하는 LLM 지원 접근 방식)
논문 링크
👉 https://arxiv.org/abs/2506.22688
이 논문은 제목 그대로,
LLM을 활용해서 소프트웨어 아키텍처를 설계하되,
그 과정에서 Attribute-Driven Design(ADD) 방법론을 어떻게 결합할 것인가를 다루고 있습니다.
arXiv 페이지에는 다음과 같이 요약되어 있습니다.
Designing effective software architectures is a complex, iterative process that traditionally relies on expert judgment. This paper proposes an approach for Large Language Model (LLM)-assisted software architecture design using the Attribute-Driven Design …
(요지는: “소프트웨어 아키텍처 설계는 전통적으로 전문가의 경험에 크게 의존해 왔는데, 여기서 LLM을 ADD와 결합해 설계를 돕게 하겠다” 쯤으로 이해하면 됩니다.)
여기서 말하는 ADD는 무엇인가?
먼저 짚고 넘어갈 점이 하나 있습니다.
여기서 말하는 ADD는 Artificial Intelligence Driven Development가 아닙니다.
논문에서 말하는 ADD는 Attribute-Driven Design의 약어입니다.
- ADD(Attribute-Driven Design) 는
소프트웨어 아키텍처 설계를 위한 방법론으로,
카네기멜론 SEI(Software Engineering Institute) 에서 제안한,
소프트웨어 공학계에서는 꽤 유명한 접근법입니다. - 특히 품질 속성(Quality Attribute) 을 중심으로 아키텍처 설계를 이끌어가는 구조를 가지고 있습니다.
- CMMI, 아키텍처 평가(ATAM 등)와도 연결되는 계열의 방법론으로 이해하시면 됩니다.
ADD가 궁금하다면 아래 튜토리얼 자료가 좋습니다.
👉 https://www.sei.cmu.edu/library/add-30-rethinking-drivers-and-decisions-in-the-design-process/
ADD 3.0: Rethinking Drivers and Decisions in the Design Process
이 튜토리얼에서는 ADD 3.0을 소개하고, 이전 버전과의 차이점, 그리고 실제 사례를 통해 설계 방법을 설명합니다.
이 논문의 핵심 포인트
이 논문의 핵심은 다음 한 문장으로 정리할 수 있습니다.
최근 각광받는 LLM을 복잡한 소프트웨어 아키텍처 설계에 어떻게 활용할 수 있는지, 특히 ‘Attribute-Driven Design(ADD)’라는 검증된 방법론과 결합하는 방식을 제안한 연구입니다.
그리고 미리 결론부터 이야기하자면,
이 논문은 LLM을 “스스로 완벽한 설계를 해내는 자동화된 설계자”로 보지 않습니다.
대신, 경험 많은 인간 아키텍트의 생산성을 극대화하는 강력한 ‘협업 도구’로서 LLM의 가능성을 보여줍니다.
즉,
- LLM이 아키텍트를 대체하는 것이 아니라,
- ADD 프로세스의 각 단계를 더 빠르고 체계적으로 진행하도록 돕는 조력자 역할을 한다는 관점입니다.
이 부분이, 단순히 “LLM에게 아키텍처를 그냥 물어봤다” 수준의 활용과는 완전히 다른 지점입니다.
“검증된 설계 방법론(ADD) × LLM”이라는 조합이 이 논문의 핵심 가치라고 볼 수 있습니다.
왜 이 논문이 흥미로운가?
요즘 개발 문화에서 많이 언급되는 키워드들을 떠올려 보면:
- 바이브코딩(Vibe Coding)
- AI-Driven Development
- Spec-Driven Development(스펙 주도 개발)
이 세 가지를 관통하는 공통 관심사는 결국 하나입니다.
“AI에게 개발을 맡기려면,
얼마나 일관되고 이해 가능한 설계 문서와 스펙을 제공할 것인가?”
LLM에게 “그냥 알아서 만들어줘”라고 맡기는 시대는 이미 한계를 드러내고 있습니다.
결국 LLM이 이해할 수 있는 언어로, 일관된 구조의 설계 문서(Markdown 등)를 얼마나 잘 만들어 주느냐가
생산성과 품질을 가르는 핵심 요소가 됩니다.
이 논문에서 제안하는 LLM + ADD 접근법은,
- ADD 프로세스를 기반으로 설계 단계를 구조화하고,
- 각 단계에서 LLM에게 적절한 프롬프트와 컨텍스트를 제공함으로써,
- 아키텍처 설계 문서의 품질과 일관성을 높이는 사용법을 보여줍니다.
그래서 바이브코딩, AI/LLM 기반 개발, Spec-Driven Development에 관심이 있다면,
인공지능에게 개발을 “잘 시키기 위해”
소프트웨어 설계 문서(Markdown)를 어떻게 구조화할지 고민할 때
이 논문의 접근 방식을 참고해 보는 것을 추천드립니다.
마무리
이 글에서는 논문을 간단히 소개하는 수준에서만 다뤘지만,
추후에는
- 논문에서 제안하는 LLM 프롬프트 구성 방식,
- ADD 단계별로 LLM을 어떻게 끼워 넣는지,
- 실제로 어떤 아키텍처 산출물이 나오는지
등을 정리해서, “실제 프로젝트에서 바로 써먹을 수 있는 실무용 정리”로도 풀어볼 예정입니다.
LLM이 “새로운 설계자”가 될 것인지,
아니면 “최고급 설계 보조 도구”에 머물 것인지는
아직 더 지켜봐야겠지만,
“검증된 설계 방법론 + LLM”이라는 방향성은
앞으로 소프트웨어 아키텍처 설계 논의에서 매우 중요한 축이 될 것 같다는 생각이 듭니다.
아래는 논문연구 발표자료 표지입니다.
