~/오늘의 바이브
Published on

AI가 짠 코드를 AI가 검수한다는 모순의 결말

Authors
  • avatar
    Name
    오늘의 바이브
    Twitter

PR 16%만 제대로 리뷰받던 시대

코드 리뷰 화면을 보여주는 모니터

2026년 3월 9일, Anthropic이 Claude Code에 코드 리뷰 기능을 출시했다. 이름은 단순하다. Code Review. 하지만 이 도구가 해결하려는 문제는 단순하지 않다. AI가 코드를 대량으로 생산하면서, 인간 리뷰어가 그 속도를 따라가지 못하게 된 현실이다.

Anthropic의 내부 데이터가 이 문제를 숫자로 보여준다. 코드 리뷰 도구 도입 이전, **PR(풀 리퀘스트)의 16%**만이 실질적인 리뷰 코멘트를 받았다. 나머지 84%는 형식적인 승인이거나 리뷰 없이 머지됐다는 뜻이다. AI가 한 시간에 수십 개의 PR을 생성할 수 있는 시대에, 리뷰 병목은 더 이상 "불편함"이 아니라 "위험"이 됐다.

Anthropic은 이 문제를 AI로 풀기로 했다. AI가 만든 코드를 AI가 검수하는 구조다. 모순처럼 들린다. 하지만 Anthropic의 답변은 명확하다. "모든 PR에서 신뢰할 수 있는 리뷰어가 필요했다." 인간이 그 역할을 감당하지 못하니, 기계가 대신한다는 논리다.

이 도구가 겨냥하는 고객층은 분명하다. Salesforce, Uber, Accenture 같은 대형 엔터프라이즈다. 수백 명의 엔지니어가 매일 수백 개의 PR을 올리는 조직에서, 코드 리뷰는 이미 구조적으로 불가능한 과제가 됐다. 리뷰어 한 명이 하루에 볼 수 있는 PR은 5~10개다. AI가 같은 시간에 만들어내는 PR은 그 열 배다.

에이전트 떼가 PR을 뜯는 방식

Code Review는 단일 AI가 코드를 훑는 방식이 아니다. 멀티 에이전트 시스템이다. PR이 열리면 여러 개의 Claude 에이전트가 동시에 투입된다. 각 에이전트는 코드베이스를 서로 다른 관점에서 검사한다. 변경된 파일만 보는 것이 아니라, 인접 코드와 과거 유사 버그까지 참조한다.

작업 흐름은 세 단계로 나뉜다. 첫째, 에이전트들이 병렬로 버그를 탐색한다. 둘째, 발견된 문제들을 검증 단계에서 걸러 오탐을 제거한다. 셋째, 최종 에이전트가 결과를 심각도 순으로 정렬하고 중복을 제거한다. 결과물은 PR에 두 가지 형태로 달린다. 전체 개요를 정리한 하나의 요약 코멘트와, 특정 버그 위치에 달리는 인라인 코멘트다.

심각도는 색상으로 구분된다. 빨간색은 즉시 수정해야 할 최우선 이슈다. 노란색은 잠재적 문제다. 보라색은 이번 PR에서 변경되지 않았지만 기존 코드에 존재하는 문제를 가리킨다. 스타일 이슈는 일부러 무시한다. Cat Wu Anthropic 제품 총괄은 "논리 오류"에 집중해 "즉시 실행 가능한 피드백"을 제공하는 것이 목표라고 밝혔다.

리뷰 깊이는 PR 크기에 비례한다. 대형 PR(1,000줄 이상)에서는 **84%**가 발견 사항을 포함하며, 평균 7.5개 이슈가 보고된다. 소형 PR(50줄 미만)에서는 31%가 발견 사항을 포함하고 평균 0.5개 이슈가 나온다. 코드가 복잡할수록 더 많은 에이전트가 투입되는 구조다.

PR 크기발견 사항 포함 비율평균 이슈 수
대형 (1,000줄+)84%7.5개
소형 (50줄 미만)31%0.5개

