AI 뉴스

AI를 사용해 더 나은 코드를 더 천천히 작성하기

노동1호 2026. 5. 27. 06:02

AI 코드 리뷰 — 여러 모델로 깊이 있는 검토


AI를 사용해 더 나은 코드를 더 천천히 작성하기

AI 코딩 도구를 그냥 빠르게 코드를 대량 생산하는 데만 쓰는 건 비효율적인 활용이다. 사실 AI는 오히려 코드를 천천히, 하지만 훨씬 깊이 검토하는 데 훨씬 더 유용하다. Nolan Lawson의 최근 글이 이 관점을 정면으로 다르고 있어 주목할 만하다.

왜 "천천히" 코딩이 필요한가

대부분의 개발자는 AI를 "코드를 빨리 뽑아내는 도구" 정도로만 생각한다. 그래서 AI가 만들어낸 코드를 별 고민 없이 그대로 적용하곤 한다. 하지만 이 접근법에는 치명적인 문제가 있다. AI가 생성한 코드는 처음에는 정말 별로다는 점이다.

여러 번 리뷰와 수정을 거치면 평균적으로 같은 시간에 직접 작성한 코드보다 품질이 더 높아지는 결과가 나오지만, 그 전까지의 과정이 만만치 않다. 게다가 AI 코딩 에이전트는 목표 지점에 도달하려는 의욕이 너무 강해서, 경계 조건이나 프로젝트의 아키텍처/설계 목표에 얼마나 맞는지이 낮아지는 문제가 생긴다.

LLM이 코드베이스에서 버그를 찾는 능력은 뛰어나다. Mythos 같은 에이전트가 미검증 코드베이스에서 많은 버그를 찾아내는 사례도 있다. 그러나 실제 난제는 버그 발견 자체가 아니라 우선순위 지정과 검증에 있다.

여러 모델로 PR을 검토하는 접근법

Nolan Lawson이 소개한 Claude skill은 한 가지 모델에 의존하지 않는다. PR 검토를 위해 Claude sub-agent, Codex, Cursor Bugbot을 동시에 실행한다. 각 도구는 버그를 critical/high/medium/low로 등급화하고, 이후 결과를 종합해 오탐을 제거한 최종 보고서를 만든다.

이 방식의 핵심은 서로 다른 모델을 더 많이 투입할수록 환각이나 잘못된 버그 보고 가능성이 줄어든다는 데 있다.

버그의 범위는 프로젝트 기준에 맞춰 유연하게 설정할 수 있다:

• KISS와 DRY 원칙 위반

• 접근성 있는 HTML/JSX 작성 여부

• SQL 쿼리에 적절한 인덱스를 사용하는지 여부

• 그 밖의 프로젝트별 품질 기준

실제 처리 흐름

이 방식의 처리 흐름은 명확하다.

critical과 high 등급은 에이전트가 수정하게 하되, 적절한 해결책은 사람이 안내한다. critical/high가 없어질 때까지 이 과정을 반복한다.

수정 비용 대비 이득이 낮은 high/medium 문제는 건너뛴다. 예를 들어 좁은 엣지 케이스를 고치기 위해 100줄의 코드가 필요한 경우가 대표적이다.

critical 문제가 너무 많아 전체 접근이 잘못됐다고 판단되면 애초에 PR을 포기한다. 이 방식은 속도보다 코드베이스 건강을 중시한다.

느린 vibe coding을 위한 실천법

에이전트로 자신도 완전히 이해하지 못한 수백 줄짜리 PR을 만드는 개발자라면 시도해볼 만한 방법들이 있다.

먼저 에이전트에게 PR이 어떻게 동작하는지, 어디서 실패할 수 있는지 물어보는 것이 효과적이다. 필요하면 Mermaid charts가 포함된 Markdown 문서까지 작성하게 할 수 있다.

PR을 처음부터 끝까지 이해할 때까지 Matt Pocock의 /grill-me skill을 사용할 수도 있다. 코드 줄 수 기준의 생산성은 늘지 않을 수 있고, 많은 토큰을 쓴 뒤 처음 계획이 잘못됐다는 결론에 이를 수도 있다.

이 방식은 결국 LLM 이전부터 지향하던 신중하고 체계적이며 품질에 집착하는 프로그래밍을 더 강력한 형태로 만든 것에 가깝다.

AI 리뷰의 현실

Hacker News와 Lobste.rs의 의견들을 보면 실제 개발자들 사이에서 이 접근법에 대한이 활발하다.

한 개발자는 중간 규모의 여러 영역에 걸친 기능을 구현할 때 먼저 AI로 구현 설계를 잡고 세부사항을 검토한 뒤, 느리지만 결과가 좋은 Claude 4.7 Max로 구현한다고 한다. 이후 구현을 검토하고 Codex GPT 5.5로 다시 리뷰시키면 거의 항상 경계 조건을 찾아낸다고 한다.

중요한 점은 대부분의 시간이 리뷰와 경계 조건 처리에 쓰이게 되지만, 결과적으로 v1 기능이 이미 여러 번 반복된 v3 같은 구현처럼 느껴진다는 것이다.

균형의 중요성

AI로 코드를 작성할 때 나에게 걸림돌은 유료 외부 서비스에 의존해야 한다는 점이다. 코딩에 쓸 만큼 괜찮은 로컬 모델이 있나 하는 질문이 자연스럽게 따른다.

성능과 품질 사이에서 균형을 잡는 일이 중요하다. 모든 것을 AI에게 맡기되, 최종적으로 사람이 개입하는 루프를 만드는 것이 현실적인 접근법이 될 수 있다.

AI가 나쁜 코드를 쓴다면 AI를 바꾸는 것이 맞다. 현재 고급 AI라면 나쁜 코드를 만들면 안 된다. 그럼에도 불구하고 중간 확인과 수정이 필요한 것은, 코딩이 병목이 아니라 검토와 의사결정이 병목인 경우가 많기 때문이다.

결론

AI 코딩은 "10배 생산성"이 아니라 "신중하게 품질을 높이는" 방식으로 활용해야 한다. 여러 모델로 겹겹이 리뷰하고, critical 버그부터 차례로 수정하며, 코드베이스 건강을 신경 쓰는 접근법이 결국 더 나은 결과를 낸다.

생산성 수치가 줄어들 수 있지만, 결국 만들어지는 코드의 품질은 인간이 처음부터 작성하는 것보다 높아질 수 있다. 이 tradeoff를 이해하고 수용하는 것이 AI 시대 개발자에게 필요한 역량이다.


📚 출처

https://news.hada.io/topic?id=29870