사내 AI 리뷰 도구를 운영하면서, "AI 리뷰를 신뢰할 수 있을까?", "정말 잘 검증하고 있는가?" 라는 질문에 답하기 위해 품질을 정량적으로 측정하고 개선해온 과정을 공유합니다.
배경
- AI 생성 코드는 인간 코드 대비 PR당 이슈 1.7배, 로직 에러 75% 더 많음 (CodeRabbit)
- Amazon은 AI 코드 장애 이후 시니어 PR 승인 의무화, Shopify는 AI PR 자동 머지 금지
- AI 리뷰는 이런 상황에서 이슈·에러를 조기에 발견하기 위한 하나의 검증 수단으로 도입
- 다만 AI 리뷰 자체가 비결정적이라, "이 검증 수단이 정말 잘 검증하고 있는가?"를 측정하는 단계가 선행되어야 함
자체 벤치마크 구축
- Hotfix PR → 원본 PR 역추적으로 "원본 시점에 AI 리뷰가 이 버그를 잡을 수 있었는가" 측정
- PR diff만으로 판정 가능한 케이스만 포함, 외부 맥락 필요한 건 배제
- 채점은 GPT-4o mini로 LLM-as-a-Judge. 절대값은 부정확해도 상대 비교에는 충분
- 첫 점수 33점. "잘하고 있다는 느낌"은 극소수 성공 사례에 의한 착각이었음
실패 1 (서브에이전트 오케스트레이션)
- 영역별 전문 서브에이전트를 두고 메인 에이전트가 지휘하는 구조 시도
- 결과: 탐지율 ↓, 비용 1.5~3배 ↑
- 원인 3가지
- 컨텍스트 압축으로 인한 정보 손실
- 관심사 제한으로 시야 축소
- 교차 영역의 책임 공백
실패 2 (벤치마크 오염)
- 루프로 프롬프트 자동 튜닝했더니 "Division by Zero 체크하라" 식 지시의 나열로 수렴
- SWE-bench도 이미 오염 상태
- 외부 벤치마크로는 모델 선택 근거를 세울 수 없음을 확인
새 지표 (Adoption Rate)
- adopted: 리뷰가 실제 코드 변경으로 이어짐
- engaged: 변경은 없지만 답글로 상호작용 (교차 검증 가치 인정)
- noised: 변경도 답글도 없음
- 판정 방식: 리뷰 시점 commit SHA와 머지 시점 SHA 비교, 코멘트 라인 ±3줄 내 변경 여부로 adopted 판정
Opus 4.6 vs GPT-5.2 Codex A/B
- PR 번호 짝/홀로 모델 분기, 약 100개의 PR 비교
- Opus 4.6: 빠르고 창의적이지만 꼼꼼함 부족, 쉽게 Approve
- GPT-5.2 Codex: 느리지만 꼼꼼, 리뷰 재요청 시점에도 유효 추가 지적 多
- Codex로 고정 후 주간 반영률 최고 60% 기록
반영률을 올린 3가지 조치
- Question: 확실하지 않은 건 지적 대신 질문으로
- PR 템플릿 Intent/Decisions 섹션
- Intent: create-pr 스킬로 "왜 필요한가" 질문 답변을 삽입
- Decisions: Claude Stop 훅으로 대화 세션의 의사결정을 자동 추출
- 리뷰어의 맥락 부족으로 발생하던 오탐 ~29% 감소
- 스레드 자동 resolve: 리뷰 반영 확인 시 AI가 알아서 스레드 닫음
결과
- 월간 반영률 63% 달성 (2026-04-17 기준)
- 모든 액션이 데이터 기반이라 다음 실험 판단도 근거 있게 가능
- Adoption Rate도 "채택 = 정답"을 보장하진 않으므로 이 지표 역시 오염될 수 있음을 경계 필요

4 hours ago
2






![[속보] 李대통령, 다주택 공직자 부동산 정책 논의서 배제 지시](https://img.hankyung.com/photo/202603/02.22579247.1.jpg)

English (US) ·