Andrej Karpathy 강연 후기

AI 시대, 소프트웨어 패러다임의 대변혁과 우리의 미래

by 김동린


https://youtu.be/LCEmiRjPEtQ?feature=shared


소프트웨어, 다시 한번 근본적인 변화의 기로에 서다


Andrej Karpathy의 "Software Is Changing (Again)" 강연은 단순한 기술 강연이 아니다. 대규모 언어 모델(LLM)이 몰고 올 소프트웨어 패러다임의 혁명적 변화를 심도 있게 통찰한다. 그는 지난 70년간 큰 변화 없었던 소프트웨어의 흐름이 최근 몇 년 사이 두 번의 근본적인 전환점을 맞았다고 강조한다. 이 변화는 소프트웨어를 만들고, 사용하고, 심지어 정의하는 방식까지 송두리째 흔들고 있으며, 특히 이 시기에 산업에 진입하는 이들에게는 전례 없는 기회가 될 것이라고 말한다.


1. 소프트웨어 패러다임의 진화: 코드에서 데이터, 그리고 자연어로

Karpathy는 소프트웨어의 역사를 세 가지 패러다임으로 나누어 설명하며, 현재의 변화가 얼마나 근본적인지 보여준다.


1.1. Software 1.0: 인간이 직접 지시하는 코드

오랜 기간 소프트웨어 개발의 주류였던 Software 1.0은 프로그래머가 C++나 파이썬 같은 언어로 컴퓨터에게 명시적인 명령을 내리는 방식이다. 우리가 흔히 아는 GitHub는 이러한 인간 작성 코드의 거대한 저장소이다. 이는 마치 요리사가 레시피의 모든 단계를 직접 작성하듯, 컴퓨터가 수행할 모든 작업을 상세히 코딩하는 것과 같았다.


1.2. Software 2.0: 데이터로 학습된 신경망

Karpathy가 몇 년 전부터 주창한 Software 2.0은 신경망의 '가중치(weights)'를 통해 컴퓨터를 프로그래밍하는 새로운 방식이다. 개발자가 코드를 직접 짜기보다, 방대한 데이터를 입력하고 AI 모델을 학습시켜 최적의 파라미터를 찾아낸다. Hugging Face와 같은 플랫폼이 이 모델들을 공유하며 Software 2.0의 GitHub 역할을 한다.

Tesla의 자율주행 시스템 '오토파일럿'은 Software 2.0의 대표적인 사례이다. 초기에는 많은 C++(Software 1.0) 코드가 있었지만, 신경망(Software 2.0)의 성능이 발전하면서 이미지 통합이나 시계열 분석 같은 복잡한 기능들이 신경망으로 흡수되었고, 이에 따라 기존 C++ 코드는 점차 줄어들었다. Karpathy는 이를 "Software 2.0이 Software 1.0 스택을 문자 그대로 집어삼켰다"고 표현하며, 데이터 기반 AI의 강력한 대체 능력을 강조했다.


1.3. Software 3.0: LLM을 프로그래밍하는 '자연어 프롬프트'

가장 최근에 등장한 패러다임인 Software 3.0은 대규모 언어 모델(LLM)을 '프롬프트'로 프로그래밍하는 방식이다. Karpathy는 LLM이 단순한 분류기를 넘어 '프로그래밍 가능한 새로운 컴퓨터'가 되었다고 말한다. 가장 놀라운 점은 이 '프로그램'이 파이썬 같은 코딩 언어가 아닌 자연어, 즉 영어로 작성된다는 것이다. 감성 분류 같은 작업을 위해 더 이상 복잡한 코드를 짜거나 신경망을 학습시킬 필요 없이, LLM에 자연어로 명령을 내리는 시대가 열렸다. 이는 '영어로 컴퓨터를 프로그래밍하는' 전례 없는 패러다임 전환이자, 누구나 컴퓨터를 다룰 수 있게 되는 거대한 변화를 예고한다.


2. LLM의 본질: 유틸리티, 팹, 그리고 1960년대 운영 체제

Karpathy는 LLM의 진정한 의미를 이해하기 위해 여러 비유를 제시하며, 이를 통해 LLM이 단순한 기술 도구가 아닌 새로운 컴퓨팅 시대의 근본적인 인프라임을 설명한다.


2.1. LLM은 '유틸리티'이다: 지능의 전력망

LLM은 전기, 수도와 같은 '유틸리티'와 유사한 특징을 가진다. OpenAI, Gemini, Anthropic 같은 LLM 개발사들은 막대한 자본을 투자해 LLM을 훈련시키는데, 이는 전력망을 구축하는 것과 같다고 볼 수 있다. 훈련된 LLM은 API를 통해 서비스되며, 사용량에 따라 요금을 지불하는 '종량제(metered access)' 방식으로 제공된다. 낮은 지연 시간, 높은 가동 시간, 일관된 품질 등 유틸리티에 요구되는 사항이 LLM에도 동일하게 적용된다.

