AI 에이전트는 커피 한 잔을 마시는 동안 기능 브랜치(feature branch) 전체를 만들어낼 수 있습니다. 잘 작성된 프롬프트 하나로 수천 줄의 코드가 나타납니다. 하지만 이러한 속도가 변하지 않는 기본 원칙을 바꾸지는 못합니다. 즉, 저장소에 들어가는 코드는 여전히 인간의 판단이 필요하다는 사실입니다. 리뷰는 단순히 다듬는 단계가 아닙니다. 리뷰는 작동하는 소프트웨어와 소리 없이 쌓여가는 기술 부채(technical debt) 사이를 가르는 벽입니다.
업무의 본질이 변했습니다. 예전에는 에디터에 한 줄 한 줄 로직을 타이핑하는 데 정신적 에너지를 쏟았습니다. 이제 인지 부하(cognitive load)의 중심이 이동했습니다. 어려운 점은 더 이상 코드를 작성하는 것이 아닙니다. 코드를 읽고, 의문을 제기하며, 그 코드가 정말로 시스템에 포함되어야 하는지 결정하는 것입니다.
이러한 변화는 코드 리뷰에 대한 다른 접근 방식을 요구합니다. 팀이 어떻게 적응해야 하는지 소개합니다.
다른 사람이 보기 전에 코드를 온전히 자신의 것으로 만드세요
AI가 생성한 코드를 마치 낯선 사람이 브랜치에 커밋한 것처럼 리뷰해야 합니다. 이 차이가 중요합니다. 모든 줄을 직접 손으로 작성했을 때는 맥락을 자연스럽게 파악하고 있었습니다. 왜 루프가 0이 아닌 1부터 시작하는지 알고 있었죠. 이제 당신은 비인간적으로 빠르지만 명확한 질문은 전혀 하지 않는, 의욕만 앞선 계약업체를 이끄는 테크 리드(tech lead)에 더 가까워졌습니다.
그렇기에 셀프 리뷰(self-review)가 프로세스에서 가장 중요한 관문이 됩니다. 풀 리퀘스트(pull request)를 생성하기도 전에 한 걸음 물러나 까다로운 질문을 던지십시오.
코드가 아키텍처를 준수하고 있는가? 생성된 코드는 종종 학습 데이터에서 가져온 패턴을 사용하므로 팀의 컨벤션(convention)과 일치하지 않을 수 있습니다. 팀이 로직을 모놀리스(monolith)에 유지하기로 합의했음에도 불구하고 새로운 서비스를 생성하거나, 내부 로깅 표준을 무시하고 단순한 print 문을 사용할 수도 있습니다.
올바른 문제를 해결하고 있는가? AI 모델은 티켓의 예외 케이스(edge cases)를 이해하는 것이 아니라 프롬프트를 완료하는 데 최적화되어 있습니다. 만약 이슈 내용이 부분 환불 처리에 관한 것이라면, 생성된 코드는 해피 패스(happy path)만 다루고 정산 실패 처리는 사용자의 몫으로 남겨둘 수 있습니다.
더 적은 코드로 동일한 작업을 수행할 수 있는가? AI는 장황해지는 경향이 있습니다. 실제 로직을 가리는 방어적인 래퍼(wrapper), 불필요한 주석, 정교하지만 과한 에러 핸들링을 작성하곤 합니다. 구조가 반복되는 메서드, 아무런 용도가 없는 임포트(import), 값이 절대 변하지 않는 변수 등을 찾아내십시오. 노이즈를 제거하십시오. 에이전트에게 단순화 및 리팩터링(refactor)을 요청하면, 에이전트를 조종하는 방법도 배우게 됩니다. 어떤 제약 조건이 군더더기를 걷어내는지 발견하게 될 것입니다. 이러한 반복적인 다듬기 과정은 이제 당신의 업무 중 일부입니다. 풀 리퀘스트에는 당신의 이름이 적혀 있습니다. 모든 줄에 대한 책임은 당신에게 있습니다.
기계에게 스캔을 맡기되, 두뇌는 계속 가동하십시오
자동화된 리뷰 도구는 CI 파이프라인에 적합합니다. 최신 AI 기반 리뷰어는 인젝션 취약점과 같은 보안 위험을 표시하고, 처리되지 않은 예외 케이스를 찾아내며, 의존성(dependency)이 프로덕션에 반영되기 전에 오래된 버전을 잡아낼 수 있습니다. 확장성이 뛰어나며 지치지도 않습니다.
활용하십시오. 하지만 맹신하지는 마십시오.
이러한 도구에는 비즈니스 맥락이 부족합니다. 자동화된 리뷰어는 미들웨어가 다른 레이어에서 이미 새니타이제이션(sanitization)을 처리하고 있다는 사실을 모른 채, 문자열 연결을 사용한다는 이유로 데이터베이스 쿼리를 위험하다고 표시할 수 있습니다. 또한 사용 중인 라이브러리 버전이 중대한 변경 사항(breaking change)을 포함하고 있다는 사실을 모른 채, 커스텀 알고리즘을 라이브러리 호출로 재작성하라고 제안할 수도 있습니다. 이러한 제안은 패턴에 기반한 추측일 뿐, 제품에 대한 근거 있는 지식에 기반한 것이 아닙니다.
항상 피드백을 주의 깊게 읽고 결정하십시오. 자동화된 코멘트는 명령이 아니라 신호로 취급하십시오.
또한 실질적인