이 수치에서 주목할 점은 대형 PR에서의 발견율이다. 1,000줄 이상의 PR에서 84%가 문제를 포함한다는 것은, 인간 리뷰어가 "LGTM"으로 승인하는 대형 PR 대부분에 숨은 버그가 있을 수 있다는 뜻이다. 인간이 1,000줄의 변경 사항을 꼼꼼히 읽는 것은 현실적으로 어렵다. 파일을 스크롤하다가 지치고, 후반부로 갈수록 집중력이 떨어진다. 멀티 에이전트 시스템은 이런 인간의 한계에 영향받지 않는다.

54% vs 16%, 숫자가 말하는 것

코드가 표시된 모니터 화면

Code Review 도입 전과 후의 차이는 극명하다. 실질적 리뷰 코멘트를 받는 PR 비율이 **16%에서 54%**로 뛰었다. 3.4배 증가다. 그리고 Anthropic은 엔지니어들이 발견 사항의 1% 미만을 오탐으로 표시했다고 밝혔다.

이 두 숫자를 같이 읽어야 한다. 54%라는 것은 여전히 절반 가까운 PR이 리뷰 코멘트 없이 통과한다는 뜻이다. 하지만 오탐률 1% 미만이라는 수치가 핵심이다. 코멘트가 달렸을 때 그것이 실제로 유의미하다는 것을 의미한다. 노이즈가 적은 리뷰 도구는 개발자가 무시하지 않는 리뷰 도구다.

기존 정적 분석 도구들과의 차이도 여기에 있다. 린터나 정적 분석기는 패턴 매칭에 의존한다. 미리 정의된 규칙에 맞지 않으면 경고를 띄운다. 하지만 "이 함수의 반환값이 다른 파일의 조건문에서 잘못 사용될 수 있다"는 유형의 논리적 오류는 잡지 못한다. Code Review가 노리는 영역이 바로 이것이다. 변경된 파일, 인접 코드, 유사 과거 버그를 교차 참조해 **파일 간 회귀(regression)**를 감지한다.

팀은 두 개의 설정 파일로 리뷰 기준을 커스터마이징할 수 있다. REVIEW.md에는 PR 리뷰 시 우선적으로 확인할 항목을 기술한다. 권한 회귀, 웹훅 멱등성, 트랜잭션 경계 같은 것들이다. CLAUDE.md에는 저장소의 아키텍처와 컨벤션을 기술한다. 팀마다 다른 코딩 규칙과 아키텍처 불변 조건을 AI가 학습하는 셈이다.

PR당 15~25달러, 비싼가 싼가

가격부터 보자. Code Review는 토큰 기반으로 과금된다. PR의 크기와 복잡도에 따라 비용이 달라지며, 일반적인 리뷰 한 건당 15~25달러가 소요된다. 리뷰 완료까지 약 20분이 걸린다.

이 가격을 어떻게 평가할지는 관점에 따라 다르다. 시니어 엔지니어의 시급이 100달러라고 가정하자. 대형 PR을 제대로 리뷰하는 데 30분1시간이 걸린다면, 인건비는 50100달러다. 15~25달러는 그 절반 이하다. 게다가 시니어 엔지니어는 항상 가용하지 않다. 다른 작업을 하고 있거나, 미팅 중이거나, 다른 팀에 있다. Code Review는 PR이 열리는 순간 자동으로 시작된다.

반면 정적 분석 도구는 대부분 무료이거나 시트당 월 1020달러 수준이다. ESLint, SonarQube, CodeClimate 같은 도구들이다. 이들과 비교하면 PR당 1525달러는 비싸다. 하루에 PR을 20개 올리는 팀이라면 월 비용이 6,000~15,000달러에 달할 수 있다. 하지만 앞서 말했듯 이 도구들이 잡는 영역과 Code Review가 잡는 영역은 다르다. 관리자는 월간 지출 한도를 설정할 수 있어서, 예산을 초과하지 않도록 제어할 수 있다.

