AI는 10분 만에 80%를 작성했습니다. 나머지 20%는 6시간이 걸렸습니다.
AI는 몇 분 만에 해피 패스(happy path)를 구축할 수 있습니다. 하지만 실제 운영 환경의 현실을 구축할 수는 없습니다.
저는 AI 에이전트를 사용하여 47개의 기능을 추적했습니다. 두 가지를 측정했습니다:
- 생성 시간: 첫 번째 프롬프트부터 완성된 PR까지.
- 배포 시간: PR부터 실제 머지(merge)까지.
그 비율은 거의 항상 80/20입니다. AI는 작업의 80%를 빠르게 처리합니다. 하지만 마지막 20%가 가장 많은 시간을 잡아먹습니다.
AI는 당신이 준 프롬프트에 맞춰 코드를 작성합니다. 지연은 당신이 언급하지 않은 것에서 발생합니다. 당신이 생각하지 못하고 놓친 부분에서 발생합니다.
누락된 20%는 보통 다음 다섯 가지 범주에 속합니다:
- 빈 상태(Empty states): 사용자의 데이터가 없을 때 UI는 어떻게 보일까요?
- 에러 처리(Error handling): 네트워크가 실패하거나 API가 500 에러를 반환하면 어떻게 될까요?
- 도메인 예외 케이스(Domain edge cases): 지역 결제 형식이나 레거시 데이터와 같은 특정 규칙들.
- 성능(Performance): 50개의 행에서는 작동하지만 500만 개의 행에서는 깨지는 코드.
- 유지보수성(Maintainability): 오늘은 작동하지만 내일은 수정하기 어려운 코드.
저는 AI를 마법 지팡이처럼 대하는 것을 그만두었습니다. 대신 시간을 아끼기 위해 다음 네 가지 규칙을 사용하기 시작했습니다:
- 시간을 4배로 잡으세요. AI가 작업에 10분이 걸린다고 하면, 40분을 계획하세요.
- 언해피 패스(unhappy path)를 먼저 프롬프트하세요. 메인 로직을 작성하기 전에 빈 입력값이나 네트워크 실패를 처리하도록 AI에게 요청하세요.
- 실패 테스트를 먼저 작성하세요. AI가 코드를 생성하기 전에 무엇이 실패해야 하는지 정의하세요.
- '20% 저널'을 작성하세요. 기능의 마지막 부분이 왜 그렇게 오래 걸렸는지 기록하세요. 이는 패턴을 파악하는 데 도움이 됩니다.
AI는 타이핑 속도를 빠르게 해줍니다. 하지만 미리 앞서 생각하지 않는다면 배포 속도를 빠르게 해주지는 않습니다. 목표는 프롬프트를 빨리 쓰는 것이 아닙니다. 목표는 기능을 실제 운영 환경으로 배포하는 것입니다.
AI 도구를 열기 전에 문제에 대해 먼저 생각하세요. 사용자가 무엇을 잘못할 수 있는지 답할 수 없다면, 아직 코딩을 시작하지 마세요.
출처: https://dev.to/susiloharjo/ai-wrote-80-in-10-minutes-the-last-20-took-6-hours-5764
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi
