뱅크샐러드, AI 코딩 효율 위해 DDD 리팩토링 진행
핵심 내용
신용 서비스 모놀리식 구조를 435개 PR로 DDD 기반 아키텍처로 전환했다
자세히 보기
뱅크샐러드 금융쇼핑 PA 서버 팀이 AI 코딩 시대의 개발 효율성을 높이기 위해 모놀리식 서비스의 DDD(Domain-Driven Design) 리팩토링을 진행 중이다. 기존 구조는 기술 및 벤더 기준으로 폴더가 분리되어 비즈니스 로직이 핸들러에 과도하게 집중되고, 의존성이 복잡해져 AI가 코드를 이해하고 수정하기 어려운 환경이었다.
리팩토링 전략과 구조 변화
팀이 적용한 DDD-lite와 Clean Architecture 원칙은 다음과 같다.
- 바운디드 컨텍스트: 비즈니스 개념(예: 신용점수) 단위로 폴더를 분리해 Go 패키지를 캡슐화한다.
- 4계층 레이어: handler(gRPC 진입점), application(유스케이스 조립), domain(규칙/인터페이스), infrastructure(DB/외부 API 구현)로 명확히 구분한다.
- 단방향 의존성: domain 레이어는 외부에 의존하지 않으며, 포트-어댑터 패턴을 통해 인프라와 분리한다.
초기 시행착오를 거쳐 2026년 6월부터 1개월간 435개 PR을 통해 신용 서비스 전체를 정비했다. 벤더명(kcb)이 포함된 폴더를 제거하고, KCB/NICE 등 외부 서비스는 infrastructure 레이어의 어댑터로 이동시켜 도메인 로직이 특정 벤더에 종속되지 않도록 했다.
AI 협업 관점에서의 효과
구조가 명확해지면 AI의 코드 탐색 범위(토큰 사용량)가 줄어들어 결과물 품질이 향상된다. AI는 주변 코드의 컨벤션을 따르므로, 잘 정비된 계층 구조에서는 AI 역시 분리된 코드를 생성한다. 또한 변경 사항이 단일 컨텍스트 폴더에 갇히면 리뷰어의 부담이 감소하고 영향도 파악이 용이해진다. 향후 팀은 구조 관리는 사람이 수행하고, 에이전트 규칙을 AGENTS.md에 명시하며 /ddd-refactor 스킬 개발 등 자동화를 고도화할 계획이다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.