항목Code Review정적 분석 도구인간 리뷰어
비용PR당 $15~25월 $0~20/시트시간당 $50~150
소요 시간~20분수 초~수 분30분~수 시간
논리 오류 감지가능제한적가능
파일 간 회귀가능불가능가능(숙련 시)
가용성24/724/7업무 시간
오탐률<1%높음낮음

Code Review는 정적 분석을 대체하는 도구가 아니다. 인간 리뷰어를 보완하는 도구다. Anthropic도 이 점을 분명히 했다. Code Review는 PR을 승인하지 않는다. 코드 오너, 테스트, 위협 모델링을 대체할 수 없다고 명시했다. 에이전트가 하는 일은 "발견"이지 "결정"이 아니다.

한 가지 더 짚어야 할 점이 있다. 20분이라는 소요 시간이다. 정적 분석 도구가 수 초~수 분에 끝나는 것과 비교하면 느리다. 하지만 시니어 엔지니어의 리뷰가 수 시간에서 며칠이 걸리는 것과 비교하면 빠르다. 이 도구는 정적 분석기의 속도와 인간 리뷰어의 깊이 사이 어딘가에 위치한다. 20분이라는 시간은 CI/CD 파이프라인에 포함시키기에는 느리지만, PR이 열리고 팀원이 리뷰를 시작하기 전에 완료되기에는 충분하다.

바이브 코딩이 만든 리뷰 위기

개발자의 코딩 화면

Code Review가 나온 배경에는 바이브 코딩의 폭발적 성장이 있다. 개발자들이 AI에게 코드 생성을 맡기면서, 코드의 양은 급증했지만 코드를 이해하는 사람은 줄었다. AI가 작성한 코드를 개발자가 한 줄 한 줄 읽지 않고 그대로 커밋하는 관행이 늘었다. 코드를 만든 사람(AI)도, 코드를 커밋한 사람(개발자)도 그 코드의 전체 맥락을 완전히 이해하지 못하는 상황이 일상이 됐다. "돌아가니까 머지한다"는 태도가 확산됐고, 그 결과로 프로덕션 버그가 증가하고 있다는 보고들이 쏟아지고 있다.

Anthropic의 엔터프라이즈 구독이 올해 초부터 4배로 증가했다는 사실이 이 흐름을 뒷받침한다. Claude Code의 연간 반복 매출(ARR)은 25억 달러를 넘어섰다. Salesforce, Uber, Accenture 같은 대형 고객사들이 Claude Code를 도입했다. 코드 생성량이 늘면 리뷰 부담도 비례해서 늘어난다. 코드 리뷰는 병목이 됐고, Anthropic은 그 병목을 자사 제품으로 해소하는 전략을 택했다.

기존에도 Anthropic은 오픈소스 Claude Code GitHub Action을 제공하고 있었다. 하지만 Code Review는 이와 별개의 제품이다. GitHub Action이 개별 개발자가 설정하는 가벼운 도구라면, Code Review는 관리자가 조직 차원에서 배포하는 엔터프라이즈 도구다. GitHub 앱으로 설치하면 새 PR이 열릴 때 자동으로 리뷰가 실행된다. 관리자는 특정 저장소를 선택하고, 월간 지출 한도를 설정하고, 메트릭을 추적할 수 있다.

현재 Code Review는 리서치 프리뷰 상태로, Claude Team과 Claude Enterprise 고객에게만 제공된다. 제로 데이터 보존(Zero Data Retention) 정책을 활성화한 조직에서는 사용할 수 없다. 셀프 호스팅 옵션도 없다. Anthropic의 인프라에서만 돌아간다.

제로 데이터 보존 정책과의 비호환은 주목할 만한 제약이다. 금융, 의료, 국방 분야의 엔터프라이즈 고객 중 상당수가 이 정책을 요구한다. 코드가 외부 서버에 남지 않아야 한다는 규정을 가진 조직에서는 이 도구를 쓸 수 없다. 가장 리뷰가 필요한 민감한 코드가 오히려 이 도구의 혜택을 받지 못하는 아이러니다.

