최근 대규모 언어모델(LLM) 기반의 코딩 에이전트(coding agents)가 인간의 코드 리뷰를 완전히 대체할 수 있다는 주장이 제기되며 소프트웨어 개발 업계에 논쟁이 일고 있습니다. 1976년 파간(Fagan)이 코드 검사를 정형화한 이래 약 50년간 동료 코드 리뷰는 소프트웨어 품질 관리의 핵심 관문이었지만, 일부에서는 AI가 더 낮은 비용과 높은 처리량으로 모든 목표를 달성할 수 있다고 주장합니다. 그러나 많은 전문가는 코드 리뷰의 본질적인 역할이 단순히 결함 탐지를 넘어선다는 점에서 AI의 완전한 대체는 어렵다고 지적합니다.
코드 리뷰는 결함 탐지, 스타일 준수, 지식 전달, 상황 인지 등 네 가지 기능으로 나눌 수 있으며, AI 에이전트가 개별 기능을 수행할 수 있다는 점은 인정됩니다. 하지만 이러한 개별 기능 수행 능력이 곧 인간 대체 가능성을 의미하는 것은 아닙니다. 인간의 코드 리뷰는 코드의 정확성 확인에 앞서 변경의 필요성과 범위를 의심하고, API 계약 변경에 따른 오류 처리처럼 '빠진 요소'를 발견하는 역할을 합니다. 특히 숙련된 리뷰어가 코드를 이해하지 못하는 상황은 코드의 복잡성, 추상화 문제, 의도 불분명 등을 드러내는 중요한 신호이며, 이는 AI가 감지하기 어려운 부분입니다. 또한, 리뷰의 깊이는 코드 작성자와 운영 맥락에 따라 달라지며, 리뷰 대화는 양쪽의 이해를 함께 바꾸는 공동 인지 활동입니다.
이러한 관점에서 AI의 완전한 대체는 '대체의 신화(substitution myth)'에 불과하다는 비판이 나옵니다. 이 신화는 사람의 기여를 측정 가능한 기능으로 분해하고, 기계가 그 기능을 재현할 수 있음을 보인 뒤, 사람이 불필요해졌다고 선언하는 방식으로 작동합니다. 하지만 이 과정에서 기능 간의 통합, 예상치 못한 상황과 맥락에 적응하는 능력, 사회적 책임 수행 등 인간 고유의 역할이 간과됩니다. 예를 들어, AI는 존재하는 코드를 검토할 수는 있지만, '부재 맹목(absence blindness)'이라는 LLM의 취약한 실패 유형처럼 있어야 할 요소가 빠진 것을 알아차리기는 어렵습니다. 또한, 변경 승인에 따르는 개인적인 책임감은 리뷰 방식에 영향을 미치지만, AI 에이전트는 결과에 대한 책임을 지지 않습니다.
결론적으로, AI 코딩 에이전트는 개발 생산성을 높이는 강력한 도구임은 분명하지만, 인간 코드 리뷰의 모든 역할을 대체하기에는 한계가 명확합니다. 코드 리뷰는 단순한 기술적 검토를 넘어, 개발팀 내의 지식 공유, 협업 증진, 시스템 전반에 대한 이해도 향상, 그리고 궁극적으로는 소프트웨어의 장기적인 안정성과 품질을 보장하는 사회적, 인지적 과정입니다. AI 시대에는 인간과 AI가 각자의 강점을 활용하여 시너지를 내는 '인간-AI 시너지' 방식의 코드 리뷰가 더욱 중요해질 것입니다.