
Claude Code의 effort levels를 코드 리뷰로 비교해 보았다
요약
Claude Code의 --effort 파라미터(low, medium, high, xhigh)에 따른 코드 리뷰 성능과 비용 효율성을 실험했습니다. 실험 결과, 논리적 오류와 보안 취약점을 잡기 위해서는 최소 high 이상의 설정이 권장됩니다.
핵심 포인트
- effort level이 높을수록 더 많은 버그를 검출하지만 비용과 시간이 증가함
- medium에서 high로 넘어갈 때 논리 버그와 리소스 관리 문제를 잡는 질적 점프가 발생함
- 보안 취약점(eval 인젝션 등) 검출을 위해서는 최소 high 이상의 설정이 필수적임
- xhigh는 마지막 남은 버그를 잡기 위해 기하급수적인 시간 비용을 소모함
- 출력 포맷의 일관성이 부족하여 CI 파이프라인 통합 시 주의가 필요함
서론
Anthropic이 공개한 데이터에 따르면, Claude Code의 코드 리뷰 (xhigh effort)는 1 PR당 약 $1의 비용으로 25%의 버그를 포착한다고 합니다.
Claude Code에는 --effort라는 파라미터가 있으며, low/medium/high/xhigh의 4단계 중에서 선택할 수 있습니다. 공식 문서에는 "effort level가 높을수록 깊게 생각한다"라고 되어 있지만, 실제로 어느 정도 차이가 나는지 검증했습니다.
검증 방법
9개의 기지 버그(known bugs)를 포함하는 Python 코드(약 90행, 계산기 프로그램)를 준비하여, 각 effort level로 코드 리뷰를 실행했습니다.
주입한 9개의 버그
- 정수 나눗셈 (
/→//로 변경 → 소수점 버림) - 경계값 오프 바이 원 (Off-by-one,
<= 100→< 100) - 제로 나누기 (Zero division) 가드 삭제
- 모순되는 조건식 (
result < 0 and result > 50→ 항상 False) - 연산자 우선순위 버그 (세금 계산이 이상하게 됨)
- 가변 기본 인자 (Mutable default argument,
categories=[]) eval()인젝션 (임의 코드 실행 가능)- 파일 핸들 누수 (File handle leak,
open()을 닫지 않음) - 루프의 오프 바이 원 (Loop off-by-one,
len(items) + 1)
실행 커맨드
claude -p "Review this code diff. List every bug..." --effort <level> --print
비교 결과
타이밍과 출력
| Effort | 실제 시간 | 출력 글자 수 | 버그 검출 수 (9개 중) |
|---|---|---|---|
| low | 14s | 2,959 | 5 |
| ... |
버그 검출 매트릭스
| 버그 | low | medium | high | xhigh |
|---|---|---|---|---|
| 정수 나눗셈 | ✅ | ✅ | ✅ | ✅ |
| ... |
비용 대비 효과 (시간 환산)
- low: 14s ÷ 5건 = 2.8초/버그
- medium: 21s ÷ 6건 = 3.5초/버그
- high: 49s ÷ 8건 = 6.1초/버그
- xhigh: 75s ÷ 9건 = 8.3초/버그
고찰
1. low → medium 은 「콤팩트화」와 「망라성」의 트레이드오프 (Trade-off)
출력이 오히려 줄어드는 (冗長성(redundancy)이 깎이는) 반면, 경계값 버그 등 중간 정도의 버그를 잡아내기 시작합니다.
2. medium → high 가 가장 큰 질적 점프
출력이 2.4배가 되며, 논리 버그 (Logical bug) (연산자 우선순위·모순 조건)와 리소스 관리 문제 (파일 누수)를 새롭게 검출합니다. 8/9 버그 포착으로 실용적인 라인에 도달합니다.
3. xhigh 는 「남은 1개 버그」를 잡으러 감
남아있던 루프의 오프 바이 원을 상세히 지적합니다. 다만 마지막 1건에 26초 (2건 분량의 시간)를 소비하고 있어, **체증적인 비용 (Increasing cost)**이 발생합니다.
4. 보안 버그는 high 이상이 아니면 놓칠 리스크가 있음
eval() 인젝션 (임의 코드 실행)은 CRITICAL한 취약점이지만, low에서는 완전히 놓쳤습니다. 보안 리뷰로 사용한다면 최소한 high 이상을 권장합니다.
5. 출력 품질의 편차
각 레벨에서 출력 포맷에 일관성이 없으며, 동일한 프롬프트라도 결과의 보여주는 방식이 달라집니다. 기계적인 CI 파이프라인에組み込む (組み込む, 통합하는) 시에는 주의가 필요합니다.
요약
| 용도 | 권장 effort |
|---|---|
| 퀵 체크 / 개인용 | low (14s) |
| ... |
시간당 가성비로는 low가 최강이지만, 놓침으로 인한 비용을 고려하면 CI/CD의 자동 리뷰에는 high가 균형 잡힌 선택지라고 할 수 있습니다.
보충
- API 토큰 소비량은
--verbose로 확인할 수 있는 출력이 없어 미측정. 출력 글자 수로 대략 환산하면, high는 low의 약 2배 토큰을 사용하고 있는 것으로 추측됩니다. - 본 검증은 약 90행의 Python 코드 1개 파일에 대한 것이며, 대규모 코드베이스에서는 결과가 다를 수 있습니다.
ultrareview
(클라우드 멀티 에이전트 리뷰 (Cloud Multi-Agent Review))와의 비교는 별도로 검증할 예정입니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기