AI 코딩의 80/20 법칙
AI가 10분 만에 내 기능의 80%를 작성했다. 코드는 깔끔해 보였고, 로직도 타당했다. 첫 시도에 바로 작동했다. 기분이 아주 좋았다.
하지만 AI는 처음 80%에는 유용하지만, 마지막 20%에는 무용지물이다.
AI는 해피 패스(happy path)에 최적화되어 있다. 모든 것이 제대로 돌아가는 세상을 가정하고 구축한다. 하지만 실제 소프트웨어는 모든 것이 잘못될 수 있는 세상에서 살아남아야 한다.
최근에 Sol Email Worker를 만들었다. AI는 20분 만에 핵심 로직, 스레딩, 라우팅을 생성해 냈다. 그건 쉬운 부분이었다.
마지막 20%에는 나의 실제 전문 지식이 필요했다:
• 중복 제거: 중복 메시지 처리. • 발신자 건너뛰기 로직: 본인이 보낸 메시지 처리를 방지. • 오류 복구: 예기치 않은 API 응답 관리. • 로그 출력: 새벽 2시에도 디버깅이 가능하도록 구성.
AI는 내가 요청한 대로 수행했다. 내가 아직 예외 상황(edge cases)을 깊이 생각하지 못했기 때문에, 그것들을 요청하는 데 실패한 것이다.
우리에게는 측정의 문제가 있다. 우리는 코드 라인 수와 해결된 티켓 수를 추적한다. 이러한 지표들은 빠른 80%에만 보상을 준다. 오류 처리나 null 체크에 소비되는 시간은 아무도 추적하지 않는다.
20%는 대시보드에 보이지 않지만, 바로 그곳에서 진짜 작업이 이루어진다. 나는 이제 프롬프트 투 쉽(prompt-to-ship) 시간을 추적한다. 이는 첫 프롬프트부터 안정적인 프로덕션 기능이 완성될 때까지의 시간이다. 이 수치는 항상 AI 생성 시간의 최소 4배에 달한다.
이제 나는 다음과 같이 작업한다:
- 모든 작업에 AI 생성 시간의 4배를 할당한다.
- 언해피 패스(unhappy path)를 위해 프롬프트를 작성한다. 네트워크가 실패하거나 API가 null을 반환한다고 가정하도록 AI에게 지시한다.
- 첫 번째 초안을 결승선이 아닌 시작점으로 취급한다.
30초의 생성 작업 후 오류 처리에 쏟은 3시간은 낭비가 아니었다. 그것이 진짜 업무였다. AI는 업무의 중심을 구조를 작성하는 것에서 코드를 실체화하는 것으로 옮겨 놓았다.
코드를 실체화하는 작업은 느리다. 여기에는 당신만의 구체적인 컨텍스트, 사용자, 그리고 코드베이스의 이력이 필요하다. 그것이 바로 전문 지식의 의미다.
AI는 익숙한 영역에서 작동한다. 하지만 예외 상황은 매번 낯선 영역이다.
다음에 AI 데모를 보고 감명받는다면, 데모가 끝난 뒤에 어떤 일이 벌어졌는지 물어보라.
출처: https://dev.to/amrree/the-8020-rule-of-ai-code-id
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi
