AI가 짠 코드를 리뷰하는 데 주니어보다 4배 더 오래 걸리는 이유
I spend 4x longer reviewing AI code than a junior's worse code
핵심 요약
AI가 생성한 코드는 맥락을 알 수 없어 주니어의 코드보다 더 꼼꼼하게 검증하게 된다는 고민.
- 리뷰 방식의 차이 — 주니어는 작업 과정을 지켜봐 맥락을 알지만, AI는 결과물만 던져주어 검증이 더 까다로움
- 인지적 편향 — AI 코드가 더 신뢰할 만함에도 불구하고, 알 수 없는 생성 과정 때문에 더 많은 테스트를 수행함
- 주니어 교육의 딜레마 — AI 도구에 의존하는 주니어들이 코딩의 기본기를 익히지 못하고 무분별한 코드를 양산함
- 도메인별 AI 한계 — 그래픽 프로그래밍 등 특정 분야에서는 AI가 여전히 비효율적이라 사람이 직접 작성하는 것이 나음
기본적으로 지난 화요일에 우리 팀 주니어가 벤더 CSV 파싱을 위한 유틸리티를 하나 올렸어. 솔직히 좀 지저분하고, 함수 하나가 너무 길고, 이름 짓기도 더 나을 수 있었지만, 솔직히 이제 와서 누가 신경 쓰겠어. 5분 만에 읽고 승인했지.
같은 날 오후, Claude Code가 다른 기능을 위해 비슷한 규모의 유틸리티를 생성했어. 코드는 더 깔끔하고, 구조도 좋고, 주니어 코드에는 없던 에러 핸들링까지 되어 있더라고. 근데 난 그걸 리뷰하는 데 20분 넘게 썼어. 먼저 coderabbit에 돌리고, 그다음 bugbot, 다시 claude에 돌리고, diff를 두 번 읽고, 주니어 PR에서는 절대 안 했을 엣지 케이스까지 수동으로 테스트했지.
뻔한 설명은 이거야. 주니어가 코드를 만드는 과정을 지켜봤거든. 점심시간에 벤더 포맷에 대해 나한테 물어봤고, 스탠드업 미팅에서 타입 에러랑 씨름하는 것도 봤지. PR이 올라왔을 때는 이미 그 코드의 배경 이야기를 다 알고 있었던 거야. 반면 에이전트의 코드는 아무런 히스토리 없이 완성된 상태로 나타났어. 뭘 시도하다가 포기했는지도 모르고, 깔끔한 구조가 문제를 제대로 이해해서 나온 건지, 아니면 문제처럼 보이는 패턴을 매칭한 건지도 모르니까.
내가 짜증 나는 건 이게 현명한 주의인지, 아니면 그냥 편견에 불과한 건지 모르겠다는 거야. 에이전트 코드가 평균적으로는 더 신뢰할 만할 수도 있어. 걔는 피곤해하지도 않고 금요일이라고 대충 하지도 않으니까. 그리고 주니어 코드가 오히려 더 많은 검증을 받아야 한다고 주장할 수도 있지. 아직 배우는 중이니까.
아니면 5분 만에 주니어 코드를 리뷰한 게 이 이야기에서 진짜 실수였고, AI가 내 기준이 항상 너무 관대했다는 걸 폭로한 걸지도 모르지.
너희는 생성된 코드를 사람의 코드와 다르게 리뷰해? 그리고 그게 합리적이라고 결론 내렸어?

