최근 Anthropic이 공개한 Claude C 컴파일러(CCC)를 LLVM 창시자 크리스 래트너가 직접 분석한 글이 화제입니다. 결론부터 말하면, AI 코딩 에이전트는 단일 함수를 뚝딱 만들어주는 수준을 넘어 프론트엔드-IR-백엔드를 아우르는 대규모 시스템 엔지니어링을 수행할 수 있음을 입증했습니다. x86, RISC-V, AArch64까지 복수 아키텍처를 지원하는 컴파일러를 '원샷'으로 구성해낸 것은, 불과 2년 전만 해도 상상하기 어려운 일이었죠.
하지만 래트너의 분석에서 진짜 중요한 건 성취가 아니라 한계입니다. CCC는 LLVM과 GCC라는 수십 년치 '교과서적 지식'을 훌륭하게 모방했지만, 테스트 스위트를 통과하는 데 과적합(overfitting)하는 경향을 보였습니다. 범용 IR 대신 어셈블리 텍스트를 재파싱하는 구조적 결함, 시스템 헤더 처리를 생략하고 필요한 부분만 하드코딩하는 편법—이 모든 것이 '테스트를 통과하면 된다'는 LLM 특유의 분포 추종(distribution following) 전략에서 비롯된 것입니다. 래트너는 이를 두고 "기존 개념을 조립하고 번역하는 데는 탁월하지만, 완전히 새로운 추상화를 발명하는 '개념적 도약'에는 이르지 못했다"고 평가했습니다.
이 분석이 우리 팀에 던지는 메시지는 명확합니다. 구현(implementation)은 AI 네이티브 태스크로 급격히 이동하고 있고, 엔지니어의 핵심 역량은 '무엇을 만들 것인가'와 '어떻게 구조화할 것인가'를 판단하는 설계 영역으로 옮겨간다는 것입니다. 소프트웨어 구축의 한계 비용이 낮아질수록, 역설적으로 비전과 판단력(래트너의 표현을 빌리면 'Taste')의 가치는 올라갑니다.
이 흐름을 현장에서 체감한 사례도 있습니다. 한 주니어 게임 개발자가 velog에 올린 경험담이 인상적이었는데요. XPBD 기반 SoftBody 구현을 AI와 함께 이틀 만에 끝낸 경험을 공유하면서도, 언리얼 엔진 프로젝트를 통째로 AI에 맡겼다가 "내가 코드를 통제하는 게 아니라 AI가 만든 구조에 끌려다니고 있다"는 사실을 깨닫고 중단했다고 고백합니다. 이 개발자가 내린 결론은 간결하지만 정확합니다. "구현을 맡기는 것은 효율이다. 판단을 맡기는 것은 의존이다."
여기서 'vibe coding vs. engineering' 논쟁이 자연스럽게 등장합니다. Dev.to에서 Emre Erdin이 정리한 분석 글은 이 경계를 잘 보여줍니다. 그는 마이크로서비스 프로젝트에서 LLM이 제안한 REST 폴링 방식을 그대로 채택할 뻔했지만, 기존 시스템에 이미 메시지 큐 인프라가 있다는 맥락을 인간 엔지니어만이 판단할 수 있었다고 회고합니다. 코드가 '동작'하는 것과 '올바른' 것 사이의 간극—그것을 메우는 것이 엔지니어링이고, AI는 아직 그 간극을 스스로 인식하지 못합니다.
그렇다면 AI-First 팀을 운영하는 입장에서 워크플로우를 어떻게 재설계해야 할까요? 저는 팀원들에게 AI 도구를 다섯 가지 레이어로 통합하라고 가이드합니다. ① 지식 검색(코드베이스·문서·의사결정 이력을 AI로 검색해 컨텍스트 복원 시간을 줄이고), ② 설계 탐색(대안 아키텍처를 AI에게 제안받되 최종 판단은 인간이), ③ 구현 위임(보일러플레이트·리팩토링·언어 변환 등 기계적 작업을 AI 어시스턴트에게), ④ 테스트·리뷰 보조(AI가 엣지 케이스와 diff 요약을 먼저 생성해 리뷰어의 피로를 줄이고), ⑤ 워크플로우 자동화(PR 설명 생성, 릴리스 노트 작성, 상태 보고 등 반복 작업 제거). 핵심은 AI가 '더 많은 일'을 하게 하는 것이 아니라, 인간이 '더 나은 일'에 집중할 수 있도록 마찰을 제거하는 것입니다.
CCC 사례가 입증한 것처럼, AI는 이미 컴파일러 수준의 시스템도 조립할 수 있습니다. 하지만 '조립'과 '설계'는 다릅니다. 테스트를 통과시키는 것과 올바른 추상화를 발명하는 것은 다릅니다. AI가 코드를 짜는 시대, 개발자의 진짜 일은 코드 너머에 있습니다. 시스템의 방향을 정하고, 아키텍처의 경계를 긋고, AI가 생성한 결과물의 맥락 적합성을 검증하는 것—이것이 'AI가 대체할 수 없는 마지막 1마일'이고, 우리가 팀 리빌딩에서 가장 먼저 강화해야 할 역량입니다.
래트너는 글 말미에서 "잘 구조화된 지식은 AI가 증폭시키고, 문서화되지 않은 시스템은 AI가 배척한다"고 경고합니다. 이 말을 뒤집으면, 명확한 아키텍처 문서와 설계 원칙을 갖춘 팀일수록 AI의 레버리지를 극대화할 수 있다는 뜻입니다. AI-First 시대의 경쟁력은 AI 도구를 '얼마나 많이 쓰느냐'가 아니라, AI가 증폭시킬 만한 '구조화된 판단력'을 팀 안에 얼마나 축적했느냐에 달려 있습니다. 코딩은 AI에게, 설계는 우리에게—이 분업이 자연스러워지는 팀이 결국 살아남을 겁니다.