AI-DLC 도입으로 개발 생산성 2배 향상: Subagent, Custom Skill 활용 사례
AI-DLC(AI-Driven Development Life Cycle)를 도입하여 요구사항 분석부터 코드 리뷰까지 AI Agent 기반으로 개발 전 과정을 자동화
Subagent 아키텍처를 통해 Main Agent의 Context Window 효율성을 높이고, Reverse Engineering Subagent로 기존 코드 분석 자동화
Custom Skill을 활용, 비정형 요구사항 문서 구조화, Git Merge Conflict 해결, Unit 전용 Code Review 수행
AETL 프로젝트에서 데이터 처리 속도 100% 이상 향상, ACMS 프로젝트에서 4주 만에 5개 Unit, 55개 API 구현
Subagent 구조와 Custom Skill 결합으로 팀 개발 환경에서의 AI-DLC 운영상 문제점 해결
AI-DLC의 핵심: Adaptive Workflow와 Unit 개념
AI-DLC는 Adaptive Workflow(적응형 워크플로우)를 기반으로, 프로젝트 상태에 따라 유연하게 단계를 실행한다. INCEPTION, CONSTRUCTION, OPERATIONS 3단계 구조를 가지며, 각 단계 내 세부 작업은 항상 실행(ALWAYS) 또는 조건부 실행(CONDITIONAL)으로 구분된다. Unit(병렬 개발 단위) 개념을 통해 여러 개발자가 독립적인 기능 단위(Unit)를 병렬로 개발 가능하며, 각 Unit은 자체적인 Functional Design, NFR Design, Infrastructure Design, Code Generation 사이클을 가진다. 이러한 구조는 Brownfield와 Greenfield 프로젝트를 동일한 방식으로 처리할 수 있게 한다. 특히, git-merge Skill은 여러 개발자가 병렬로 작업한 Unit을 통합하는 과정에서 발생하는 Conflict를 해결하는 데 기여한다.
Subagent 아키텍처: Main Agent와 Subagent의 역할 분담
본 사례에서는 Main Agent가 전체 워크플로우를 Orchestration하고, 무거운 작업은 전문 Subagent에게 위임하는 Subagent 아키텍처(Subagent Architecture)를 채택했다. Main Agent는 워크플로우 상태 관리 및 사용자 승인 흐름을 담당하고, Reverse Engineering Subagent는 기존 코드베이스 분석, Code Generation Subagent는 코드 생성을 수행한다. Subagent는 격리된 Context에서 독립적으로 실행되며, Main Agent는 최종 요약 결과만 받는다. Subagent 응답 포맷을 명시적으로 정의하여 Main Agent의 Context Window 소모를 방지하고, Subagent 호출이 여러 번 이어질수록 효율이 누적되도록 설계했다. 이러한 구조는 Main Agent의 Context Window 효율성을 높이고, 역할 분리를 통해 시스템의 유지보수성을 향상시킨다.
Custom Skill: 요구사항 분석 자동화 (requirements-generator)
AI-DLC의 INCEPTION Phase에서 요구사항 분석은 매우 중요한 단계이다. requirements-generator Skill은 비정형 소스 문서(PDF, 마크다운 등)를 분석하여 구조화된 요구사항 정의서와 제약사항 문서를 자동 생성한다. 이 Skill은 소스 문서에 명시된 정보만을 기반으로 요구사항을 도출하고, 확인 불가능한 항목은 '정보 부족'으로 명시한다. 체계적인 ID 네이밍(FR, NFR, 제약사항)을 통해 요구사항 관리의 효율성을 높였다. 이 Skill의 도입으로 고객이 가진 기존 문서만으로도 AI-DLC의 INCEPTION Phase에 바로 진입할 수 있게 되었다.
Custom Skill: Git Merge Conflict 해결 (git-merge)
팀 개발 환경에서 여러 개발자가 서로 다른 Unit을 병렬로 진행할 때, git merge conflict는 피할 수 없는 문제이다. git-merge Skill은 AI-DLC 상태 파일과 코드 파일의 Conflict를 감지하고, 자동 병합 또는 분석 후 사용자 확인을 통해 문제를 해결한다. 상태 파일은 양쪽 Unit의 진행 상황을 모두 반영하여 자동 병합하고, 코드 파일은 추가형, 중복 수정형, 의존성 변경형으로 분류하여 사용자에게 해결 방안을 제시한다. 이 Skill은 AI-DLC를 실제 팀 개발 환경에서 운용할 때 필수적인 도구이며, 개발자의 수동적인 Merge 작업 부담을 줄여준다.
Code Review Skill: Unit 전용 리뷰어 설계
Code Generation Subagent가 Unit 코드를 생성한 후, 해당 코드 전용 Code Review Skill을 통해 품질을 검증한다. 리뷰 관점과 생성 관점을 분리하여, 생성된 코드의 결함을 놓치지 않도록 설계했다. Unit 전용 리뷰어는 해당 Unit의 설계 문서, 요구사항, 제약사항을 참조하여 체크 포인트를 구성한다. Anthropic의 skill-creator를 활용하여 Unit 전용 Skill을 쉽게 생성할 수 있도록 했다. 이 Skill은 일반적인 Linter 수준을 넘어, Unit의 맥락을 이해하고 있는 리뷰어 역할을 수행하며, 코드 품질을 향상시킨다. 실제 ACMS 프로젝트에서 쿼리 파라미터 바인딩 누락, ACL 처리 누락 등 프로덕션 버그를 발견하고 수정하는 데 기여했다.
MCP Server 활용: 최신 정보 접근
AI-DLC는 최신 정보를 기반으로 설계 문서와 코드를 생성해야 한다. 이를 위해 세 개의 MCP Server(Model Context Protocol)를 활용한다. context7은 오픈소스 라이브러리 및 프레임워크의 최신 공식 문서를, aws-knowledge-mcp-server는 AWS 관련 레퍼런스를, tavily는 웹 전반의 도메인 지식을 제공한다. Main Agent는 세 MCP Server에 모두 연결되고, Subagent는 context7과 aws-knowledge-mcp-server에 연결된다. 이러한 구성을 통해 AI-DLC는 모델 학습 시점 이후의 최신 정보에 접근하여, 생성되는 설계 문서와 코드의 품질을 향상시킨다.