핵심요약
우리 팀은 RAG와 Vector DB를 활용하여 AI 기반의 개발 도구를 구축했습니다. 이 도구는 테스트 코드 작성 자동화와 GitLab MR 리뷰 생성을 통해 개발 효율성을 높이고 코드 품질을 개선하는 데 기여합니다.
RAG 기반 AI 활용 개발 도구: 테스트 코드 자동화 및 GitLab MR 리뷰 생성
⚙️ @pwb/testgen을 이용한 테스트 코드 작성 자동화
- RAG(Retrieval-Augmented Generation) 방식으로 기존 레포지토리의 소스 코드를 청킹/임베딩하여 테스트 코드 자동 생성을 지원하는
@pwb/testgen패키지를 개발했습니다. - Figma Selection Link 또는 기획 문서를 기반으로 컴포넌트의 props와 스펙을 읽어와,
npx generate명령을 통해 테스트 케이스와 보일러플레이트 코드를 생성합니다. - 특정 파일/경로 지정 또는 **
git diff**를 활용하여 변경된 코드에 대한 극값(edge case) 및 외부 모듈 연동 케이스를 포함한 테스트 코드를 자동으로 제안합니다. - 생성된 테스트 코드와 변경 내역은 GitLab CI/CD 파이프라인에서 VectorDB에 자동 반영되어, 최신 코드베이스와 기존 테스트 자산을 참조하여 정교한 테스트 코드 제안이 가능합니다.
- 이를 통해 테스트 작성 비용을 크게 줄이고 TDD 도입을 지원하며, 팀의 컨벤션에 맞는 일관된 테스트 코드를 확보할 수 있습니다.
⚡ 디피(Diffy)를 이용한 GitLab MR 리뷰 생성
- 급증하는 **MR(Merge Request)**의 코드 리뷰 부담을 줄이기 위해 AI 기반 리뷰어 봇 Diffy를 개발하여 코드 품질 향상 및 리스크 조기 발견을 목표로 합니다.
- GitLab Webhook을 트리거로 사용하여 MR 오픈 시 Diffy 서비스가 자동 실행되며, 변경된 코드의 diff를 기준으로 VectorDB에서 유사도 높은 기존 코드 조각을 **유사도 검색(Similarity Search)**합니다.
- 검색된 결과와 현재 변경된 코드, 사내 **코드 작성 가이드(rule.md)**를 함께 분석하여 코드 스타일, 보안 취약점, 성능 저하 가능성 등의 핵심 리뷰 포인트를 도출합니다.
- 프롬프트는 코드 설명이나 불필요한 리팩토링 제안 없이 구체적인 개선 포인트에 집중하도록 설계되어, 실질적인 피드백을 제공합니다.
- 생성된 리뷰 코멘트는 GitLab API를 통해 해당 MR에 자동으로 등록되어, 리뷰어가 코드의 흐름과 의도에 더 집중하고 반복적 검증은 Diffy가 대신 수행하는 워크플로우를 완성합니다.