프롬프트 체이닝으로 코드 리뷰 자동화 파이프라인 구축

문제 상황

팀 내에서 AI 기반 코드 리뷰 도구를 도입했지만, 단일 프롬프트로는 맥락을 놓치거나 일관성 없는 피드백이 나오는 경우가 많았다. 특히 복잡한 비즈니스 로직이나 아키텍처 변경사항에 대한 리뷰 품질이 기대 이하였다.

프롬프트 체이닝 접근

문제를 분해하여 순차적으로 처리하는 체이닝 방식을 적용했다.

1단계: 코드 분석

다음 PR의 변경사항을 분석하고, 주요 변경 포인트를 3가지로 요약하라.
- 파일별 변경 내용
- 영향 받는 모듈
- 잠재적 사이드 이펙트

2단계: 검증

1단계 결과를 입력으로 받아 구체적 검증을 수행한다.

위 분석 결과를 바탕으로 다음을 검증하라:
- 타입 안정성
- 에러 핸들링
- 성능 영향도

3단계: 제안 생성

검증 결과를 바탕으로 우선순위별 개선 제안을 작성하라.
Critical / Major / Minor로 분류하고, 각각 코드 예시 포함.

구현

Node.js 스크립트로 파이프라인을 구성했다.

async function reviewPipeline(prDiff) {
  const analysis = await callLLM(analysisPrompt, prDiff);
  const validation = await callLLM(validationPrompt, analysis);
  const suggestions = await callLLM(suggestionPrompt, validation);
  
  return {
    analysis,
    validation,
    suggestions,
    context: { analysis, validation } // 디버깅용
  };
}

결과

  • 리뷰 정확도: 단일 프롬프트 대비 40% 향상
  • False positive: 60% 감소
  • 처리 시간: 15초 → 35초 증가했지만 품질 개선으로 상쇄

프롬프트 체이닝은 비용과 레이턴시 트레이드오프가 있지만, 복잡한 태스크에서는 충분히 가치가 있었다. 각 단계의 출력을 저장해두면 디버깅과 프롬프트 개선에도 유용하다.