핵심 요약
- 한 연구 논문이 AI 코딩 에이전트가 인간의 코드 리뷰를 완전히 대체할 수 있다고 주장했습니다.
- 이에 대해 베테랑 개발자는 "이해하기 어렵다는 동료의 반응 자체가 코드 복잡성을 알리는 핵심 신호"라며 AI가 흉내 낼 수 없는 7가지 이유를 들어 반박했습니다.
- 코드베이스 밖의 조직 맥락, 누락된 에러 처리 감지, 직접 승인하는 사람의 실제 책임감(Skin in the game) 등 현실적인 한계가 큰 공감을 얻고 있습니다.
요약 최근 한 논문에서 코딩 에이전트(LLM)가 인간의 코드 리뷰를 완전히 대체할 수 있다는 주장을 제기하자, 이에 대해 현직 엔지니어가 코드 리뷰의 본질을 짚으며 조목조목 반박해 개발자 커뮤니티에서 큰 관심을 끌고 있습니다.
해당 논문은 코드 리뷰의 역할을 결함 탐지, 스타일 강제, 지식 전달, 프로젝트 인지로 단순화한 뒤 AI가 이를 모두 수행할 수 있으므로 인간의 리뷰는 더 이상 필수 품질 파이프라인이 아니라고 주장했습니다. 하지만 반박 글에서는 이를 치명적인 오류를 품은 '대체 신화(substitution myth)'라고 비판했습니다.
글쓴이가 지적한 인간 코드 리뷰만의 핵심 가치는 크게 일곱 가지입니다.
첫째, '동료의 당혹감' 그 자체가 중요한 발견이라는 점입니다. 숙련된 엔지니어가 코드를 보고 "이해되지 않는다"고 느끼는 순간, 코드가 너무 복잡하거나 의도가 불분명하다는 중요한 신호가 되지만 AI는 무조건 코드를 파싱해 버려 이런 인간적 난해함을 감지하지 못합니다.
둘째, '이 변경이 정말 필요한가?'라는 근본적 회의입니다. AI는 변경 사항의 당위성을 전제하고 검증에 집중하지만, 사람은 "PR을 둘로 쪼개야 하지 않나?", "원인이 아니라 증상만 땜질한 것 아닌가?"라며 코드의 의도와 존재 자체를 의심합니다.
셋째, '존재하지 않는 것(누락된 것)'을 포착하는 능력입니다. API 규격이 바뀌었는데 에러 처리가 누락되는 등 AI가 취약한 '부재에 대한 맹시'를 사람은 경험을 통해 짚어냅니다.
넷째, 작성자가 누구냐에 따른 맥락적 검토입니다. 주니어의 결제 모듈 첫 커밋과 베테랑의 리팩터링은 주의를 기울여야 할 리스크가 전혀 다른데, AI는 모든 변경을 동일 선상에서 처리합니다.
다섯째, 리뷰는 양방향 공동 인지 작업이라는 점입니다. 단순히 정보를 전달하는 것이 아니라 질문과 토론을 거치며 양쪽 모두의 멘탈 모델이 확장되는 과정입니다.
여섯째, 리포지토리 외부에 존재하는 운영 맥락입니다. 지난주 발생한 장애, 특정 인터페이스의 폐기 예정 사실, 법무팀의 로깅 금지 지침 등 코드베이스 밖의 조직 맥락은 AI가 결코 알 수 없습니다.
마지막으로 '직접 승인하는 데서 오는 책임감(Skin in the game)'입니다. AI의 승인에는 아무런 후속 책임이나 진지한 평가를 유도할 유인이 없다는 점을 강조했습니다.
Sponsored · 광고