코드 검토의 병목 현상이 마침내 깨졌습니다
소프트웨어 개발의 전통적인 병목 현상이었던 코드 검토가 지각 변동을 겪고 있습니다. 예를 들어, Anthropic의 메인 모노레포는 5월 일일 변경 사항 약 2,500건에서 9월 가장 바쁜 날에는 30,000건 이상으로 규모가 커졌습니다. 동시에 Claude는 현재 Claude Code 자체 코드의 약 90%를 작성하고 있어, 사람이 일일이 코드를 검토하는 것은 불가능해졌습니다.
모든 줄을 사람이 검토하는 대신, Anthropic 팀은 이제 "이 변경 사항에서 무엇이 잘못될 수 있는가?"와 "이를 잡아내기 위해 어떤 자동화 또는 인간의 검토가 최선인가?"를 질문합니다. 이러한 실용적인 접근 방식 덕분에 대부분의 Pull Request(PR)는 최대 한 명의 사람만 개입하여 병합되며, 종종 작성자 본인만 참여하기도 합니다. Claude Code를 만든 Boris Cherny는 기존 방식으로는 불가능했던 속도인 하루 20~30개의 PR을 배포하고 있습니다.
이 새로운 시스템은 놀라운 결과를 가져왔습니다. 6월에서 9월 사이 병합된 PR은 두 배 이상 증가했습니다. 결정적으로, 되돌려야 했던 PR의 비율은 40% 감소했는데, 이는 인간의 검토 부담이 줄어든다고 해서 반드시 결함이 늘어나는 것은 아님을 보여줍니다. 이러한 변화는 대규모 환경에서 코드 품질을 보장하는 방법에 대한 근본적인 재평가를 강조합니다.
버그는 일련의 엄격한 관문을 통과해야 합니다
버그는 사람이 Pull Request를 보기 전에 문제를 잡아내도록 설계된 자동화된 검사 관문을 거쳐야 합니다. Claude는 먼저 테스트를 실행하고, 애플리케이션을 빌드하거나, 작성자의 세션 내에서 스크린샷을 비교하여 자신의 작업을 스스로 검증합니다. 그런 다음, 새로운 컨텍스트를 가진 하위 에이전트가 독립적으로 diff를 검토하여 작성 세션의 편향이 초기 평가에 영향을 미치지 않도록 합니다.
Pull Request가 생성되면 전용 Claude 리뷰어 제품이 이를 이어받아 여러 에이전트를 배치하여 동시에 버그를 탐색합니다. 별도의 에이전트 그룹이 이러한 발견 사항에 대해 투표하며, 충분한 동의가 있을 때만 의견이 게시되어 오탐(false positive)을 크게 줄입니다.
시스템은 실수로부터 학습하며, 반복되는 문제를 lint 규칙이나 CLAUDE.md 파일의 특정 지침으로 변환합니다. 이를 통해 일반적인 오류를 상위 단계에서 해결하여 재발을 방지합니다. 반대로, 리뷰어가 허용 가능한 코드를 반복적으로 지적할 경우, 코드 소유자가 작성한 review.md 파일이 해당 코드 영역에서 무엇이 실패로 간주되는지 명확히 합니다.
병합 전, 별도의 보안 검토 에이전트가 코드의 취약점을 면밀히 조사하며, 테스트, 타입 검사, 린팅을 포함한 표준 CI 검사를 통과해야 합니다. 이러한 계층화된 '스위스 치즈' 모델은 하나의 방어막에 구멍이 있더라도 후속 계층이 결함을 잡아낼 가능성이 높음을 보장하여, Anthropic이 안정성을 희생하지 않고도 병합 규모를 확장할 수 있게 합니다.
리뷰어에게도 리뷰어가 필요합니다
인간의 검토는 여전히 중요하지만 계층화된 안전장치로 남아 있습니다. 문서 업데이트나 기능 플래그 작업과 같이 신뢰할 수 있는 작성자가 수행한 저위험 변경 사항은 종종 인간의 승인을 거치지 않습니다. 일반적인 변경 사항이나 민감한 영역의 수정은 한 명의 인간 승인이 필요하며, 고위험 경로는 두 명의 승인이 필요합니다. Anthropic의 분류 에이전트가 이러한 등급을 결정하며, 두 번째 에이전트가 인간 검토 요구 사항을 검증합니다.
평가는 실제적인 영향력에 중점을 둡니다. 인시던트와 관련된 버그는 검토자를 위한 일일 테스트 케이스로 전환되어 시스템이 과거의 실패로부터 학습하도록 합니다. 과도한 노이즈를 생성하지 않으면서 성능을 확실하게 개선하는 프롬프트, 모델 또는 규칙 변경 사항만 유지됩니다. 이러한 반복적인 피드백 루프는 자동화된 검토 프로세스를 지속적으로 개선합니다. 이 복잡한 시스템에 대한 자세한 내용은 How the Claude Code team does code review를 참조하세요.
그러나 에이전트 간 검토는 시스템을 루프에 빠뜨릴 수 있습니다. 한 PR에서 50회 이상의 검토가 기록된 것처럼, 과도한 지적은 반복적인 수정과 후속 검토를 유발합니다. 이를 방지하기 위해 Anthropic은 검토 라운드에 제한을 두고 이후 검토는 새로운 변경 사항에만 집중하도록 변경했습니다. 이 개입을 통해 한 라운드 만에 통과하는 PR 비율이 65%에서 78%로 증가했으며, 5회 이상의 라운드가 필요한 PR 비율은 9%에서 1.5%로 급감했습니다.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
팀이 복제할 수 있는 것과 없는 것
Anthropic의 극적인 확장은 AI 네이티브 엔지니어링의 단면을 보여주지만, 모든 팀이 그들의 방식을 단순히 복사해서 붙여넣을 수는 없습니다. 병합된 PR은 두 배 이상 증가했고 되돌리기(revert) 비율은 40% 감소했지만, 공개된 지표가 전체 변경 사항 중 오류가 발생한 건수가 줄었다는 것을 확실하게 증명하지는 않습니다. 변경 사항의 양이 충분히 증가했다면, 비율이 낮아졌더라도 되돌리기 절대 수치는 여전히 증가했을 수 있습니다.
Anthropic의 멀티 에이전트 검토 시스템을 복제하려면 상당한 리소스와 고도로 전문화된 내부 도구가 필요합니다. 대부분의 조직은 토큰 예산, 컴퓨팅 용량 또는 Claude가 검토 기능을 스스로 개선할 수 있게 하는 정교한 피드백 루프가 부족합니다. 이는 빠른 통합이 아니라 근본적인 아키텍처 전환입니다.
그럼에도 불구하고 모든 팀이 실용적으로 적용할 수 있는 점들이 있습니다. 에이전트에게 간결한 지침을 제공하고, 반복적인 오류는 반복적으로 수정하기보다 자동화된 검사를 통해 처리하세요. 검토 루프에 제한을 두세요. Anthropic은 에이전트가 50회 이상의 라운드에 갇힐 수 있다는 것을 뼈아프게 배웠습니다. 아키텍처 선택이나 위험도가 높은 결제 코드와 같은 중대한 결정에만 사람의 주의를 할애하세요. 궁극적으로 "직접 배포한 사람이 책임진다(you land it, you own it)"는 원칙이 가장 중요합니다. 결과에 대한 책임은 여전히 사람에게 있습니다.
자주 묻는 질문(FAQ)
Anthropic은 모든 Claude Code 변경 사항을 사람이 검토하나요?
아니요. 사람의 검토 여부는 위험도에 따라 다릅니다. 신뢰할 수 있고 위험도가 낮은 일부 변경 사항은 사람의 승인 없이 병합될 수 있지만, 민감하거나 위험도가 높은 변경 사항은 한두 명의 승인이 필요합니다.
Anthropic은 AI가 생성한 코드를 어떻게 검토하나요?
이 프로세스는 로컬 테스트, 새로운 컨텍스트의 에이전트 검토, 멀티 에이전트 버그 및 보안 검사, CI, 위험 기반의 사람 검토, 그리고 프로덕션 모니터링을 결합합니다.
Anthropic의 되돌리기(revert) 비율이 프로덕션에 도달하는 버그가 줄었다는 것을 증명하나요?
그 자체만으로는 아닙니다. 병합된 PR 중 되돌려진 비율은 40% 감소했지만, 병합된 PR의 양은 두 배 이상 증가했으며 Anthropic은 기초적인 수치를 공개하지 않았습니다.
소규모 엔지니어링 팀이 Anthropic으로부터 무엇을 복제할 수 있을까요?
반복 가능한 위험에 대해 자동화된 검사를 사용하고, 에이전트 지침을 집중적으로 유지하며, 검토 라운드를 제한하고, 위험도에 맞춰 사람의 검토를 진행하며, 변경 사항을 배포한 사람이 그 결과에 책임을 지도록 하세요.