AI가 AI를 감시하는 구조의 본질

이 도구의 본질을 직시해야 한다. AI가 코드를 쓰고, AI가 그 코드를 리뷰한다. 같은 회사의 제품이 코드 생성과 코드 검수를 동시에 담당한다. 비유하자면, 건설 회사가 건물을 짓고 같은 회사 소속 감리단이 검수하는 것과 비슷하다.

이것이 모순이 아니라고 말하는 논리는 두 가지다. 첫째, 생성 에이전트와 리뷰 에이전트는 다른 프로세스다. 코드를 작성하는 Claude와 코드를 리뷰하는 Claude는 같은 모델 위에서 돌아가지만, 다른 프롬프트와 다른 컨텍스트를 가진다. 내 코드를 내가 리뷰하는 것이 아니라, 전혀 다른 에이전트가 처음부터 코드를 분석하는 구조다.

둘째, 대안이 없다. 인간 리뷰어가 AI 코드를 감당하지 못하는 현실에서, 선택지는 "AI 리뷰를 쓴다"와 "리뷰를 포기한다" 두 가지뿐이다. Anthropic은 전자를 택했다. 16%에서 54%로 올라간 리뷰 커버리지가 그 선택의 결과다.

하지만 불편한 질문은 남는다. 리뷰 에이전트가 놓치는 버그의 종류는 무엇인가. 생성 에이전트와 리뷰 에이전트가 같은 모델 기반이라면, 같은 유형의 맹점을 공유하지 않는가. 이 질문에 대한 답은 아직 없다. Anthropic이 공개한 "오탐률 1% 미만"은 리뷰 에이전트가 틀린 지적을 한 비율이지, 놓친 버그의 비율이 아니다. 정밀도(precision)는 높지만 재현율(recall)은 공개되지 않았다.

한 가지 비유를 들어보자. 교사가 학생의 에세이를 쓰고, 같은 교사가 그 에세이를 채점한다면 무엇이 문제인가. 교사는 자신이 만든 논리 구조의 결함을 발견하기 어렵다. 같은 사고방식으로 만든 코드는, 같은 사고방식으로는 버그를 찾기 어렵다. 물론 Code Review는 "같은 에이전트"가 아니라 "같은 모델 기반의 다른 에이전트"다. 하지만 근본적인 추론 방식이 동일하다면, 특정 유형의 논리적 오류를 체계적으로 놓칠 가능성은 존재한다. 이를 검증하려면 독립적인 제3자 감사가 필요한데, 그런 결과는 아직 공개되지 않았다.

코드 리뷰 시장의 지각 변동

개발자가 코드를 분석하고 있는 장면

Anthropic만 이 시장을 노리는 것은 아니다. GitHub Copilot은 이미 PR 요약 기능을 제공하고 있고, Codex Security 같은 스타트업들은 AI 생성 코드의 보안 취약점 스캔에 특화된 도구를 내놓고 있다. 하지만 Anthropic의 접근 방식이 다른 것은 멀티 에이전트 구조와 "논리 오류 집중"이라는 포지셔닝이다.

기존 도구들이 정적 분석의 연장선에 있다면, Code Review는 인간 리뷰어의 역할을 모방하는 방향으로 간다. 파일 간 의존성을 추적하고, 과거 버그 패턴을 참조하고, 아키텍처 컨벤션을 이해한다. 정적 분석기가 "이 변수가 초기화되지 않았다"를 잡는다면, Code Review는 "이 API 엔드포인트의 권한 체크가 누락됐는데, 지난달에 같은 패턴의 버그가 있었다"를 잡으려 한다. 크로스 파일 추론과 다운스트림 회귀 감지가 핵심 차별점이다.

흥미로운 점은 Anthropic이 Code Review에 경량 보안 분석도 포함시켰다는 것이다. 더 깊은 보안 분석은 별도의 Claude Code Security를 통해 제공된다. 코드 생성(Claude Code) → 코드 리뷰(Code Review) → 보안 분석(Code Security)이라는 파이프라인을 구축한 셈이다. Anthropic이 판매하는 것은 단일 도구가 아니라, AI 코드의 전체 수명주기를 관리하는 시스템이다.

