연 6.5억 나가던 서버를 AI에게 52만 원 주고 7시간 만에 없앴습니다
보안 AI 기업 Reco의 엔지니어 1명이 Cursor AI로 7시간, 54만 원을 써서 서버 200대를 대체하는 코드 1만 3천 줄을 만들었습니다. 연간 6.7억 원 절감. 바이브 포팅의 대표 사례입니다.
매달 3,350만 원짜리 서버가 왜 필요했을까
Reco는 기업이 사용하는 클라우드 서비스(Google Workspace, Slack 등)의 보안을 감시하는 회사입니다. 매일 수십억 건의 이벤트 데이터를 분석해서 보안 위협을 탐지합니다. 이 분석에 JSONata라는 도구를 씁니다.
JSONata를 간단히 설명하면, 엑셀의 VLOOKUP이나 IF 함수와 비슷합니다. 복잡한 데이터 더미에서 원하는 정보만 골라내는 도구입니다. 보안 연구자들이 "이런 패턴이 보이면 경고해줘"라는 규칙을 JSONata로 작성합니다.
문제는 JSONata가 JavaScript로만 작동한다는 점이었습니다. Reco의 핵심 시스템은 Go(구글이 만든 프로그래밍 언어)로 돌아갑니다. JavaScript와 Go는 서로 직접 대화할 수 없어서, 중간에 번역기 역할을 하는 별도 서버가 필요했습니다.
이 번역 서버가 200대 이상으로 불어났습니다. 매번 데이터를 보내고, 번역하고, 결과를 돌려받는 과정에서 시간과 돈이 낭비됐습니다. 월 서버 비용만 $25,000(약 3,350만 원), 연간으로는 $300,000(약 4억 원)이었습니다.
Cloudflare의 성공이 힌트가 됐습니다
전환점은 Cloudflare의 사례였습니다. Cloudflare는 AI를 사용해 Next.js를 1주일 만에 다시 만들었다고 발표한 바 있습니다. 핵심 아이디어는 단순했습니다.
① 기존 프로그램의 테스트 코드(시험 문제와 정답지)를 가져옵니다
② AI에게 "이 정답지를 모두 맞추는 새 프로그램을 만들어"라고 시킵니다
③ AI가 코드를 쓰고, 틀리면 고치고, 전부 맞출 때까지 반복합니다
핵심은 기존 테스트(정답지)입니다. JSONata에는 공식 테스트 1,778개가 있었습니다. "이 입력을 넣으면 이 결과가 나와야 한다"는 정답이 이미 정해져 있었습니다. AI는 이 정답지를 보고 코드를 짜기만 하면 됐습니다.
7시간, 54만 원: Cursor AI가 만든 1만 3천 줄
Reco의 수석 엔지니어 Nir Barak은 AI 코딩 도구 Cursor를 열었습니다. 공식 JSONata 테스트 1,778개를 Go 언어로 변환하고, AI에게 "이 테스트를 전부 통과하는 Go 코드를 만들어줘"라고 지시했습니다.
위 스크린샷은 실제 Cursor AI 대시보드입니다. AI가 작성한 코드 비율이 89.1%, 에이전트가 수정한 횟수가 25,800건이라고 찍혀 있습니다. 사람이 한 일은 방향을 잡고, AI가 틀린 부분을 교정하는 것이었습니다.
AI 토큰 비용: $400 (약 54만 원)
생성된 코드: 13,000줄 (Go 언어)
AI가 작성한 코드 비율: 89.1%
통과한 테스트: 1,778개 (공식) + 2,107개 (추가 검증)
Before vs After: 서버 200대가 라이브러리 한 줄로
Before(왼쪽): Go 서비스가 매번 네트워크로 JavaScript 서버에 요청을 보내고, 결과를 돌려받았습니다. 서버가 200대 이상 필요했습니다.
After(오른쪽): Go 서비스 안에 gnata 라이브러리가 직접 들어갑니다. 별도 서버가 필요 없습니다.
비유하면, 매번 외부 번역사에게 전화해서 통역을 부탁하던 것을 통역 능력을 직접 배워서 바로 처리하는 것으로 바꾼 겁니다. 전화비(네트워크 비용)도 사라지고, 대기 시간도 없어졌습니다.
속도는 1,500배, 비용은 0원
| 작업 유형 | gnata (새 코드) | jsonata-js (기존) | 속도 향상 |
|---|---|---|---|
| 간단한 데이터 조회 | 42~95 나노초 | 170~230 마이크로초 | ~1,500배 |
| 복잡한 조건 비교 | 0.5~1.2 마이크로초 | 160~310 마이크로초 | ~25~90배 |
| 문자열 분할 처리 | 247 나노초 | 89 마이크로초 | ~360배 |
간단한 데이터 조회는 1,500배 빨라졌습니다. 기존에는 매번 서버 간 통신이 필요해서 최소 150마이크로초가 소요됐지만, 이제는 내부에서 바로 처리하니 42나노초면 끝납니다. 복잡한 작업도 25~90배 빠릅니다.
월 서버 비용 $25,000이 $0이 됐습니다. 여기에 불필요한 동시 처리 구조를 정리하는 추가 최적화로 연 $200,000을 더 절감해, 총 절감액은 연 $500,000(약 6.7억 원)입니다. 2주 안에 전부 완료됐습니다.
3일 동안 수십억 건, 오류 0건
"AI가 짠 코드를 바로 실서비스에 넣었을까?" 그렇지 않습니다. Reco는 기존 시스템과 새 시스템을 3일 동안 나란히 돌렸습니다. 수십억 건의 실제 이벤트를 두 시스템에 동시에 넣고, 결과가 다르면 알람이 울리도록 설정했습니다.
결과: 3일 연속 불일치 0건. 오히려 기존 JavaScript 코드의 버그를 발견하기까지 했습니다. 공식 스펙과 다르게 동작하는 부분을 AI가 만든 새 코드가 잡아낸 것입니다.
개발자 커뮤니티의 반응: 찬사와 냉정한 비판
이 사례가 Hacker News에 올라오자 64개의 댓글이 달리며 뜨거운 토론이 벌어졌습니다.
비판도 일리가 있습니다. 하지만 핵심은 테스트가 충분히 갖춰진 프로젝트라면, AI가 다른 언어로 재구현하는 것이 현실적으로 가능하다는 점입니다. 기존 Go 구현체 2개는 JSONata 2.x 스펙을 완전히 지원하지 않아 Reco의 요구사항에 맞지 않았습니다.
바이브 포팅을 시도해보고 싶다면
이 방법이 통하려면 한 가지 전제조건이 있습니다: 기존 코드에 충분한 테스트(시험 문제)가 있어야 합니다. 테스트가 곧 AI의 정답지이기 때문입니다.
• 공식 테스트가 수백 개 이상인 오픈소스 프로젝트
• 입력/출력이 명확한 데이터 변환 라이브러리
• 표준 프로토콜 구현 (정답이 명확한 분야)
아직 어려운 경우:
• 테스트가 거의 없는 오래된 코드
• 화면 디자인이 중요한 프론트엔드 코드
• 비즈니스 규칙이 문서화되지 않은 코드
gnata는 오픈소스(MIT 라이선스)로 공개되어 있습니다. Go 언어를 사용하고 있다면 직접 사용해볼 수 있습니다:
go get github.com/recolabs/gnata
Cursor나 Claude Code 같은 AI 코딩 도구에서 비슷한 접근을 시도해볼 수 있습니다. 핵심은 "테스트를 먼저 준비하고, AI에게 코드를 맡기는 것"입니다. Reco의 사례가 보여준 것처럼, 정답지가 명확할수록 AI의 결과물도 정확합니다.
Reco 블로그 원문에서 전체 기술 세부사항과 아키텍처 다이어그램을 확인할 수 있습니다.
관련 콘텐츠 — Easy클코로 AI 시작하기 | 무료 학습 가이드 | AI 뉴스 더보기