최근 LLM 서비스 중단 사태를 언급하며 Karpathy는 "최첨단 LLM이 다운되면 세상에 '지능 브라운아웃(intelligence brownout)'이 발생한 것과 같다"고 경고한다. 전력망 불안정이 사회 마비로 이어지듯, LLM에 대한 의존도가 높아질수록 LLM의 불안정성은 전 세계적인 '지적 마비'를 초래할 수 있다는 날카로운 통찰을 보여준다.


2.2. LLM은 '팹(Fab)'과 유사하다: 지식의 중앙 집중화

LLM 구축에는 엄청난 자본 투자가 필요하며, 관련 기술 개발 및 연구 노하우가 소수의 LLM 연구소에 중앙 집중화되는 경향을 보인다. 이는 첨단 반도체 제조 기술이 소수 기업에 집중되는 '팹' 산업과 닮아 있다. 하지만 Karpathy는 LLM이 소프트웨어이기에 물리적인 팹보다 '방어하기 어렵다(less defensible)'는 차이점도 지적한다.


2.3. LLM은 '운영 체제'이다: 새로운 컴퓨팅 환경의 핵심

Karpathy는 LLM이 전기나 물 같은 단순 원자재가 아니라, 점점 더 복잡해지는 '소프트웨어 생태계'를 형성한다는 점에서 '운영 체제'와 가장 강력하게 유사하다고 주장한다. 윈도우/macOS와 같은 폐쇄형 OS와 리눅스 같은 오픈 소스 대안이 존재하듯, LLM 생태계도 소수의 폐쇄형 LLM과 '라마(Llama) 생태계'와 같은 오픈 소스 대안으로 나뉜다.

특히 Karpathy는 LLM을 새로운 종류의 컴퓨터이자 CPU로 비유하며, '컨텍스트 윈도우(context window)'는 메모리에 해당하고, LLM이 문제 해결을 위해 메모리와 컴퓨팅 자원을 오케스트레이션(orchestration)한다고 설명한다. 현재 LLM 컴퓨팅은 1960년대 초창기 운영 체제와 유사하다. 당시 고가였던 컴퓨터는 중앙 집중화된 클라우드에 존재했고, 사용자들은 '시분할(time sharing)' 방식으로 자원을 공유했다. 개인 컴퓨팅 혁명은 아직 LLM 분야에서 일어나지 않았지만, Karpathy는 Mac Mini와 같은 저비용 장치에서 일부 LLM 추론이 효율적으로 실행되는 것을 '개인 컴퓨팅의 초기 징후'로 해석하고 있다.

더욱 흥미로운 점은 LLM이 기술 확산의 방향을 뒤집는다는 것이다. 과거 혁신 기술은 정부나 기업이 먼저 사용하고 소비자에게 확산되었지만, LLM은 "달걀을 어떻게 삶는가"와 같은 일상적인 개인 사용 사례에서 먼저 폭발적으로 확산되었다. 챗GPT와 같은 LLM이 "수십억 명의 컴퓨터로 하룻밤 사이에 즉시 전송된" 전례 없는 현상은, 소수에게 집중되었던 컴퓨팅 능력이 이제 '우리 모두'의 손에 들어왔음을 의미한다.


3. AI 시대의 새로운 기회와 도전: 협력과 통제의 균형

LLM의 등장은 소프트웨어 개발과 활용 방식에 엄청난 기회를 가져오지만, 동시에 우리가 해결해야 할 새로운 도전 과제들도 제시한다.


3.1. '부분적 자율성 앱(Partial Autonomy Apps)'의 시대

Karpathy는 LLM 시대의 핵심 기회로 '부분적 자율성 앱'의 등장을 꼽는다. 챗봇과 직접 소통하며 코드를 복사-붙여넣기하는 것보다, 'Cursor'와 같은 통합된 LLM 앱을 사용하는 것이 훨씬 효율적이라는 것이다. 이러한 앱은 사용자 작업의 맥락을 자동으로 관리하고, 여러 LLM을 오케스트레이션하며, 특히 GUI(그래픽 사용자 인터페이스)를 통해 인간이 AI의 작업을 쉽게 '검증(verify)'하고 '감사(audit)'할 수 있게 해준다.

또한, LLM 앱은 사용자에게 '자율성 슬라이더(Autonomy Slider)'를 제공하여 작업의 복잡성과 중요도에 따라 AI의 개입 수준을 조절할 수 있도록 한다. 이는 인간이 '감독자'로서 AI의 생성물을 검증하고, 'AI를 통제 하에 두는(Keep the AI on the leash)' 전략이 필수적임을 의미한다. AI가 생성하는 방대한 결과물을 인간이 모두 검토하는 것은 불가능하므로, AI에게 소규모의 구체적인 작업을 지시하고 인간이 이를 빠르게 확인하는 점진적이고 반복적인 협업 방식이 중요하다고 Karpathy는 강조한다.