이 전략의 영리한 점은 자기강화 루프에 있다. Claude Code 사용자가 늘면 AI 생성 코드가 늘어난다. AI 생성 코드가 늘면 리뷰 부담이 늘어난다. 리뷰 부담이 늘면 Code Review의 필요성이 커진다. Anthropic은 문제를 만들고, 동시에 그 문제의 해결책을 판매한다. 비즈니스 관점에서는 천재적이지만, 소프트웨어 엔지니어링의 관점에서는 우려할 만한 구조다.

경쟁사들도 비슷한 방향으로 움직이고 있다. OpenAI의 Codex는 코드 생성에 집중하면서 별도의 보안 스캔 도구를 제공하고 있고, GitHub Copilot은 PR 요약과 자동 리뷰 기능을 확장하고 있다. 코드를 만드는 AI와 코드를 검수하는 AI를 같은 벤더가 제공하는 모델이 업계 표준이 되어가고 있다. 독립적인 코드 리뷰 도구가 설 자리가 줄어들고 있다는 뜻이기도 하다.

모순이 아니라 현실이다

AI가 짠 코드를 AI가 검수한다는 구조는 모순처럼 보인다. 하지만 이것은 이미 현실이 됐다. 2026년의 소프트웨어 개발에서 AI 생성 코드를 인간만으로 리뷰하는 것은 불가능에 가까워지고 있다. 코드의 양이 인간 리뷰어의 처리 능력을 넘어선 시점에서, 선택은 "어떤 AI 리뷰를 쓸 것인가"로 옮겨갔다.

Anthropic의 Code Review는 그 첫 번째 공식적인 답변이다. PR당 15~25달러, 20분, 오탐률 1% 미만. 이 숫자들은 나쁘지 않다. 하지만 이 도구가 진짜로 해결해야 할 문제는 따로 있다. 생성 모델과 리뷰 모델이 같은 맹점을 가진다면 어떻게 할 것인가. 재현율은 얼마인가. 리뷰가 자동화되면 개발자의 코드 이해 능력은 어떻게 되는가.

코드 리뷰는 원래 버그를 잡기 위한 활동만이 아니었다. 팀원이 서로의 코드를 읽고, 설계 의도를 논의하고, 지식을 공유하는 과정이었다. 주니어 개발자가 시니어의 리뷰를 통해 성장하고, 시니어가 주니어의 코드를 보며 팀의 수준을 파악하는 양방향 학습이었다. AI가 이 과정을 대신하면, 팀 내 코드 이해도는 떨어질 수 있다. 아무도 코드를 읽지 않는 팀에서, 아무도 코드를 이해하지 못하는 팀으로의 전환은 생각보다 빠를 수 있다.

AI가 AI를 검수하는 시대는 도래했다. 그것이 모순인지 합리적 분업인지는 아직 판단할 수 없다. 분명한 것은, PR의 16%만 리뷰받던 세계보다 54%가 리뷰받는 세계가 낫다는 점이다. 하지만 그 54%의 리뷰 품질이 인간 시니어 엔지니어의 리뷰와 동등한지, 또 나머지 46%에서 무슨 일이 벌어지고 있는지는 여전히 물음표다.

확실한 것은 하나다. 이 구조에서 인간의 역할이 무엇인지를 지금 정의하지 않으면, 나중에 정의할 기회는 오지 않을 수 있다. AI가 코드를 쓰고, AI가 코드를 검수하고, AI가 코드를 배포하는 파이프라인이 완성되면, 그 파이프라인에서 인간이 빠지는 것은 시간문제다. Anthropic의 Code Review는 그 파이프라인의 두 번째 고리가 채워지는 순간이다. 세 번째 고리는 이미 Claude Code Security라는 이름으로 대기 중이다.


출처