에이전트는 리뷰어를 대체하지, 리뷰를 대체하지 않는다
2026년 6월, 자동 프로그램 수정으로 알려진 소프트웨어 공학 연구자 Martin Monperrus는 The End of Code Review: Coding Agents Supersede Human Inspection이라는 제목의 논문을 발표했습니다. 그 논점은, coding agent가 이미 어떤 역량의 임계점을 넘어섰기 때문에 머지 전에 사람이 diff를 들여다보는 일이 더 이상 필수적인 품질 게이트가 아니며, 에이전트가 코드를 작성하고 사람이 필수 리뷰어로 남는 흔한 구성은 막다른 길이라는 것입니다.1
이 논문은 비판자들이 인정하려는 것보다 더 많은 부분에서 옳고, 정작 중요한 한 지점에서 틀렸습니다. 에이전트는 리뷰어를 대체했습니다. diff를 한 줄씩 읽으며 결함을 찾던 사람은, 이제 에이전트 앙상블이 더 잘, 그리고 모든 커밋마다 해내는 일을 하고 있습니다. 그러나 이 논문은 그 역할을 리뷰 자체와 혼동합니다. 논문이 처방하는 에이전트 파이프라인을 실제로 돌려보면, 사람의 일은 사라지지 않습니다. 코드를 점검하는 일에서, 코드가 충족시켜야 했던 의도를 책임지는 일로 자리를 옮길 뿐입니다. 저는 그 파이프라인을 직접 돌립니다. 리뷰어는 사라지고 있습니다. 리뷰는 스택의 위쪽으로 이동하고 있습니다.
저는 이 논문을 진지하게 다루고 싶습니다. 대부분의 반응이 그러지 않을 것이기 때문입니다. 반사적인 반박은 “하지만 에이전트는 환각을 일으킨다”인데, Monperrus는 이미 그 점을 인정합니다. 정직한 검토는 그가 옳게 짚은 부분을 먼저 인정하는 데서 시작됩니다.
요약
- Monperrus는 coding agent가 인간 code review의 필요를 끝냈다고 주장합니다. 리뷰의 모든 목표(결함 탐지, 스타일, 보안, 지식 전수)가 에이전트에 의해 더 잘, 더 싸게 충족되며, 인간의 리뷰 역량은 에이전트가 만들어내는 처리량을 따라 확장될 수 없기 때문입니다.1
- 그는 필수 인간 승인 체크박스가 끝났다는 점에서 옳고, 피곤한 사람이 큰 diff를 대충 훑는 것보다 에이전트가 체계적인 점검을 더 잘한다는 점에서도 옳습니다.
- 그는 순진하지 않습니다. 이 논문은 환각, prompt injection, 보안 사각지대의 상관성을 인정하며, 고위험, 신규, 규제 대상, 윤리적 변경에 대해서는 사람을 남겨 둡니다.1
- 빈틈은, 그가 남아 있는 인간의 역할을 작은 에스컬레이션 집합으로 취급한다는 데 있습니다. 실제 프로덕션에서는 그것이 하중을 떠받치는 중심입니다. 에이전트는 주어진 명세에 맞춰 최적화하며, 그 명세를 작성하고 책임지는 일이야말로 환원 불가능한 인간의 행위입니다.
- 리뷰어라는 역할은 자동화되고 있습니다. 소프트웨어가 그 목적에 맞게 올바른가에 대한 판단으로 이해되는 리뷰는, 에이전트가 따라올 수 없는 곳으로 자리를 옮기고 있습니다.
이 논문이 옳게 짚은 것
Monperrus는 팀이 코드를 리뷰하는 이유에 관한 Bacchelli와 Bird의 분류, 즉 결함 탐지, 스타일과 표준의 준수, 지식 전수, 팀 인식, 그리고 다섯 번째 차원인 보안 위에서 논의를 전개합니다.12 그의 전략은 각 목표를 두고 에이전트가 그것을 더 잘 수행한다고 주장하는 것입니다. 에이전트는 피로나 시차 지연 없이 모든 커밋을 점검합니다. 사람이 즉흥적으로 훑는 것보다 더 체계적으로 취약점 유형을 열거합니다. 머지 시점에 아키텍처 요약과 갱신된 문서를 생성합니다. 이 논문은 임계점에 관한 논거를 세우기 위해 SWE-bench의 역량 곡선을 동원합니다. 벤치마크가 출시된 2023년에 최고의 모델이 실제 GitHub 이슈의 2 percent 미만을 해결하던 데서, 2025년 말에는 상위 에이전트가 70 percent를 넘긴 데까지의 곡선입니다.13
저는 이 부분에 이견이 없습니다. 매일 그것이 작동하는 모습을 지켜보기 때문입니다. 제 자율 빌드 루프는 세 명의 리뷰어 게이트를 돌립니다. 코드가 머지되기 전에 별도의 에이전트들이 정확성, 컨벤션, 보안을 점검하고, 두 번째 루프는 그 구현을 독립적인 모델에 보내 적대적 검토를 거치게 합니다. 그 에이전트들은 실제 결함을 잡아내며, 그것도 사람이 시간을 낼 수 있었던 변경이 아니라 모든 변경마다 잡아냅니다. 이 글에 앞서 이 사이트에 올린 두 편의 글은 각각 에이전트 평가자를 거쳤는데, 평가자는 그것들을 루브릭에 맞춰 채점하고 제가 이후 고쳐야 했던 구체적인 사실 오류를 짚어냈습니다. 에이전트가 훈련된 리뷰어에 견줄 만한, 실행 가능하고 구조화된 리뷰 결과물을 만들어낸다는 이 논문의 주장은 제게 추측이 아닙니다. 그것은 제 일상입니다.
처리량에 관한 논거도 옳으며, 사람들이 과소평가하는 부분이 바로 이것입니다. 에이전트의 도움을 받는 개발자는 인간의 리뷰 역량이 흡수할 수 있는 것보다 더 많은 pull request를 하루에 만들어냅니다. 작성자는 빠른데 리뷰어가 사람일 때, 리뷰 대기열은 구속 제약이 되고 리뷰는 시간 압박 속에 치러지는 형식으로 전락합니다.1 에이전트가 작성하고 사람이 형식적으로 승인하는 순진한 구성이 진정한 보증을 제공하지 못한다는 Monperrus의 지적은 옳습니다. 코드가 올바르게 보이고 테스트가 통과한다는 이유로 승인하는 사람은 리뷰하고 있는 것이 아닙니다. 그는 서명하고 있는 것입니다.
그가 묘사하는 파이프라인은 제가 돌리는 바로 그것입니다
이 논문이 인간 리뷰를 대체하자고 제안하는 것은 “하나의 모델을 신뢰하라”가 아닙니다. 그것은 에이전트가 루프 안에 들어가는 검증 파이프라인입니다. 여러 독립적인 에이전트, 이상적으로는 서로 다른 모델이 비형식적인 코멘트 스레드 대신 보정된 구조화 승인(테스트 커버리지, 보안 스캔, JSON 또는 정적 분석 결과의 표준 교환 형식인 SARIF 형태의 추론 트레이스)을 만들어내며, 에이전트는 불확실할 때 판단을 보류하도록 지시받고 사람은 어려운 사례를 위해 남겨집니다.1
이는 이름만 다를 뿐, 제가 지난 1년 동안 만들고 글로 써 온 아키텍처입니다. 저는 에이전트 pull request에는 더 작은 리뷰 표면이 필요하고, 자동화된 리뷰에는 하나의 자신만만한 심판이 아니라 이견이 필요하며, 구조화된 증거로 이루어진 리뷰 패킷이 비형식적인 diff 코멘트를 대체하고 있다고 주장해 왔습니다. 그러니 저는 그 파이프라인에 반대하는 것이 아닙니다. 저는 그것을 옹호하는 논거를 만드는 데 일조했습니다. 제가 다투는 지점은, 그 파이프라인이 존재한 뒤 사람에게 무엇이 남는가입니다. 저는 그 답 속에서 살아왔고, 그것은 이 논문이 내놓는 답이 아니기 때문입니다.
논거가 무너지는 곳: 리뷰는 결코 점검만이 아니었다
Monperrus는 고위험 변경, 신규 아키텍처, 규제 대상 코드 경로, 윤리적 판단을 위해 사람을 남겨 두고, 이를 에스컬레이션으로 틀짓습니다. 에이전트가 표시했을 때 사람에게 라우팅되는 예외로 보는 것입니다.1 이런 틀짓기는 인간의 역할을 자동화된 라인에서 어쩌다 발생하는 인터럽트처럼 들리게 만듭니다.
라인을 직접 돌려 보면 정반대를 배웁니다. 에이전트는 자기 목적을 스스로 만들지 않습니다. 그것은 건네받은 명세에 맞춰 최적화하며, 중요한 모든 변경마다 에이전트가 무언가를 그것에 비추어 점검하기 전에 누군가는 올바름이 무엇을 뜻하는지를 먼저 결정해야 합니다. 이 논문 스스로도 논의 절에서 그 경계를 인정합니다. 에이전트는 기술적 품질 지표에 맞춰 최적화하며, 어떤 텔레메트리 변경이 사용자의 합리적인 프라이버시 기대를 침해한다는 사실이나 어떤 랭킹 조정이 편향을 증폭시킨다는 사실을 안정적으로 알아챌 만큼 갖춰져 있지 않습니다.1 그것은 가장자리의 한계로 제시됩니다. 하지만 가장자리에 있지 않습니다. “이 변경이 우리가 실제로 원하는 것에 맞게 올바른가”라는 질문은 사소하지 않은 모든 머지의 중심에 자리하며, 그것은 명세에 맞춰 보정된 에이전트가 명세 자체에 대해서는 던질 수 없는 바로 그 질문입니다.
저는 이 글에 앞서 내보낸 두 편의 글에서 이를 구체적으로 느꼈습니다. 에이전트 리뷰어는 그것들을 채점했고 각각에서 사실의 과장을 잡아냈습니다. 하나에서는 검증되지 않은 기관 관련 주장을, 다른 하나에서는 잘못 귀속된 통계를 짚었습니다. 잡아낸 것은 에이전트의 몫이었습니다. 고치는 것은 아니었습니다. 과장을 정직하게 어떻게 바로잡을지, 어떤 출처가 실제로 그 주장을 뒷받침하는지, 그 문장의 정직한 판본이 무엇인지를 결정하는 일은, 루브릭이 표시는 할 수 있어도 해결할 수는 없는 의도에 관한 판단을 요구했습니다. 에이전트는 무언가가 잘못되었다는 것을 찾아냈습니다. 무엇이 옳은 모습인지는 사람이 결정했습니다. 그 분업이 곧 자리 옮김이며, 그것은 규제 대상의 가장자리 사례가 아니라 일상적인 콘텐츠에서 일어났습니다.
그래서 사람은 루프를 떠나지 않습니다. 사람은 루프의 끝에서 시작으로 이동합니다. 리뷰는 한때 마지막 체크포인트, 즉 완성된 코드를 사람이 점검하는 일이었습니다. 에이전트 파이프라인에서는 그 점검이 자동화되고 환원 불가능한 인간의 일은 앞쪽으로 옮겨갑니다. 에이전트가 비추어 검증할 참된 무언가를 갖도록 의도를 충분히 정밀하게 명세하는 일, 그리고 출시된 결과가 명세는 충족하지만 핵심을 놓쳤을 때 그 결과를 책임지는 일입니다. 책임은 지표에 맞춰 최적화하는 시스템에 위임될 수 없습니다. 책임이란 의도적으로 틀릴 각오를 하고 그에 대해 답하려는 의지이기 때문입니다.
그 주장의 정직한 판본
제목에서 도발을 걷어내면, 방어할 수 있는 주장은 “code review의 끝”보다 좁습니다. 방어할 수 있는 주장은 diff 점검자이자 필수 승인 체크박스로서의 사람이 끝났다는 것입니다. 그 역할은 진정으로 끝났으며, 편안한 의례를 지키려고 그렇지 않은 척하는 것은 그 나름의 부정직입니다. 점검석에 사람을 연극처럼 앉혀 두고, 실제로는 면밀히 살필 수 없는 에이전트 코드를 승인하는 팀은, 자신들이 가지고 있다고 여기는 그 보증을 이미 잃은 것입니다.
그러나 “code review”는 언제나 대리어였습니다. 그것은 체크포인트를 가리켰지만 실은 판단을 뜻했습니다. 이 변경이 우리가 필요로 하는 일을, 안전하게, 우리가 떳떳이 책임질 수 있는 방식으로 해내는가. 체크포인트를 자동화해도 그 판단은 증발하지 않습니다. 그것은 들어오는 길목에서는 의도 명세로, 나가는 길목에서는 책임으로 자리를 옮기며, 에이전트의 속도로 움직이는 팀에서는 덜 중요해지는 것이 아니라 더 중요해집니다. 에이전트는 명세가 말하는 것이라면 무엇이든, 틀린 것까지 포함해 충실하고 빠르게 만들어낼 것이기 때문입니다. 작성자가 빠를수록 병목은 무엇을 요구할지를 아는 일로 옮겨갑니다. 리뷰어가 대체되고 있다는 Monperrus의 지적은 옳습니다. 리뷰가 끝나고 있다는 것은 틀렸습니다. 그것은 에이전트가 차지할 수 없는 단 하나의 자리로 이동하고 있습니다.
핵심 정리
엔지니어링 리더에게: - 인간 리뷰를 diff 점검으로 배치하는 일을 멈추세요. 에이전트가 그것을 더 잘, 그리고 끊임없이 해냅니다. 에이전트 코드에 대한 인간 승인 체크박스는 보증의 연극입니다. - 그 인간 역량을 의도 명세와 책임으로 재배치하세요. 명세에 맞게 올바른 것이 사실로도 올바른지를 결정하는, 리뷰의 그 부분으로 옮기세요.
개발자 도구 제작자에게: - 이 논문이 묘사하는 앙상블 리뷰 파이프라인을 만드세요. 여러 모델, 보정된 판단 보류, 구조화된 승인입니다. 리뷰어들 사이의 이견이 곧 신호입니다. - 게이트만이 아니라 파이프라인의 앞쪽을 설계하세요. 가장 가치 높은 표면은 사람이 의도를 에이전트가 비추어 검증할 수 있는 명세로 바꾸는 곳입니다.
엔지니어에게: - 당신의 리뷰 역량은 무가치해지는 것이 아니라 주소를 바꾸는 것입니다. 가치는 diff에서 버그를 짚어내는 데서, 코드가 무엇을 해야 했는지를 정의하고 그 결과를 책임지는 데로 옮겨갑니다.
FAQ
이 논문은 인간 code review가 끝났다는 뜻인가요?
한 줄씩 diff를 점검하고 필수로 승인하던 사람으로서는 끝났으며, 그것이 이 논문의 가장 강력한 지점입니다. 에이전트가 체계적인 점검을 더 잘, 그리고 모든 커밋마다 해냅니다. 끝나지 않는 것은 code review가 대신해 온 판단, 즉 어떤 변경이 그 실제 목적에 맞게 올바른가입니다. 그 판단은 사라지는 것이 아니라 의도를 명세하고 결과를 책임지는 일로 자리를 옮깁니다.
Monperrus는 실제로 무엇을 주장하나요?
coding agent가 이제 code review의 모든 명시된 목표(결함 탐지, 스타일, 지식 전수, 보안)를 더 낮은 비용과 더 높은 처리량으로 충족하며, 에이전트가 작성한 코드의 필수 리뷰어로 사람을 두는 것은 진정한 보증을 주지 못하고 확장될 수도 없으므로 막다른 길이라는 것입니다. 그는 구조화된 승인을 만들어내는 에이전트 앙상블을 제안하며, 사람은 고위험과 윤리적 사례를 위해 남겨 둡니다. 이것은 입장 논문이지 실증 연구가 아닙니다.1
논거가 가장 약한 곳은 어디인가요?
남아 있는 인간의 역할을 드문 에스컬레이션으로 취급하는 데 있습니다. 실제로는 인간의 역할이 사소하지 않은 모든 변경에서 하중을 떠받칩니다. 에이전트는 스스로 작성하거나 의문을 제기할 수 없는 명세에 맞춰 최적화하기 때문입니다. 명세를 정의하고 그 결과에 답하는 일은 가장자리 사례가 아니라 중심이 되는 일입니다.
팀은 에이전트 pull request에 인간 승인 단계를 유지해야 하나요?
점검의 연극으로서는 아닙니다. 사람이 그 변경을 진정으로 면밀히 살필 수 없다면, 그 승인은 리뷰가 아니라 서명입니다. 인간의 노력은 차라리 위쪽, 즉 의도를 정밀하게 명세하는 데, 그리고 아래쪽, 즉 출시된 결과를 책임지는 데 투자하고, 점검은 에이전트 앙상블에 맡기는 편이 낫습니다.
출처
- Martin Monperrus, “The End of Code Review: Coding Agents Supersede Human Inspection,” arXiv, 2026년 6월 11일: arxiv.org/abs/2606.13175. 기존 역량 근거를 종합한 입장 논문으로, Bacchelli와 Bird에게서 code review의 목표를 열거하고, SWE-bench 역량 곡선을 인용하며, 환각, prompt injection, 윤리적 책임을 포함한 한계를 논합니다.
- Alberto Bacchelli and Christian Bird, “Expectations, Outcomes, and Challenges of Modern Code Review,” ICSE 2013. 이 논문이 토대로 삼는 리뷰 목표 분류의 실증적 출처입니다: Microsoft Research
- Carlos E. Jimenez et al., “SWE-bench: Can Language Models Resolve Real-World GitHub Issues?,” ICLR 2024. 역량 곡선의 바탕이 된 벤치마크입니다(최고 모델이 출시 시점에 1.96%를 해결): arxiv.org/abs/2310.06770
- 프로덕션 경험에서 나온 에이전트 리뷰 관련 글: 더 작은 리뷰 표면, 리뷰에는 이견이 필요하다, 리뷰 패킷, 그리고 이 글이 묘사하며 돌리는 파이프라인인 세 명의 리뷰어 게이트를 갖춘 자율 빌드 루프.
-
Martin Monperrus, “The End of Code Review: Coding Agents Supersede Human Inspection,” arXiv:2606.13175 (2026년 6월 11일). 이 논문은 code review의 목표(결함 탐지, 스타일과 표준, 지식 전수, 팀 인식, 그리고 보안)를 열거하고, 에이전트가 각각을 더 낮은 비용과 더 높은 처리량으로 충족한다고 주장하며, 에이전트가 작성하고 사람이 리뷰하는 구성에 대해 두 가지 주장을 제기합니다. 사람이 그럴듯한 코드를 형식적으로 승인하기 때문에 진정한 보증을 제공하지 못한다는 것, 그리고 리뷰 역량이 병목이 되기 때문에 확장되지 않는다는 것입니다. 이 논문은 에이전트가 루프 안에 들어가는 파이프라인(앙상블 리뷰, 보정된 판단 보류, 구조화된 JSON/SARIF 승인)을 제안하며 고위험, 신규, 규제 대상, 윤리적 변경에 대해서는 인간 에스컬레이션을 남겨 두고, 환각, 보안 사각지대의 상관성, prompt injection, 그리고 지표에 최적화하는 에이전트가 윤리적 판단을 내릴 수 없다는 점을 포함한 자체 한계를 명시적으로 밝힙니다. 저자는 이것이 새로운 실증 연구가 아니라 입장 논문이라고 말합니다. ↩↩↩↩↩↩↩↩↩↩
-
Alberto Bacchelli and Christian Bird, “Expectations, Outcomes, and Challenges of Modern Code Review,” Proceedings of the 2013 International Conference on Software Engineering (ICSE 2013), 712-721. Microsoft 개발자들에 대한 관찰, 인터뷰, 설문에 기반한 이 실증 연구는, 리뷰의 명시된 동기(결함 찾기)가 실제로는 지식 전수와 팀 인식에 종종 밀린다는 점을 발견했으며, 이는 Monperrus가 목표별 논거를 세우는 분류입니다. ↩
-
Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, and Karthik Narasimhan, “SWE-bench: Can Language Models Resolve Real-World GitHub Issues?,” ICLR 2024, arXiv:2310.06770. 벤치마크가 도입되었을 때 최고 모델(Claude 2)은 2,294개의 실제 GitHub 이슈 과제 중 1.96%를 해결했으며, 2025년 말에는 상위 에이전트가 공개 리더보드에서 70%를 넘어섰습니다. 이것이 임계점이 넘어섰다고 논문이 주장하는 데 사용하는 역량 곡선입니다. ↩