AI 리뷰 워크플로우
GitHub Copilot, CodeRabbit, SonarQube 등 AI 리뷰 도구를 PR과 CI/CD에 통합하는 실무 워크플로우를 구축합니다.
프리미엄 강좌 콘텐츠
이 레슨은 프리미엄 강좌의 일부예요. Pro로 업그레이드하면 모든 프리미엄 강좌와 콘텐츠를 이용할 수 있어요.
- 모든 프리미엄 강좌 이용
- 1000개 이상의 AI 스킬 템플릿 포함
- 매주 새로운 콘텐츠 추가
🔄 이전 레슨에서 코드 스멜 탐지와 리팩토링 패턴을 배웠습니다. 개별 코드 단위에서 문제를 찾고 고치는 기술이었죠. 이번 레슨에서는 이 모든 것을 자동화된 워크플로우에 넣습니다 — PR이 올라오면 AI가 자동으로 리뷰합니다.
배울 내용
이 레슨을 마치면 AI 리뷰 도구를 PR 워크플로우에 통합하고, CI/CD 파이프라인에 품질 게이트를 설정할 수 있게 됩니다.
AI 리뷰 도구 비교
2025-2026년 기준으로 가장 많이 쓰이는 도구들:
| 도구 | 특징 | 가격 | 추천 사용 |
|---|---|---|---|
| GitHub Copilot | PR 리뷰, 자동 수정, 에이전트 기능 | $19/월 | 이미 Copilot 사용 중인 팀 |
| CodeRabbit | AST 분석, 200만+ 리포 학습 | 무료~$24/월 | 깊이 있는 리뷰가 필요한 팀 |
| SonarQube | SAST, Quality Gate, 기술 부채 추적 | 무료(CE)~유료 | 기업, 규정 준수 필요 |
| Claude/ChatGPT | 범용 LLM, 커스터마이즈 자유 | API 비용 | 맞춤형 리뷰 룰이 필요한 팀 |
도구 선택 가이드
Q: 팀 규모가 5명 이하인가?
→ Yes: GitHub Copilot + 수동 프롬프트 리뷰
→ No: Q: 규정 준수(ISMS, 개인정보보호법)가 필요한가?
→ Yes: SonarQube + CodeRabbit
→ No: CodeRabbit 단독으로 시작
PR에 AI 리뷰 통합하기
GitHub Actions 예시
# .github/workflows/ai-review.yml
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run SonarQube Analysis
uses: sonarqube-scanner-action@v2
with:
args: >
-Dsonar.qualitygate.wait=true
-Dsonar.newCode.referenceBranch=main
- name: AI Review (Critical Issues Only)
if: failure()
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: '🔴 Quality Gate 실패. 머지 전에 이슈를 확인해주세요.'
})
Blocking vs Non-blocking 전략
이것이 AI 리뷰 도입의 핵심 결정입니다:
| 이슈 유형 | 처리 방식 | 이유 |
|---|---|---|
| 🔴 보안 취약점 | Blocking (머지 차단) | 프로덕션 사고 위험 |
| 🔴 크래시 가능 버그 | Blocking | 서비스 장애 위험 |
| 🟡 코드 스멜 | Non-blocking (코멘트) | 개발자 판단에 맡김 |
| 🟡 성능 힌트 | Non-blocking | 상황에 따라 다름 |
| 🔵 스타일 제안 | Non-blocking | 린터가 처리 |
모든 이슈를 blocking으로 하면 개발 속도가 급락합니다. false positive까지 머지를 막으니까요. 보안과 크래시만 blocking으로 시작하고, 팀의 신뢰가 쌓이면 점진적으로 확장하세요.
✅ Quick Check: AI 리뷰 도구가 false positive를 많이 내서 팀이 무시하기 시작했습니다. 어떻게 해결하나요? (Blocking 범위를 줄이세요. 팀이 AI를 무시하기 시작하면, 진짜 중요한 이슈도 놓칩니다. “경보 피로(alert fatigue)“입니다. 차라리 범위를 줄여서 정확도를 높이고, 팀이 “AI가 잡으면 진짜다"라고 신뢰하게 만드세요.)
SonarQube Quality Gate
SonarQube의 핵심 개념: Clean as You Code.
전체 코드베이스의 품질을 한꺼번에 올리려고 하지 마세요. 새 코드만 기준을 적용합니다:
Quality Gate 기본 설정:
새 코드 기준:
- 커버리지: 80% 이상
- 중복: 3% 이하
- 보안 이슈: 0건
- 신뢰성 이슈: A 등급
→ 기준 미충족 시: 빌드 실패 + PR 차단
레거시 코드에 기존 문제가 있어도 새 PR이 실패하지 않습니다. 새로 작성하는 코드만 깨끗하게 유지하면, 시간이 지나면서 전체 품질이 자연스럽게 올라갑니다.
한국 기업의 AI 리뷰 도입 사례
SK DEVOCEAN 기술 블로그에서 공유한 사례: LLM 기반 자동 코드 리뷰를 CI/CD 파이프라인에 통합했습니다. PR이 올라오면 LLM이 diff를 분석하고, 잠재적 이슈를 코멘트로 남깁니다.
핵심 교훈:
- 도입 초기에는 non-blocking으로 시작해서 팀의 신뢰를 구축
- false positive를 줄이기 위해 프로젝트별 맞춤 룰 추가
- 정량적 효과 측정: 리뷰 시간 감소, 프로덕션 버그 감소
✅ Quick Check: AI 리뷰 도구를 처음 도입하는 팀에게 가장 중요한 조언은? (non-blocking으로 시작하세요. 처음부터 blocking으로 하면 false positive 때문에 팀이 좌절하고, “AI 리뷰는 안 맞아"라는 결론을 내립니다. 2-4주 동안 코멘트만 남기면서 정확도를 확인하고, 팀이 가치를 인정한 후에 Critical 이슈만 blocking으로 전환하세요.)
핵심 정리
- AI 리뷰 도구 선택: 소규모 팀은 GitHub Copilot, 규정 준수 필요 시 SonarQube, 깊이 있는 리뷰는 CodeRabbit
- Blocking vs Non-blocking 분류가 도입 성공의 핵심 — 보안/크래시만 blocking으로 시작
- SonarQube의 Clean as You Code: 새 코드에만 품질 기준 적용하면 레거시 부담 없이 점진적 개선
- 도입 초기 2-4주는 반드시 non-blocking으로 운영해서 팀 신뢰를 구축하세요
- false positive가 많으면 범위를 줄이세요 — 경보 피로는 진짜 위험한 이슈를 놓치게 합니다
다음 레슨
AI 리뷰가 자동으로 돌아갑니다. 하지만 AI가 잡아주는 건 당장의 문제입니다. 다음 레슨에서는 장기적 문제 — 기술 부채 — 를 어떻게 측정하고, AI로 우선순위를 정하는지 배웁니다.
이해도 체크
먼저 위의 퀴즈를 완료하세요
레슨 완료!