코드 리뷰를 에이전트가 대체한다는 논문 반박: "이해가 안 된다"는 리뷰어의 반응 자체가 결함 탐지 신호
- 블로그 필자는 arXiv 논문 'The End of Code Review: Coding Agents Supersede Human Inspection'이 코드 리뷰를 결함 탐지, 스타일 강제, 지식 전달, 인지 네 기능으로 분해한 뒤 에이전트가 이를 더 낮은 비용과 높은 처리량으로 수행한다고 결론 내리는 프레이밍을 대체 신화라 부르며 반박함
- 리뷰어가 "이해가 안 된다"고 말하는 것 자체가 결함 탐지 신호이며, LLM은 코드를 처리할 뿐 정당한 인간적 이해 불가 신호를 줄 수 없음. 논문은 이해 가능성을 스타일 문제로 취급함
- "이 변경을 PR 두 개로 나눠야 하는가", "증상만 고치고 문제는 안 고친 게 아닌가" 같은 의도와 범위 질문은 코드 정확성보다 앞서는데, 논문은 검토 대상 변경이 필요하다고 가정함
- API 계약은 바뀌었는데 에러 처리는 그대로인 것을 알아채는 능력, 즉 absence blindness는 LLM이 특히 취약한 실패 유형인데 논문이 언급하지 않음
- 리뷰 강도는 작성자가 누구냐에 따라 달라지고, 최근 장애나 하위 소비자 폐기 예정, 법무 지침처럼 저장소 밖 운영 맥락이 리뷰에 개입하는데 논문은 코드베이스를 완전한 맥락으로 가정함
Hacker News opinions
코드 리뷰 논쟁이 다시 뜨는 건 AI 때문인 게 맞아. 나도 체크리스트를 적어봤는데 기능적으로 목적을 달성하는지, 디버그 출력이나 개인 API 키가 남았는지, 메모리 누수나 미처리 엣지 케이스 같은 결함이 있는지, 더 이해하기 쉽게 만들 수 있는지, 스타일이 일관되는지, 성능 개선 여지가 있는지, 테스트가 충분한지 정도였어. LLM은 대부분 나름 하는데 '이걸 우리가 원하는가'에서 제일 약해.
거기에 '아키텍처 관점에서 맞는 변경인가'가 빠졌어. 특히 그건 LLM이 아직 거의 쓸모없는 수준이고.
내가 겪은 제일 큰 문제도 빠졌더라. 기존 코드베이스에 이미 같은 기능을 처리하는 패턴이나 코드가 있는지, 굳이 새 코드를 쓸 필요가 있는지, 기존 코드를 확장하거나 추상화해서 더 깔끔하게 구현할 수 있는지 같은 것들.
리뷰가 리뷰어한테 지식을 전달한다는 점도 빼먹으면 안 되지.
리뷰에서 '들여쓰기가 틀렸다', '주석 끝에 마침표를 찍어라' 같은 지적만 돌아오면 그건 팀이 린터랑 포매터를 도입할 때라는 신호임.
Pangram으로 이 글 검사해봤는데 94%가 AI라고 나왔어. 눈으로 봐도 티 나더라.
그 댓글도 Pangram 돌려보면 142% AI 나올 것 같은데. 솔직히 이건 오탐 같아. 전문 용어가 많아서 걸린 거고 GPT-zero는 사람이라고 판정해.
내 경험엔 자동 코드 리뷰가 지금이 제일 무의미해. 린터도 테스트도 있고 코드는 AI가 써주는데 왼손이 오른손 보고 잘했다고 말해줄 필요가 있나. 지금 필요한 건 아키텍처랑 장기 관점, 비즈니스 관점이야.
어떤 도구를 써봤는지 궁금한데, 아키텍처나 장기 관점 문제를 찾아내는 건 요즘 도구들이 꽤 잘해. 고치는 데는 구멍이 크지만 지적은 잘 하더라.
도구를 제대로 쓰는 사람들한테는 자동 리뷰가 중복이 되겠지만, 에이전트가 뭘 써주는지 안 보고 넘기는 개발자들이 많아서 아직 필요해. 요즘도 자동 리뷰에서 뻔한 문제가 잡히는데 그건 코드가 뭘 하는지 모르는 사람이 만든 거더라. 나머지 사람들한테는 저장소를 지키는 CI 게이트 역할인 셈이지.
코드 밖 맥락을 얻으려면 코드가 아니라 프롬프트를 리뷰하는 게 낫지 않을까.
난 반대. 내 프롬프트는 대부분 '이슈 구현해줘' 수준이고 이슈에 유저 스토리랑 인수 조건이 있어. 근데 저장소에 실제로 올라가는 건 코드 아티팩트니까 결국 코드를 봐야 해.
봇이 봇이 쓴 코드를 리뷰하는 건 스스로 핥는 아이스크림 콘이지.
그렇게 비웃을 일만은 아닌 게, 여러 모델이 PR을 먼저 리뷰하고 사람한테 넘기는 건 실제로 도움이 되더라.
사람 리뷰의 진짜 이유는 '이해 중복'이라고 봐. 리뷰가 제대로 되면 최소 두 명이 그 기능을 이해하는데, 요즘 그 숫자는 1과 0 사이로 가고 있어.
한 명만 알면 PR 시점에는 이미 늦어. 나는 테크 리드인데 PR 리뷰 거의 안 하고, 대신 '이 부분을 무슨 목적으로 봐달라'고 말해달라고 해. '그냥 리뷰해주세요'는 도장 찍기고, 이해하려고 PR 보는 건 너무 늦은 시점이야. 우리는 서로 얘기하면서 시스템을 파악해.
코드 리뷰는 이 조직이 사람의 학습을 우선하는지가 핵심이라고 봐. 그런데 요즘 내 피드백은 거의 다 에이전트로 들어가고 사람이 반응하는 건 10% 정도야.