AI로 만든 서비스, 딸깍 한 번에 배포까지? 현실은 다릅니다

안녕하세요, 에그코드입니다.
"AI가 코드를 다 짜줬고, 제 컴퓨터에서는 완벽하게 돌아가요."
"그런데 배포만 하면 이상하게 안 돼요."
요즘 저희에게 들어오는 상담 중 이 패턴이 정말 많습니다.
그리고 이건 초보 분들의 잘못이 아닙니다.
AI는 코드를 잘 써주지만, '배포 환경'에 대해서는 거의 알려주지 않기 때문입니다.
개발자들 사이엔 이런 유명한 말이 있습니다.
"내 컴퓨터에선 되는데요? (It works on my machine)"
10년차 개발자도 한 번쯤은 겪는 문제입니다.
오늘은 AI로 만든 서비스를 배포할 때 초보 분들이 가장 자주 부딪히는 5가지 함정을 정리해드립니다.
1. 환경변수 — 로컬의 .env는 서버에 없습니다
내 컴퓨터 프로젝트 폴더에 있는 .env 파일.
API 키, DB 비밀번호가 여기 들어있는데 이 파일은 서버에 올라가지 않습니다.
.gitignore 때문에 깃에도 포함되지 않기 때문입니다.
배포 서버에서는 별도로 환경변수를 따로 등록해줘야 합니다.

2. 파일 경로 — 내 컴퓨터의 경로는 서버에 없습니다
AI가 짜준 코드에 C:\Users\... 또는 /Users/내이름/... 같은 경로가 남아있는 경우가 많습니다.
당연히 서버에는 그 경로가 존재하지 않습니다.
파일 저장, 업로드 기능이 배포 후 한순간에 망가지는 가장 흔한 원인입니다.
경로는 반드시 프로젝트 기준 상대 경로로 바꿔야 합니다.
3. 의존성 버전 — "내 컴퓨터엔 이 버전이 있어서..."
AI로 만든 서비스가 로컬에서 되는 이유는 내 컴퓨터에 이미 필요한 패키지가 설치되어 있기 때문입니다.
서버는 깨끗한 상태로 시작합니다.
package.json이나 requirements.txt에 버전이 정확히 명시되지 않으면, 서버가 다른 버전을 설치해 오류가 납니다.

4. localhost 하드코딩 — 서버에선 통하지 않습니다
AI가 짜준 코드에 http://localhost:3000 같은 주소가 섞여 있는 경우입니다.
이건 "내 컴퓨터 안에서만" 통하는 주소입니다.
배포 서버에서 이걸 그대로 두면 프론트엔드가 백엔드를 전혀 못 찾습니다.
주소는 환경변수로 분리하고, 배포 환경에선 실제 도메인을 주입해야 합니다.
5. 빌드 프로세스 — 개발 모드와 프로덕션 빌드는 다릅니다
로컬에서 돌린 npm run dev는 개발용입니다.
프로덕션에서는 npm run build 후 빌드된 결과물을 서버가 띄웁니다.
이 차이 때문에 개발 모드에서 쓰던 기능이 빌드 후 사라지거나, 환경변수 접두사 누락으로 값이 비는 일이 생깁니다.

마치며
AI로 만든 서비스가 배포에서 무너지는 건 초보의 실수가 아닙니다.
AI가 '배포 환경'이라는 영역을 아예 설명하지 않기 때문입니다.
저희 에그코드도 100건 이상의 외주 프로젝트와 자체 서비스를 운영하며 위 5가지를 모두 한 번씩은 겪었습니다.
오히려 이 경험 덕분에 배포 단계에서 어떤 부분을 먼저 점검해야 하는지 체크리스트로 정리해두게 됐습니다.

"딸깍" 한 번으로 만들어지는 시대에도, 배포는 여전히 환경을 이해하는 사람의 영역입니다.
이 글이 AI로 만든 서비스를 실제로 띄워보려는 분들께 작은 이정표가 되었으면 합니다.