테슬라 오토파일럿 개발자 안드레 카파시가 설명하는 AI 에이전트 엔지니어링, 바이브 코딩, 그리고 미래 프로그래밍 패러다임의 모든 것
AI 네이티브 개발자가 되기 위해 알아야 할 모든 것: 안드레 카파시와의 특별 대화
최근 AI 분야의 거장 안드레 카파시(Andrej Karpathy)가 주목할 만한 인터뷰를 진행했습니다. 현대 AI 개발의 아키텍트이자 테슬라 오토파일럿을 실제로 작동시킨 장본인인 그는 프로그래밍과 AI의 미래에 대해 깊이 있는 통찰을 공유했습니다. 이 글에서는 개발자라면 반드시 알아야 할 그의 핵심 메시지들을 정리했습니다.
핵심 요약
- 바이브 코딩에서 에이전트 엔지니어링으로의 진화: 작년 12월 AI 모델의 급격한 발전으로 코드 생성 능력이 획기적으로 향상되었으며, 이제 개발자는 에이전트를 활용해 더 복잡한 작업을 수행할 수 있게 되었습니다
- 소프트웨어 3.0 패러다임: 기존의 명시적 규칙 코딩(소프트웨어 1.0)과 신경망 훈련(소프트웨어 2.0)을 넘어, 이제는 프롬프팅과 컨텍스트 기반의 새로운 컴퓨팅 방식이 등장했습니다
- 검증 가능성이 핵심: AI가 자동화하기 쉬운 작업은 수학, 코딩 등 출력을 검증할 수 있는 분야이며, 이는 강화학습(RL)을 통해 학습되기 때문입니다
- 인간의 역할 재정의: AI가 더 많은 일을 할수록 개발자의 미학적 판단, 아키텍처 설계, 감독 능력이 더욱 중요해집니다
- 에이전트 네이티브 인프라 필요: 현재 대부분의 시스템이 인간을 위해 설계되었기 때문에, 향후 에이전트가 직접 작동할 수 있도록 인프라를 재설계해야 합니다
프로그래머가 느끼는 뒤쳐짐의 의미
안드레 카파시가 "프로그래머로서 이토록 뒤처진다고 느낀 적이 없다"라고 말한 것은 AI 도구의 성능 향상을 의미하는 것만은 아닙니다. 작년 12월이 명확한 전환점이었던 이유를 그는 이렇게 설명합니다.
초기의 코드 생성 도구들은 짧은 코드 덩어리는 잘 만들었지만 오류가 많아 수정이 필요했습니다. 그러나 최신 모델들은 달랐습니다. 계속해서 더 많은 코드를 요청해도 정확하게 생성되었고, 마지막으로 직접 수정한 코드가 언제였는지 기억나지 않을 정도였습니다. 이것이 바로 '바이브 코딩'의 시작이었습니다.
하지만 카파시가 지적하는 더 중요한 점은 이 변화가 단순히 개발 속도 향상을 의미하지 않는다는 것입니다. "이전에는 존재할 수 없었던 새로운 것들이 이제 가능해졌다"는 그의 말은 프로그래밍 패러다임 자체의 근본적인 전환을 시사합니다.
소프트웨어 1.0에서 소프트웨어 3.0으로: 새로운 컴퓨팅 패러다임
카파시는 컴퓨팅 역사를 세 가지 패러다임으로 나눕니다.
소프트웨어 1.0: 명시적 코딩의 시대
전통적인 프로그래밍에서 개발자는 명확한 규칙과 로직을 직접 코드로 작성합니다. 모든 가능성을 사전에 예상하고 구현해야 합니다.
소프트웨어 2.0: 데이터 중심의 머신러닝 시대
데이터세트를 구성하고 신경망을 훈련시킴으로써 "프로그래밍"합니다. 개발자의 역할이 데이터 엔지니어링과 모델 아키텍처 설계로 변합니다.
소프트웨어 3.0: 프롬프트 기반의 에이전트 컴퓨팅 시대
LLM이 프로그래밍 가능한 컴퓨터처럼 작동합니다. 개발자는 자연어 프롬프트와 컨텍스트를 제공하면, LLM이 "인터프리터"처럼 기능하여 디지털 정보 공간에서 연산을 수행합니다.
카파시는 이를 설명하기 위해 OpenClaw 설치 사례를 들었습니다. 소프트웨어 1.0 방식이라면 복잡한 bash 스크립트를 작성해야 하고, 모든 플랫폼과 컴퓨터 환경을 고려해야 했습니다. 하지만 소프트웨어 3.0 방식에서는 에이전트에게 설정 텍스트를 복사-붙여넣기하면, 에이전트가 자신의 지능으로 환경을 파악하고 지능적으로 작업을 처리하며 반복적으로 디버깅합니다.
또 다른 생생한 예시는 MenuGen 프로젝트 입니다. 카파시가 처음 만든 MenuGen은 식당 메뉴 사진을 업로드하면 OCR로 텍스트를 인식하고, 이미지 생성 API를 통해 각 음식의 사진을 생성하는 복잡한 웹 애플리케이션이었습니다. Vercel에 배포하고, 여러 서비스를 통합해야 했습니다.
그러나 소프트웨어 3.0 버전은 놀라웠습니다. Gemini 에이전트에게 메뉴 사진을 주고 "나노 바나나를 사용해서 메뉴 위에 항목들을 오버레이해 줘"라고 말하면, 에이전트가 메뉴 항목들을 정확히 픽셀 위에 렌더링한 이미지를 반환했습니다. 카파시의 원래 코드는 전부 불필요했습니다.
이것이 의미하는 바는 근본적입니다. 사람들은 기존 방식을 더 빠르게 하는 것이 아니라, 관점을 완전히 재구성해야 합니다. 이전에는 불가능했던 새로운 것들이 이제 가능해졌기 때문입니다.
검증 가능성: AI 자동화의 핵심 원리
카파시가 최근 글을 통해 강조한 가장 중요한 개념은 검증 가능성(verifiability) 입니다. 이것이 AI가 어떤 작업은 빠르게 자동화하고, 어떤 작업은 아직 어려워하는지를 설명하는 핵심 열쇠입니다.
기존 컴퓨터는 코드에서 명시적으로 지정할 수 있는 것을 쉽게 자동화합니다. 최신 LLM들은 검증할 수 있는 것을 쉽게 자동화합니다.
이렇게 작동하는 이유는 프론티어 AI 연구소들이 모델을 훈련할 때 강화학습(RL) 환경을 구축하기 때문입니다. 모델이 올바른 답을 생성하면 보상을 받습니다. 결과적으로 수학, 코드, 그리고 그 인접 분야처럼 답을 검증할 수 있는 영역에서는 모델의 능력이 정점에 달합니다.
그런데 흥미로운 현상이 나타납니다. 카파시는 "들쭉날쭉한 능력" 이라는 표현을 씁니다. 예를 들어:
- ChatGPT는 딸기에 몇 개의 씨앗이 있는지 묻는 간단한 질문에 틀렸습니다
- 최신 Opus 4.7 모델은 10만 줄의 코드베이스를 리팩토링하거나 제로데이 취약점을 찾아낼 수 있습니다
- 그런데도 "차를 세차하기 위해 50m 떨어진 세차장에 가야 할까요? 걸어가야 할까요?"라는 질문에는 "너무 가까우니까 걸어가세요"라고 답합니다
이것이 바로 검증 가능성의 중요성입니다. 모델들은 강화학습의 일부가 된 환경—즉 답이 검증 가능한 영역—에서만 뛰어난 성능을 보입니다.
또한 연구소의 관심도 중요한 역할을 합니다. GPT 3.5에서 GPT-4로 업그레이드될 때 체스 실력이 크게 향상된 것은 단순히 모델이 발전했기 때문이 아니라, GPT-4의 사전 훈련 데이터에 대량의 체스 관련 정보가 포함되었기 때문입니다. OpenAI가 의도적으로 이 데이터를 추가한 것입니다.
이는 중요한 함의를 갖습니다: 검증 가능하더라도, 연구소가 중요하지 않다고 생각하는 영역은 제대로 학습되지 않을 수 있습니다.
바이브 코딩 vs 에이전트 엔지니어링: 무엇이 다른가?
카파시는 작년에 '바이브 코딩'이라는 용어를 만들었지만, 이제는 더 구체적으로 에이전트 엔지니어링 이라는 표현을 선호합니다.
바이브 코딩 은 최저 기준을 올리는 것입니다. AI 도구 덕분에 누구나 코드를 작성할 수 있게 되었고, 모든 개발자의 기본 생산성이 향상되었습니다. 이는 민주화이며 훌륭한 발전입니다.
에이전트 엔지니어링 은 전문적 기준을 유지하면서 속도를 높이는 것입니다. 바이브 코딩 때문에 취약점을 도입하면 안 되며, 소프트웨어에 대한 책임은 여전히 개발자에게 있습니다. 차이는 더 빠르게 갈 수 있다는 것입니다.
카파시는 이를 설명하기 위해 10배 엔지니어 의 개념을 재정의합니다. 과거에는 개발 속도가 10배라는 의미였지만, 이제는 그 범위가 훨씬 더 확대됩니다. 에이전트 엔지니어링에 능숙한 사람들은 현재 10배보다 훨씬 높은 정점을 찍고 있습니다.
AI 시대의 개발자 역할: 디자인과 감독
흥미롭게도, 에이전트가 더 많은 일을 할수록 개발자의 특정 기술이 더 중요해집니다. 이것은 직관에 어긋나지만 현실입니다.
카파시가 제시한 예시를 보면 명확합니다. MenuGen 프로젝트에서 에이전트는 다음과 같은 실수를 저질렀습니다:
Google 계정과 Stripe 계정이 각각 다른 이메일 주소를 가지고 있었는데, 에이전트는 Stripe 이메일을 Google 이메일에 할당하려고 했습니다. 사용자를 연결할 유일한 식별자로 이메일 주소를 사용했기 때문입니다.
이것은 전형적인 "들쭉날쭉한" 실수입니다. 에이전트는 다양한 코딩 작업에서는 뛰어나지만, 시스템 설계의 근본적인 원칙을 놓칩니다.
따라서 개발자가 해야 할 일은 다음과 같이 변합니다:
- 상세한 사양 설계: 에이전트가 작동할 수 있는 명확한 요구사항과 제약 조건을 정의합니다
- 미학적 판단: 코드의 단순성, 우아함, 유지보수성 같은 품질 기준을 유지합니다
- 아키텍처 감독: "고유한 사용자 ID가 있어야 한다"같은 근본적인 설계 결정을 합니다
- 테스트와 검증: 에이전트가 생성한 것이 실제로 작동하는지 확인합니다
카파시는 이를 PyTorch와 NumPy의 API 세부사항으로 비유합니다. 과거에는 개발자가 keep_dims vs keep_dim, dim vs axis, reshape vs permute vs transpose의 차이를 모두 기억해야 했습니다. 이제는 에이전트가 이런 세부사항을 처리합니다.
하지만 개발자는 여전히 기본 개념을 이해해야 합니다. 텐서의 스토리지, 뷰(view)와 복사의 차이, 메모리 효율성 같은 것들은 필수 지식입니다. 마찬가지로 소프트웨어 설계에서도 기본 원칙은 여전히 개발자의 책임입니다.
미래 프로그래밍: 신경망이 호스트 프로세스가 되는 세상
카파시는 더 급진적인 미래를 상상합니다. 컴퓨팅 초창기, 사람들은 컴퓨터가 계산기처럼 보일지, 신경망처럼 보일지 정확히 몰랐습니다. 결국 계산기 경로를 택했고, 지난 70년간 고전적 컴퓨팅을 구축했습니다.
하지만 이제 신경망이 일종의 호스트 프로세스가 될 수 있습니다. CPU는 보조 프로세서가 됩니다. 신경망의 지능형 컴퓨팅이 대부분의 계산 자원(FLOPS)을 사용하고, 도구 사용과 결정론적 작업은 역사적 부속물이 됩니다.
이것은 매우 이질적인 미래입니다. 하지만 카파시는 "우리가 아마 점진적으로 그곳에 도달할 것"이라고 생각합니다. 이 진행 과정은 아직 미정입니다.
창업가를 위한 조언: 검증 가능한 영역에서 시작하라
창업가들이 안드레에게 묻는 질문은 현실적입니다: "연구소들이 수학과 코딩 같은 명백한 영역에서 이미 탈출 속도에 도달했는데, 우리가 무엇을 구축해야 하나요?"
카파시의 답은 놀랍게도 긍정적입니다. 검증 가능한 환경을 만들 수 있다면, 강화학습을 통해 자신의 모델을 미세 조정할 수 있습니다.
예를 들어, 도메인 특화 작업이라면:
- 그 작업에 대한 강화학습 환경을 설계합니다
- 수백 개, 수천 개의 예시를 생성합니다
- 모델을 미세 조정합니다
- 특정 영역에서는 범용 모델보다 훨씬 뛰어난 성능을 얻을 수 있습니다
하지만 근본적인 기술은 검증 가능성과 강화학습을 활용하는 것 입니다. 연구소가 관심 없는 분야라도 구축할 수 있습니다.
에이전트 네이티브 인프라의 필요성
카파시가 최근 몇 년간 강조하는 것은 에이전트 네이티브 설계 의 중요성입니다. 현재 인터넷의 대부분은 여전히 인간을 위해 설계되었습니다.
documentation을 예로 들면, 개발자는 여전히 "이 URL로 가세요", "이 버튼을 클릭하세요" 같은 인간 지향적인 지시를 읽습니다. 에이전트는 이것을 이해할 수 있지만, 비효율적입니다.
MenuGen을 배포할 때의 어려움을 생각해 보세요. 실제로 가장 큰 작업은 코드를 작성하는 것이 아니라 Vercel에 배포하는 것 이었습니다. DNS 설정, 여러 서비스 연동, 메뉴 구성 등 모든 것이 인간 중심의 UI를 통해야 했습니다.
카파시의 비전은 다음과 같습니다:
- 에이전트 첫 인프라: 모든 서비스가 에이전트가 직접 제어할 수 있도록 설계됩니다
- 자동화된 배포: LLM에게 프롬프트를 주면, 에이전트가 환경을 파악하고 자동으로 인터넷에 배포합니다
- 에이전트 대 에이전트 상호작용: 개인의 에이전트가 조직의 에이전트와 대화하면서 회의 일정 같은 것을 자동으로 조정합니다
이는 센서와 액추에이터로 세상을 다시 분해하는 것과 같습니다.
검증 불가능한 영역은 언제 자동화될까?
흥미로운 질문은: "이론적으로 모든 것이 검증 가능하게 만들어질까?"입니다.
카파시는 "궁극적으로 거의 모든 것이 어느 정도는 검증 가능하게 만들어질 수 있다"고 생각합니다. 글쓰기 같은 분야도 LLM 심사위단을 두어 합리적인 검증을 할 수 있습니다.
하지만 쉽고 어려운 것의 차이 가 중요합니다. 그리고 현재로서는:
- 쉽게 자동화되는 것: 수학, 코드, 그리고 대량의 강화학습 데이터가 있는 분야
- 아직 어려운 것: 미학, 취향, 단순성 같은 정성적 판단이 필요한 분야
미학에 대해서는 특히 흥미롭습니다. 카파시가 마이크로 GPT 프로젝트에서 "더 단순하게 코드를 작성해 줄 수 있나?"라고 요청했을 때, 모델들은 할 수 없었습니다. 마치 그 회로가 훈련 데이터의 범위를 벗어난 것 같습니다.
AI 시대에 배울 가치가 있는 것: 이해의 중요성
교육에 대한 질문으로 돌아가면, 지능이 저렴해지는 세상에서 여전히 깊이 배울 가치가 있는 것은 무엇일까요?
카파시가 최근 마음을 사로잡은 트윗이 있습니다: "생각은 아웃소싱할 수 있지만, 이해는 아웃소싱할 수 없다."
이것이 핵심입니다. 아무리 강력한 에이전트가 있어도, 개발자는 여전히:
- 무엇을 만들려고 하는지 알아야 합니다
- 왜 그럴 가치가 있는지 이해해야 합니다
- 에이전트에게 어떻게 지시해야 하는지 알아야 합니다
개발자가 이해하지 못하면, 아무리 좋은 도구도 방향을 잃습니다. 이것이 병목 현상 입니다.
카파시는 이런 이유로 LLM 지식 기반 에 흥분합니다. 이 도구는 정보를 다양한 각도에서 재투영하게 하고, 매번 새로운 통찰을 제공합니다. 자신의 모든 글과 생각을 위키 형태로 조직화하고, 그것을 계속 질문함으로써 이해를 깊게 합니다.
따라서 AI 시대에 배우는 것은:
- 표면적 사실보다는 개념: 특정 API를 외우기보다는 시스템 설계의 원칙을 이해합니다
- 비판적 사고: 에이전트의 아웃풋이 맞는지 판단할 수 있어야 합니다
- 도메인 지식: 자신의 분야에서 "무엇이 좋은 설계인지" 알아야 합니다
- 시스템 사고: 에이전트들이 만드는 결과물이 전체 시스템에서 어떻게 작동하는지 이해합니다
결론: 미래 개발자상
안드레 카파시와의 이 대화에서 나타나는 미래 개발자상은 매우 다릅니다.
더 이상 코딩 자체의 속도나 정확성이 차별화 요소가 아닙니다. AI가 그 부분을 담당합니다. 대신 미래의 개발자는:
- 강력한 감독자: 에이전트의 작업을 평가하고 방향을 설정합니다
- 깊이 있는 설계자: 시스템의 근본적인 구조와 원칙을 정의합니다
- 비판적 사고가: 에이전트의 아웃풋을 검증하고 개선합니다
- 지속적인 학습자: 기술이 빠르게 변하므로 핵심 개념을 계속 학습합니다
가장 중요한 것은 이해입니다. 개발자가 자신의 시스템을 진정으로 이해하지 못하면, 아무리 강력한 에이전트도 가치를 만들 수 없습니다.
지능이 저렴해지는 미래에서, 이해하는 능력이 가장 비싼 자산 이 될 것입니다. 이것이 바로 우리가 계속 배워야 하는 이유입니다.
원문출처: 전세계 1등 개발자랑 1:1 30분 대화 (안드레 카파시)
powered by osmu.app