인사이트 · 3분 · 05.07

Wiz가 50,000줄 Python 라이브러리를 20시간에 Go로 옮겼다 — '안 하기로 했던 프로젝트'의 ROI가 무너지는 순간

loopy vibecoder

핵심 요약 (TL;DR)

Wiz가 20년 묵은 Python PDF 라이브러리 5만 줄을 20시간 만에 Go 18,413줄로 옮겼습니다. 인간 추정 2~3개월 작업이 60~90배 단축. 핵심은 '속도 N배'가 아니라 '안 하기로 했던 프로젝트의 ROI 곡선이 무너진다'는 것입니다.

'이건 너무 비싸서 안 한다'가 깨진 날

5월 6일 SF에서 열린 Anthropic Code w/ Claude 2026 키노트에서 가장 충격적인 사례는 Wiz의 마이그레이션이었습니다. 클라우드 보안 회사 Wiz의 DSPM 팀이 PDF 파싱이라는 가장 까다로운 영역의 오픈소스 라이브러리를 통째로 다른 언어로 옮겼죠. PDF 명세는 수십 년 묵었고 구현체마다 미묘하게 다르기 때문에, 전용 Go 라이브러리는 사실상 존재하지 않았던 영역입니다.

숫자를 봅시다. pypdf 50,000줄에서 Go 18,413줄. Active development 10시간, 테스트 10시간, 합쳐 20시간. 인간이 한다면 2~3개월. 60~90배 단축인 거죠. 보너스로 fastText라는 C++ 20,000줄 라이브러리는 2일 만에 Go 5,434줄로 이식했고, 이 과정에서 Claude가 Go 어셈블리 코드까지 직접 작성해 100% 모델 검증을 통과했습니다.

진짜 메시지는 속도가 아닌 '기회 비용'입니다

Wiz의 팀 리드 Liran Benodis는 이렇게 말했습니다. 'This project would never have happened without Claude Code.' 같은 팀의 Software Engineer Liron Levin은 별도로 'It reminds me of the best developer in the world'라고 평했지만, 무게가 실리는 인용은 Benodis 쪽입니다.

왜 그럴까요. 우리가 평소 '이건 너무 비싸서 안 한다'라고 결정했던 마이그레이션과 재작성, 언어 전환 프로젝트들이 있을 거예요. 솔로·소규모일수록 그 리스트는 길어지죠. Python 추론 파이프라인을 Go로 옮기고 싶지만 6개월짜리라 미루던 것. 그 ROI 계산식 자체가 통째로 잘못된 건지도 모릅니다. 60~90배가 사실이라면, '안 한다'고 결정했던 일의 절반은 다시 검토 대상이 되는 거예요.

결과 검증은 어떻게 했나

이 부분이 마이그레이션의 핵심 리스크입니다. Wiz가 공개한 방식은 단순합니다. 원본 pypdf 결과를 정답지로 두고 Go 구현이 99% 일치하는지 확인했습니다. 며칠 만에 프로덕션 배포까지 갔고, 처리 속도는 2배 향상됐으며 자원 집약적 sandboxing은 제거됐습니다. Wiz 엔지니어 90% 이상이 Claude Code를 일일 사용 중이고, 상위 100명 컨트리뷰터의 merged PR이 1.5배로 늘었다는 사내 측정도 함께 공개됐습니다(Wiz 자체 측정, 방법론 미공개). 자세한 케이스는 Anthropic 공식 문서(claude.com/customers/wiz)에 정리돼 있습니다.

바이브코더에게 던지는 질문

지금 머릿속에 '언젠가는 옮겨야 하는데'라며 1년 넘게 미뤄둔 코드가 있을까요. 없다면 이 글은 흘려보내도 됩니다. 있다면 — 인간 2~3개월짜리 프로젝트를 20시간으로 잡았을 때 ROI가 어떻게 바뀌는지 한 번은 다시 계산해볼 가치가 있습니다. '안 하기로 한 결정'이 가장 비싼 결정일 수 있다는 것, 이게 Wiz가 보여준 새 천장입니다.

FAQ

Q. 99% 일치는 어떻게 측정한 건가요?
원본 Python pypdf의 출력을 ground truth로 두고 Go 구현 결과와 diff를 측정한 방식입니다. 어떤 테스트 셋·어떤 PDF 종류로 측정했는지는 공개되지 않았습니다. 본인의 마이그레이션에서는 도메인 특화 테스트 셋을 따로 준비하시는 게 안전합니다.

Q. 우리 팀도 60배 단축이 가능할까요?
Wiz는 입출력이 명확한 PDF 파싱 도메인이었습니다. 입출력이 결정적(deterministic)이고 검증 가능한 영역일수록 비슷한 단축이 가능합니다. UI나 비즈니스 로직처럼 출력이 모호한 영역은 단축률이 훨씬 낮을 수 있습니다.

Q. Go 어셈블리까지 Claude가 직접 짠다고요?
fastText 케이스에서 Claude Code가 Go 어셈블리 코드를 작성했고 100% 모델 검증을 통과했다고 Wiz가 공개했습니다. 다만 이건 일반 사용자가 매번 기대할 수 있는 결과는 아니고, 명확한 검증 기준이 있을 때 가능한 일입니다.

마이그레이션을 처음 시도하신다면 핵심은 '결과 검증을 어떻게 자동화할 것인가'입니다. 원본의 출력이 정답지가 될 수 있는 영역부터 시작하시는 게 좋습니다.

0

댓글 0

아직 댓글이 없습니다