3.2. '바이브 코딩(Vibe Coding)'의 부상: 누구나 프로그래머가 되는 세상

자연어로 프로그래밍하는 능력은 '바이브 코딩'이라는 새로운 흐름을 만들었다. 이는 전문적인 코딩 지식 없이도 LLM의 도움을 받아 아이디어를 빠르게 구현하는 것을 의미한다. Karpathy는 Swift를 모르고도 iOS 앱을 만들고, 'Menu Genen'이라는 앱을 개발한 경험을 공유하며 바이브 코딩의 잠재력을 보여준다.

하지만 그는 'Menu Genen'을 실제 서비스로 만들기 위한 인증, 결제, 배포 등의 DevOps 과정이 코딩 자체보다 훨씬 어려웠다고 지적한다. 이는 LLM이 아직 이러한 복잡하고 '클릭 기반'의 작업을 직접 수행하는 데 한계가 있음을 보여주며, 앞으로는 이러한 작업까지 에이전트가 처리할 수 있도록 인프라를 재설계해야 할 필요성을 제기한다.


3.3. 에이전트를 위한 디지털 인프라 구축: AI 친화적인 환경으로의 전환

LLM은 이제 인간과 유사한 '에이전트'로서 디지털 정보의 새로운 소비자가 되고 있다. Karpathy는 robots.txt처럼 LLM에게 웹사이트 사용 규칙을 알려주는 lm.txt 파일이나, 마크다운 형식으로 LLM이 이해하기 쉬운 AI 친화적인 문서화의 필요성을 강조한다. 또한, "클릭"과 같은 인간 중심의 지시어를 Curl 명령처럼 에이전트가 직접 수행할 수 있는 명령어로 대체하는 노력(예: Vercel, Stripe)이 필요하다고 역설한다. 'get ingest'나 'deep wiki' 같은 도구들은 LLM이 기존의 복잡한 웹 인터페이스를 넘어 정보에 효율적으로 접근할 수 있도록 돕는 예시들이다.

3.4. LLM의 인지적 한계: '초인적'이면서도 '인간적'인 결함

LLM은 방대한 지식을 학습했지만, 여전히 여러 '인지적 결함'을 보인다.

* 환각(Hallucination): 사실과 다른 정보를 지어내는 경향이 있다.

* 들쭉날쭉한 지능(Jagged Intelligence): 특정 영역에서는 초인적이지만, 인간이라면 하지 않을 단순한 실수를 저지르기도 한다.

* 전향성 기억상실증(Anterograde Amnesia): 인간처럼 지속적으로 맥락을 학습하고 지식을 통합하지 못하며, 컨텍스트 윈도우는 '작업 메모리'처럼 매번 새롭게 정보를 주입해야 한다.

* 보안 취약성: 프롬프트 주입 공격이나 데이터 유출 위험이 존재한다.

이러한 한계를 극복하기 위해 Karpathy는 프롬프트를 더 구체화하고, 'AI를 통제 하에 두는' 전략을 통해 인간의 검증 루프를 최적화해야 한다고 강조한다. 교육 앱 사례처럼 AI가 '숲에서 길을 잃지' 않도록 명확한 범위와 제약을 설정하는 것이 중요하다고 말한다.


'아이언맨 슈트'를 입고 미래를 건설할 시간

Karpathy는 미래를 '아이언맨 슈트'에 비유하며, AI가 인간의 능력을 '증강(augmentation)'시키는 도구이자 동시에 점차 자율적인 '에이전트'로 진화할 것이라고 전망한다. 현재는 LLM의 불완전함을 고려하여 화려한 완전 자율 에이전트보다는, 인간의 검증 루프를 빠르게 만드는 '부분적 자율성 제품'에 집중해야 한다고 조언한다. 이러한 제품에는 '자율성 슬라이더'가 존재하여, 시간이 지남에 따라 제품의 자율성을 점진적으로 높여나갈 수 있어야 한다고 말한다.

Karpathy의 강연은 우리가 역사적인 소프트웨어 변혁의 시점에 서 있음을 일깨워준다. LLM은 단순한 기술이 아닌 새로운 컴퓨팅의 기반이자, 때로는 불완전하지만 강력한 지능 파트너이다. 지금은 AI를 이해하고, 그 한계를 인지하며, 동시에 그 잠재력을 최대한 활용할 수 있는 새로운 방식의 '프로그래머'가 되어야 할 때이다. 강연의 마지막 메시지처럼, "산업에 진입하기에 놀라운 시기"이며, 우리가 '아이언맨 슈트'를 입고 이 거대한 변화의 물결 속에서 소프트웨어의 미래를 함께 만들어 나갈 시간이다.


keyword
작가의 이전글드디어 찾아온 코스피 3000, 신중한 낙관론