-
AI 에이전트 활용에 능숙해지려면 코드 리뷰 실력이 중요함
- 대형 언어 모델은 코드 생성은 잘하지만 깊이 있는 판단력이 부족하여 잘못된 방향으로 시간을 낭비하는 경우가 많음
- 단순히 세부 문법만 지적하는 사소한 리뷰나 무비판적 승인인 도장찍기 리뷰는 AI 활용에 도움이 되지 않음
- 좋은 코드 리뷰는 구조적 관점을 포함해 더 나은 방법이 있는지를 따져보고, 복잡한 설계를 피하게 함
- 결국 AI 코딩은 “센타우르 체스” 처럼 인간의 판단과 기계의 생산성을 결합하는 모델이며, 코드 리뷰 능력이 곧 AI 활용 역량으로 이어짐
AI 에이전트와 코드 리뷰의 관계
- AI 에이전트를 올바르게 사용하는 것은 곧 코드 리뷰 과정임
-
코드 리뷰를 잘하는 사람은 Claude Code, Codex, Copilot과 같은 AI 코드 도구도 효과적으로 활용함
왜 코드 리뷰 실력이 중요한가
- 대형 언어 모델은 대량의 코드 생성에 능하지만, 숙련된 소프트웨어 엔지니어의 판단력은 아직 부족함
- 따라서 감독 없이 두면 불필요하거나 나쁜 설계로 많은 리소스를 낭비하는 경향이 있음
AI 에이전트의 한계와 설계 오류
- 예시로 VicFlora Offline 프로젝트 개발 중 Codex는 프런트엔드 코드를 역설계하는 데 많은 노력을 쏟았음
- 실제로는 더 단순한 데이터 접근법이 존재했음
- AI 에이전트 사용 시 한 시간에 한 번쯤은 뭔가 수상한 작업을 수행하는 경우가 발견됨
- 이런 문제 발견 시 직접 방향을 바꾸면 수 시간의 작업을 절감하는 효과가 있음
- 또 다른 앱 개발 경험에서, AI는 간단한 병렬 처리 작업에도 과도한 백그라운드 인프라 구축을 제안함
- 단순히 프론트엔드에서 논블로킹 방식으로 처리하면 충분한데도 복잡한 아키텍처를 도입하려 함
-
단순성을 유지하기 위해 계속해서 AI를 제어하는 것이 중요함
- 비전문가가 AI만 믿고 개발하면 코드베이스 복잡성과 비효율이 누적되어 오히려 문제 해결 능력이 급격히 떨어지는 현상이 발생함
코드 리뷰의 본질과 효과
- AI와의 협업은 열정적이지만 경험 부족한 주니어 개발자와 협업하는 것과 유사함
- AI는 시간이 지나도 판단력이 성장하지 않으므로 지속적인 관찰이 필요함
- 코드 리뷰의 가장 큰 실수는 작성된 코드만 보고, 더 좋은 대안이 있는지는 생각하지 않는 것
- 최적의 코드 리뷰는 구조적 관점에서 전체 시스템 문맥을 통합적으로 고려함
- 필요 없는 시스템을 새로 만들기보다는 기존 시스템을 재활용하는 방안이 우선임
- 세밀한 코드 스타일만 집착하는 'nitpicky' 리뷰어는 AI 도구의 진정한 활용을 놓칠 수 있음
- 'rubber-stamp' 리뷰어처럼 비판 없이 통과시키면 AI/주니어 개발자와 효과적 협업이 어려워짐
AI 도구 활용 기술에 대한 생각
- git 등 전통적인 도구는 명확한 구조와 조작법이 있으나, AI의 기본 구조는 불투명함
- AI는 거의 모든 종류의 연산을 수행할 수 있음
- 일부는 AI 도구를 전방위적으로 활용하는 것이 AI 활용 능력이라 보고 있음
- 실제로는 숙련된 사용자가 더 많은 가능성을 끌어낼 수 있음
- 아직까지는 AI 코드 에이전트가 다양한 작업을 도와줄 수 있지만 밀접한 감독이 요구됨
-
"센타우르 체스" 모델처럼, 숙련된 인간의 방향성과 AI의 제안이 결합되면 최적의 생산성 달성이 가능함
- AI 활용 실력은 결국 코드 리뷰 실력과 비판적 설계 판단력에 달려 있음
- 코드 리뷰 스킬이 좋을수록 agentic AI 도구 활용 효과가 극대화됨
최종 생각 및 전망
- AI 에이전트는 시간이 지남에 따라 점점 더 숙련된 엔지니어처럼 성장하는 듯한 느낌을 줄 수 있음
- 향후 몇 년 내에는 AI와 협업하는 경험이 중견 엔지니어와 협업하는 수준까지 진화할 수 있음
- 현재는 다양한 AI 도구(Codex, Claude Code, Copilot 등)를 활용해 실험하는 것이 바람직하며, 비판적 감독 능력이 가장 중요한 차별점
추가 의견
- Hacker News 등에서 “AI 에이전트가 어느 수준까지 쓸모가 있는가”에 대한 논의가 있었음
- 필자는 코드 리뷰만으로 AI가 리눅스 커널 수준에 기여할 수 있을 것이라 보지 않음
- 일부는 스타일과 이름짓기와 같은 코드 리뷰 방법이 중요하다는 의견도 있음
- 디자인 논의를 코드 리뷰에서 한다는 점에 대해 비판적 시각이 있지만, 필자는 이를 부정적으로 보지 않음