AI를 사용해 더 나은 코드를 더 천천히 작성하기
Source: Hacker News
소개
많은 사람들은 AI‑보조 코딩이 가능한 한 빨리 저품질 코드를 내놓는 데만 유용하다고 생각합니다—거대한 PR, 최소한의 리뷰, 그리고 바로 배포. 실제로는 대형 언어 모델(LLM)이 고품질 코드를 더 천천히 작성하도록 도와줄 만큼 유연합니다.
품질에 LLM이 유용한 이유
Mythos가 우리에게 가르쳐 준 것이 있다면, LLM 에이전트가 버그를 찾는 데 정말 뛰어나다는 점입니다. 코드베이스에 여러 번 적용하면 많은 문제를 드러냅니다. 이는 다른 많은 모델에서도 마찬가지이며, Anthropic과 OpenAI의 최신 공개 모델도 정제되지 않은 코드베이스에서 상당한 양의 버그를 찾아낼 수 있습니다.
문제는 버그를 찾는 것이 아니라 우선순위를 정하고 검증하는 것입니다. 이를 해결하기 위해 저는 AI‑코드‑리뷰 논쟁에 관한 기사에서 영감을 얻어 Claude 스킬을 변형했습니다. 핵심 통찰은 PR 리뷰에 참여하는 모델이 다양할수록 환각이나 허위 버그 보고가 발생할 확률이 낮아진다는 점입니다.
다중‑모델 리뷰 스킬
요약된 워크플로우
- Claude 서브‑에이전트, Codex, 그리고 Cursor Bugbot을 실행해 PR을 스캔합니다.
- 보고된 각 버그를 critical(치명적), high(높음), medium(보통), low(낮음) 로 분류합니다.
- 결합된 결과를 검토하고, 오탐을 배제하기 위해 조사한 뒤 최종 보고서를 작성합니다.
“버그”의 정의는 자유롭게 커스터마이징할 수 있습니다. 제 기준에는 KISS와 DRY 원칙 준수, 접근 가능한 HTML/JSX, SQL 쿼리용 적절한 인덱싱 등이 포함됩니다.
실제로 이 스킬은 많은 버그를 찾아내면서 오탐은 거의 제로에 가깝게 유지합니다. 버그는 치명적인 보안·정확성 문제부터 사소한 성능 튜닝, 심지어 오해를 일으키는 주석까지 다양합니다.
일반적인 워크플로우
- 치명적·고위험 버그를 에이전트의 도움을 받아 수정하고, 남아 있는 버그가 없을 때까지 반복합니다.
- 보통 수준의 버그는 비용 대비 효과가 낮을 경우 건너뜁니다(예: 많은 코드를 추가해야 하는 좁은 엣지 케이스).
- PR을 포기합니다. 치명적인 버그가 다수 발견되면 근본적으로 접근 방식이 잘못된 것이므로 PR을 중단합니다.
이 기법을 사용한다고 해서 순수 개발 속도가 반드시 빨라지는 것은 아닙니다. 리뷰 과정에서 기존에 존재하던 버그가 드러나면 단위 테스트 작성 및 미세한 결함 수정 등 부수적인 작업이 발생합니다. 이런 느리고 체계적인 방식은 빠르고 저품질 출력을 강조하는 “10× 생산성” 신화와는 대조적이지만, 코드베이스를 더 건강하게 만들고 실패 모드를 깊이 이해하게 해 줍니다.
느린 “Vibe Coding” 스타일을 채택하는 방법
- 에이전트에게 PR이 어떻게 동작하고 어디서 실패할 수 있는지 물어봅니다.
- 문서화를 생성합니다(예: Mermaid 차트를 활용한 Markdown).
- Matt Pocock의 /grill‑me 스킬과 같은 도구를 사용해 PR을 끝까지 탐색합니다.
시간당 작성하는 코드 라인이 늘어나지는 않을 것이고, 계획이 잘못됐다는 것을 발견해 토큰을 소모할 수도 있습니다. 그러나 이 접근법은 신중하고 체계적이며 품질에 집착하는 사고방식과 일치합니다—즉, LLM이 등장하기 전 많은 개발자들이 추구하던 프로그래밍 스타일을 초강력 버전으로 만든 셈입니다.
결론
깊게 숨을 들이쉬고, 속도를 늦추며 이 다중‑모델 리뷰 기법을 시도해 보세요. 더 천천히 코드를 작성하면서도 품질을 높이는 것이 장기적인 프로젝트 건강에 만족스럽고 큰 도움이 될 수 있습니다.