
영상 링크: Vibes won’t cut it — Chris Kelly, Augment Code
채널명: AI Engineer
분위기(바이브)만으로는 부족하다 — Chris Kelly, Augment Code 핵심 요약
- AI 코딩이 기존 개발자들의 일자리를 대체할 것이란 과장은 실제 생산 시스템 경험 부족에서 비롯된 오해라고 지적함
- AI가 기존 코드베이스에서 30%의 코드를 생성하더라도 실제 영향력은 제한적이며, 대규모 시스템에서는 대부분의 아키텍처 결정이 이미 완료됨
- 코드 생성 자체보다 코드의 품질, 생산 시스템 운영, 유지보수와 문제 해결 등 소프트웨어 엔지니어의 본질적 역할이 중요하다고 강조
- 과거 DevOps, 클라우드 혁신 당시에도 “일자리 상실” 위기론이 제기됐으나, 결과적으로 기술직군은 더 가치 있는 역할로 전환됨을 사례로 듦
- AI가 코드 패턴을 모방해 생성할 수 있지만, 대규모 실제 서비스의 세부 특이점과 복잡한 의사결정까지는 도달할 수 없음
- 바이브 코딩(코드 검토없이 AI가 제시하는 코드 그대로 사용하는 방식)은 실제 프로덕션 품질의 소프트웨어에는 적합하지 않으며, “바이브”만으로는 신뢰성 있는 시스템을 구축할 수 없다고 단언
- 프로덕션 소프트웨어 개발의 본질은 코드의 아티팩트가 아니라, ‘안전하고 제대로 동작하도록 변경하는 일’에 있다고 설명
- AI 활용을 극대화하려면 명확한 코드 표준, 재현 가능한 개발환경, 효율적 테스트와 분명한 작업 범위 등 기존 ‘좋은 소프트웨어 엔지니어링’ 원칙이 필수
- 코드 리뷰 능력은 AI 코드 생성 시대에 더욱 중요성이 높아질 것이라 강조하며, 생산성 향상을 위한 프로세스와 조직적 툴 정비가 병행되어야 함
- AI가 마치 인간처럼 말하지만 실제로는 단순한 확률적 텍스트 생성임을 명확히 인지해야 하며, LLM의 출력을 맹신하지 말고 철저히 검증해야 한다고 조언
- AI 협업을 위한 실질적 팁으로 스타일 가이드 문서화, 반복적인 ‘계획-생성-수정’ 루프 수행, 차이(다름)와 품질의 구분 등에 대해 구체적으로 제안함
세부 요약 - 주제별 정리
AI 코딩이 일자리를 대체한다는 주장은 생산 시스템 경험 부족에서 비롯됨
- AI와 관련된 과장된 주장, 예컨대 “내년이면 우리 절반은 사라진다”라는 말은 실제로 대규모 프로덕션 시스템을 다뤄본 경험이 부족한 사람들의 이야기라고 지적함
- AI가 대규모 코드베이스 상에서 30%의 코드를 생성한다고 해도, 이미 모든 아키텍처·인프라 결정이 완료되어 있어 큰 변화는 일어나지 않음
- 메타(Meta) 엔지니어 사례를 들어, 새로운 버튼 추가 같은 작은 변경에도 수개월이 소요될 만큼 결정 여지가 적다고 분석
- 그러므로 AI가 코드를 많이 생성해도, ‘프로덕션 시스템’ 차원에서 변화와 혁신이 일어나긴 어렵다는 입장
AI가 생성하는 코드는 여전히 기존 프로그래밍의 연장선에 있음
- AI로 생성된 코드 역시 50년간 사용해온 기존 프로그래밍 언어 기반임
- 생성된 코드는 결국 기존처럼 운영 환경(프로덕션)에서 실행되어야 하며, 복잡한 시스템에서는 예기치 못한 문제가 자주 발생
- 이런 복잡성을 이해하고 관리할 수 있는 전문 소프트웨어 엔지니어의 역량이 여전히 필수임
신기술 도입 충격은 반복되었고, 기술자의 역할은 오히려 진화함
- DevOps, 클라우드 변환기(약 15년 전)에 “커리어의 종말”을 예견하는 말이 있었으나, 실제로는 많은 시스템 관리자와 개발자가 더 가치 있고 행복한 역할로 이동
- 역사적으로 ‘수준의 변화(추상화의 상승)’가 반복됐으며, 농기계 도입이 농장 자체를 없애지 않은 비유를 들어, 기술 진보는 본질적 필요를 없애지 않는다고 설명
바이브 코딩 방식은 신뢰성 있는 소프트웨어 구축에 적합하지 않음
- ‘바이브 코더’란 AI가 작성하는 코드를 별다른 검토 없이 ‘그저 동작하면 OK’로 여기는 사람을 뜻하며, 발표자는 이 방식을 비판
- 수많은 사용자가 있고, 기가바이트 단위 데이터가 오가는 ‘4 nines’ 수준(99.99% 가용성)이 요구되는 프로덕션 코드는 수많은 미묘한 결정이 관여됨
- 분위기(바이브, 즉 대충 동작함을 넘어서는)만으로는 대규모 소프트웨어 품질을 보장할 수 없다는 점을 강조
코드 생성과 소프트웨어 엔지니어링을 혼동해서는 안 됨
- 설계도(블루프린트)가 건축의 본질이 아니듯, ‘코드’ 역시 소프트웨어 엔지니어링의 일부 결과물에 불과
- 진짜 업무는 수많은 아키텍처, 패키지 선택, 실현 방식 등 다양한 결정에 있음
- AI의 코드 생성 능력과 생산 시스템 구축 능력은 구분해야 함
코드가 많을수록 오히려 위험이 커지며, “최고의 코드는 코드가 없는 것”이라는 원칙을 되새김
- Stack Overflow 창립자 Jeff Atwood의 명언(“The best code is no code at all”)을 인용
- 생성되는 코드 한 줄마다 유지보수·디버깅 부담이 커지므로, 코드 생성량 자체는 별 의미가 없고 오히려 최소화하는 것이 지향점
- 각종 소프트웨어 아키텍처(모놀리식, 마이크로서비스 등) 선택에는 수많은 세부 결정이 필요하며, LLM은 패턴 생성에는 강하지만 복잡한 실체적 결정은 불가능
복잡하고 고유한 시스템의 변이는 패턴매칭 너머에 존재하며, 긴급 상황에서는 전문가의 개입이 반드시 필요함
- 실제로 운영되는 소프트웨어는 ‘유일한’ 특이점(한 명만 이해할 수 있는 코드 등)이 많아 패턴매칭 기반 AI가 커버하지 못함
- “새벽 2시에 서비스가 죽으면 바이브는 문제를 해결하지 못한다”며, 궁극적으로 전문가의 직접적 문제 진단 및 조치가 필요함
소프트웨어 엔지니어의 본질적 업무는 ‘안전하게 변경하는 일’에 있으며, 이를 위해 다양한 도구와 프로세스가 필요함
- 20년간의 경험에서 개발자의 가장 중요한 역할은 ‘안전하게 소프트웨어를 변경하는 방법’을 찾는 것이었음을 밝힘
- 버전 관리, 테스트, 타입 시스템, 배포 전략 등 다양한 수단을 활용해 변경의 안전성을 확보해옴
- AI도 이러한 맥락(Context)을 충분히 제공받을 때에만 실질적 도움을 줄 수 있음
AI 코딩 생산성 혁신을 위해서는 엔지니어링 원칙을 지키고, 코드 리뷰와 협업 도구의 혁신이 병행되어야 함
- 코드 표준(standards)·관행 문서화, 재현 가능한 개발환경, 간단한 테스트 도구 준비, 명확한 작업 분리 등 필수
- AI 도입은 이상적으로 기존 소프트웨어 엔지니어링 ‘좋은 습관’과 일치해야 하며, 그렇지 않으면 생산성이 저하됨
- AI에게도 인간 엔지니어가 필요한 도구와 환경을 똑같이 제공해야 함
- 현재 프로페셔널 소프트웨어 엔지니어들이 AI 도입에 매우 보수적인 현상은 이례적이며, 추후 코드 리뷰 등 협업 방식 변화가 폭발적으로 이루어질 것이라 전망
- 파일 순서대로 차이를 보여주는 기존 코드 리뷰 도구의 한계를 지적, 실질적 구조 변화 중심의 리뷰로 진화 필요성 강조
- 조직 차원에서도 코드 리뷰 역량을 적극적으로 키워야 한다고 조언
LLM의 출력은 신뢰할 수 없으며, “인간처럼 말하지만 기계일 뿐임”을 항상 상기해야 함
- LLM 출력을 인간의 논리적 답변처럼 받아들이는 것은 위험
- 실제로 LLM이 “파일을 스캔했다”고 답했으나 이는 단순히 모방된 텍스트 패턴일 뿐이며, 그런 행동 자체는 이뤄지지 않음
- LLM은 그저 텍스트를 생성할 뿐, 실제로 말하는 대로 조작하거나 판단하지 않기 때문에 항상 비판적으로 검토하고 검증해야 함
AI와 협업할 때는 ‘다름’과 ‘품질’을 구분하고, 반복적 루프 기반 개발을 추천함
- AI가 출력하는 코드가 ‘나와 다를’ 뿐 품질이 떨어지는 것과는 구분해야 하며, 스타일 논쟁은 코드 스타일 가이드나 규칙 파일로 일원화하도록 조언
- 프로젝트 초기에 스택, 가이드라인 등을 명확히 문서화(예시: .rules 파일)하고, 매번 LLM에 컨텍스트로 제공하면 품질 향상
- ‘계획(Plan)-생성(Create)-수정(Refine)’의 반복 루프를 추천: 먼저 계획을 정리한 문서를 만들고, AI에게 생성하게 한 뒤 직접 수정하면서 점진적으로 완성
- 이 방식이 프롬프트 개선, 코드 품질 향상, 협업 효율에 모두 기여할 수 있다고 정리
결론: 직업 자체는 사라지지 않으며, AI와 함께 더 좋은 소프트웨어를 만들 수 있음
- 빠르게 진행된 발표를 마무리하며, 실제로 엔지니어 일자리는 사라지지 않을 것이라는 긍정적 시각을 전달
- AI 기반 생산성, 신기술에 대한 토론과 현장 실천을 독려하며 발표를 종료함