Karpathy 같은 AI 파워 유저들은 어떻게 코드베이스가 AI 슬롭(쓰레기 코드)으로 변질되는 걸 막을까?
How do Karpathy and other AI power users avoid turning their codebases into AI slop?
핵심 요약
AI 에이전트를 활용한 개발 시 코드 품질 저하를 방지하는 구체적인 방법론에 대한 고민과 조언을 다룹니다.
- 현실적인 조언 — 완벽한 코드를 기대하기보다 일단 작동하는 결과물을 만드는 것이 스타트업의 핵심임
- 에이전트 루프 — 무한정 기능을 확장하는 것이 아니라 명확한 '완료 조건'을 설정하고 좁은 범위에서 작업해야 함
- 기술 부채 — AI 이전에도 인간 개발자들이 만든 스파게티 코드는 흔했으며, 완벽한 코드보다 시장 검증이 우선임
- 개발 프로세스 — 계약(입출력, 테스트)을 먼저 확정하고 작은 단위로 구현하는 체계적인 접근이 필요함
저는 모든 개발 작업을 Claude code를 사용해서 합니다. 문제는 Claude code를 자동 모드로 실행하는데, 모든 코드 변경 사항을 검토할 시간이 없다는 겁니다. 코드를 계속 추가하다 보면 기능이 원래 의도에서 벗어나기 시작하고 결국 쓰레기(slop) 코드가 되어버립니다.
AI 전문가들은 이 문제를 어떻게 피할까요? Andrew Karpathy나 Claude Code 창립자 같은 사람들은 에이전트를 루프로 돌린다고 주장하는데, 그들이 어떻게 이 문제를 피하는지 이해가 안 갑니다.
“가드레일을 설정해라”, “훅을 사용해라”, “스펙을 더 잘 써라” 같은 모호한 조언은 하지 말아 주세요. 이미 다 하고 있습니다. OpenSpec을 사용해 스펙을 만들고, AI가 저를 최소 한 시간 동안 인터뷰하게 해서 최상의 스펙을 뽑아냅니다. 코드 품질과 코드 리뷰를 위해 병렬 에이전트를 실행하는 pre-commit 훅도 있습니다. Git에 엉망인 코드를 커밋하지 않으며, 완성된 각 스펙에 대해서는 포괄적인 코드 리뷰를 거친 후에만 커밋합니다.
제가 필요한 건 이 사람들이 실제로 어떻게 AI가 개발 워크플로우의 대부분을 수행하게 하면서도 기능 변질이나 저품질 코드 없이 유지하는지에 대한 구체적이고 단계적인 설명입니다.

