프롬프트 체이닝으로 코드 리뷰 자동화 파이프라인 구축하기
문제 상황
팀에서 Cursor를 활용해 PR 리뷰를 보조하고 있었다. 초기에는 단일 프롬프트로 "이 코드를 리뷰해줘"라고 요청했는데, 결과물이 일관성 없고 중요한 이슈를 놓치는 경우가 많았다.
특히 큰 PR에서는 피상적인 코멘트만 나오거나, 반대로 너무 세세한 스타일 이슈에만 집중하는 문제가 있었다.
프롬프트 체이닝 적용
하나의 복잡한 프롬프트 대신, 작은 프롬프트들을 순차적으로 연결하는 체이닝 방식으로 전환했다.
1단계: 코드 분석
다음 코드 변경사항을 분석하고, 변경된 파일과 주요 로직을 요약해줘.
- 어떤 기능이 추가/수정되었는지
- 영향 범위는 어디까지인지
- 외부 의존성 변경 여부
2단계: 이슈 분류
첫 단계의 출력을 입력으로 받아 이슈를 카테고리별로 분류한다.
앞선 분석을 바탕으로, 다음 카테고리별로 잠재적 이슈를 찾아줘:
- Critical: 보안, 데이터 손실 위험
- Major: 성능, 에러 핸들링
- Minor: 코드 품질, 가독성
3단계: 구체적 제안
발견된 이슈 각각에 대해:
1. 문제가 되는 이유
2. 구체적인 수정 방법
3. 코드 예시 (가능한 경우)
결과
체이닝 적용 후 리뷰 품질이 눈에 띄게 개선되었다. 각 단계가 명확한 목적을 가지고 있어, AI가 집중해야 할 포인트가 분명해졌다.
특히 Critical 이슈 탐지율이 높아져서, 실제로 배포 전 2건의 보안 이슈를 사전에 발견했다.
교훈
- 복잡한 작업은 작은 단계로 쪼개는 것이 효과적이다
- 각 단계의 출력이 다음 단계의 컨텍스트가 되도록 설계해야 한다
- 프롬프트 체이닝은 디버깅도 쉽다 (어느 단계에서 문제가 생겼는지 명확함)
다만 체인이 길어질수록 토큰 비용이 증가하므로, 적절한 균형점을 찾는 것이 중요하다.