6개월 전 Cursor가 짜준 코드, 오늘 열어보니 제가 남이었어요
6개월 전에 Cursor로 사흘 만에 완성했던 앱, 오늘 알림 로직 하나 바꾸려다가 3일을 통째로 날렸어요. 고친 줄 수는 딱 11줄이었는데요.
기억나는 사람이 아무도 없었어요
편의점 1+1 행사 앱 시리즈 기억하시는 분은 아시겠지만, 저 작년 초에 Cursor 쓰면서 체감 속도가 확 올라갔다고 했었어요. 기획에서 배포까지 3일. 그때는 진짜 마법 같았거든요.
그런데 지난주에 푸시 알림 발송 조건을 조금 바꿔야 했어요. 조건 하나 추가하는 거, 어렵게 보면 10분 작업이에요. 그런데 파일을 열자마자 멈췄어요.
변수 이름이 data2, tempArr, finalResult2였어요. 주석은 영어·한국어·그리고 가끔 일본어가 섞여 있었고요. 함수 하나가 150줄이 넘었는데, 그 안에서 API 호출, 상태 변환, UI 업데이트를 동시에 하고 있었어요. 저한테 이걸 설명해줄 수 있는 사람은 지구상에 저밖에 없는데, 저도 모르겠더라고요.
Cursor는 지금 돌아가는 코드를 줘요. 6개월 뒤에 읽히는 코드는 안 줘요.
AI는 맥락 없이 잘라 붙여요
이게 왜 이렇게 됐는지 복기해보면, 저도 공범이에요.
Cursor한테 기능 추가를 요청할 때 저는 맥락을 최소한으로 줬어요. “여기에 이 조건 추가해줘”라고 하면, AI는 기존 코드 스타일이 뭔지, 이 함수가 어디서 불리는지, 나중에 어떻게 확장될지 같은 걸 신경 안 써요. 그냥 지금 요청한 게 동작하게만 만들어요.
그러다 보니 프로젝트가 커질수록 코드는 여러 사람이 제각각 붙인 것처럼 됐어요. 실제로는 저 혼자였고, 조력자는 하나의 AI였는데도요. 커밋 로그 보면 한 파일에 비슷한 로직이 세 군데 흩어져 있기도 했어요. 아마 세 번 다른 시점에 같은 걸 따로 요청한 거겠죠.
3일 동안 한 일은 기능 추가가 아니라 기능 추가를 하기 위한 코드 읽기였어요. 수정 전에 구조를 머릿속에 넣는 데만 이틀 걸렸고, 실제 11줄 수정은 마지막 날 두 시간이었어요.
유지보수 비용은 출시 직후가 아니라 6개월 뒤에 청구서가 날아와요.
수치로 보면 더 아팠어요
이번 작업 로그를 나름 기록해뒀는데요.
- 파일 열고 구조 파악: 약 11시간
- 관련 함수 추적하며 흐름 그리기: 약 6시간
- 실제 수정 + 테스트: 약 2시간
- 배포 후 사이드 이펙트 수정: 1건 추가 발생, 30분
총 19.5시간 쏟아서 11줄 바꿨어요. 반대로 처음에 Cursor가 이 기능 만드는 데 걸린 시간은 체감 40분이었고요. 출시 당시 쌓인 기술부채가 이번 작업 하나에서만 약 18시간 이자로 돌아온 셈이에요.
도구 비용으로 치면 Cursor Pro 월 $20, 6개월이면 $120. 거기에 이번 3일 작업 기회비용까지 더하면, “빠르게 만들었다”는 말이 좀 씁쓸해져요.
그래서 지금은 프롬프트를 바꿨어요
저는 Cursor 쓰는 걸 그만두진 않았어요. 여전히 쓰고 있고, 빠른 건 사실이니까요. 다만 요청 방식을 조금 바꿨어요.
기능을 추가할 때 이제는 “이 함수는 나중에 어떻게 불릴 것 같다, 변수 이름은 의미 있게 지어달라, 이 파일에서만 할 수 있는 일을 명확히 해달라”는 맥락을 같이 넣어요. 응답 받고 나서 바로 머지하지 않고, 일단 제가 소리 내서 읽을 수 있는지 확인하는 단계를 추가했어요.
속도는 조금 줄었어요. 체감 20~30% 정도. 근데 지금 이렇게 하면 6개월 뒤의 저한테 욕 먹을 확률도 그만큼 줄 것 같아서요.
AI가 짠 코드를 다음 날 읽지 못하면, 그건 내 코드가 아닌 거예요.
빠른 게 느린 거일 때
솔직히 말하면, 출시 속도만 보면 AI 코딩 도구는 진짜 압도적이에요. 저 혼자 사흘에 앱 하나 뽑는 게 실제로 됐으니까요.
근데 그 이후에 뭔가 고쳐야 할 때, 그리고 그게 6개월 뒤일 때, 그 시간 비용은 생각보다 크게 돌아와요. 빠르게 만든 것들이 유지보수 시점에 가장 느려지더라고요.
이번 19.5시간이 저한테는 꽤 비싼 수업료였어요. 그나마 사이드 프로젝트라서 다행이었고, 만약 팀이 있었다면 그 코드 읽히는 데만 며칠 더 걸렸겠죠.
Cursor는 오늘의 속도를 주지만, 6개월 뒤 유지보수 비용은 당신이 내야 해요.