When I reject AI code even if it works
AI 코딩 에이전트가 코드 작성을 가속화하면서 검토 부담이 병목으로 떠올랐다. 저자는 AI가 제안한 코드가 동작하더라도 확장성과 유지보수성을 고려해 거절하는 경우가 많다고 지적한다.
AI 코딩 에이전트의 도움으로 코드 구현 속도가 빨라졌지만, 그 결과 생성된 코드를 검토하는 인지적 부담이 새로운 병목이 되고 있다. 저자는 AI가 제안한 코드가 테스트를 통과하고 CI를 통과하더라도, 확장성이나 유지보수성 측면에서 부적합하다고 판단해 거절하는 경우가 많다고 밝힌다.
과거에는 개발자가 직접 코드베이스를 탐색하고 여러 해결책을 실험한 후 구현했기 때문에 PR 제출 시 높은 확신을 가질 수 있었다. AI 에이전트를 사용하면 큰 작업도 여전히 며칠이 걸리지만, 첫 번째 세션에서 생성된 코드를 모두 거절하고 다시 시작하는 경우가 많다. 두 번째 시도가 더 나은 이유는 모델이 아니라, 문제를 더 깊이 이해한 사람이 에이전트를 더 잘 이끌기 때문이다.
AI가 생성한 코드가 단순히 '동작한다'는 이유로 무비판적으로 수용되는 것은 위험하다. 엔지니어링은 적절하고 확장 가능하며 유지보수 가능한 솔루션을 구현하는 것이 핵심이며, 현재 AI 에이전트는 훌륭한 엔지니어의 지도 없이 자율적으로 지속 가능한 방식으로 작업을 수행할 수 없다. 따라서 AI 코드 리뷰와 함께 사람의 검토가 필수적이다.
댓글들은 AI가 생성한 코드를 이해하거나 통제할 수 없다면 거부해야 한다는 저자의 입장에 공감하면서도, 위험도가 낮은 내부 도구나 정적 웹사이트 같은 경우에는 AI 코드를 사용해도 괜찮다는 의견이 제시됐다. 또한, AI 코드로 인해 발생한 문제를 해결할 때 다른 엔지니어가 'AI가 작성했다'고 말하면 해고를 주장해야 한다는 강한 반응도 있었다. 핵심 쟁점은 코드의 작동 여부보다 유지보수성과 책임 소재에 있다.