“지금은 소프트웨어 업계에 진출하기에 특별하고 흥미로운 시기다. 소프트웨어가 다시 한번 변하고 있기 때문이다. 소프트웨어는 지난 70년간 이토록 근본적인 수준에서 크게 변한 적이 없었다. 그러다 최근 몇 년 사이에 아주 빠르게, 2차례 변화했다. 그 결과 지금은 해야 할 일이 엄청나게 많고, 새로 작성하고 다시 작성해야 할 소프트웨어 역시 산더미처럼 쌓여 있다.”
안드레 카파시 전 테슬라 AI 책임자는 지난 17일 샌프란시스코 AI스쿨 기조 강연에서 이같이 말했다.
안드레 카파시는 이날 강연에서 현대까지 소프트웨어 산업의 시대를 3단계로 구분하고 전통적인 코드 작성 시대를 소프트웨어 1.0으로, 머신러닝과 딥러닝 신경망을 다루게 된 2012년부터 소프트웨어 2.0으로 정의했다. 그리고 2019년 트랜스포머 기반 생성형 AI를 다루게 되면서 소프트웨어 3.0 시대로 변화했다는 게 그의 분석이다.

안드레 카파시는 “몇년 전 나는 소프트웨어가 변하고 있으며 새로운 유형의 소프트웨어가 등장하고 있음을 감지했고, 당시 그것을 ‘소프트웨어 2.0’이라고 불렀다”며 “여기서 소프트웨어 1.0은 컴퓨터를 위해 직접 작성하는 코드인 반면, 소프트웨어 2.0은 기본적으로 신경망, 특히 가중치(weights)를 의미한다”고 설명했다.
그는 “소프트웨어 2.0은 우리가 코드를 직접 작성하기보다 데이터셋을 조정하고 최적화 도구를 실행해 신경망의 매개변수를 만들어 내는 방식에 가깝다”며 “당시는 신경망을 의사결정 트리와 같은 또 다른 종류의 분류기 정도로 여겼고, 지금의 허깅페이스는 소프트웨어 2.0 시대의 깃허브를 갖게 됐다”고 말했다.
그는 “최근까지 우리가 알고 있던 모든 신경망은 이미지로부터 카테고리를 분류하는 것처럼 고정된 기능의 컴퓨터와 같았다”며 “대형언어모델(LLM)이 등장하면서, 신경망이 프로그래밍 가능해졌고, 나는 이것을 독특하고 새로운 종류의 컴퓨터로 보고 이를 소프트웨어 3.0’이라는 새로운 명칭으로 부를 가치가 있다고 생각한다”고 강조했다.
그에 따르면, 소프트웨어 3.0 시대의 프로그래밍은 프롬프트다. 별도의 프로그래밍 언어를 사용하는 대신 영어와 자연어를 사용해서 LLM을 프로그래밍한다는 것이다.
가령, 감성 분류를 한다고 가정할 때 소프트웨어 1.0이면 파이썬으로 코드를 작성해 처리한다. 소프트웨어 2.0이면 신경망을 훈련시켜서 분류를 하게 한다. 소프트웨어 3.0은 LLM에 프롬프트를 입력하는 것으로 컴퓨터를 다룬다.
그는 “깃허브를 보면 단순한 코드뿐 아니라 영어가 잔뜩 섞여 있는 것을 많이 보게 된다”며 “새로운 종류의 코드가 점점 더 늘어나고 있으며, 이는 새로운 프로그래밍 패러다임일 뿐 아니라, 영어로 컴퓨터를 프로그래밍하고 있다는 건 경이롭다”고 말했다.
그는 테슬라 근무 시절 오토파일럿을 개발한 경험을 소개했다. 기본적으로 자율주행은 자동차의 입력 데이터가 소프트웨어 스택을 거쳐 조향과 가속이라는 출력으로 나오는 구조다. 당시 오토파일럿에 소프트웨어 1.0에 해당하는 C++ 코드가 엄청나게 많았고, 그 안에 이미지 인식을 수행하는 신경망이 일부 포함돼 있었다고 한다.
그는 “오토파일럿의 성능을 개선할수록 신경망의 역량과 크기는 커졌고, 그와 동시에 수많은 C++ 코드가 삭제됐다”며 “원래 소프트웨어 1.0으로 작성됐던 수많은 기능이 소프트웨어 2.0으로 이전된 것”이라고 말했다.
그는 “예를 들어, 여러 카메라의 이미지를 시간 흐름을 따라 종합해 하나의 정보로 엮는 작업 상당 부분을 신경망이 처리하면서, 엄청난 양의 코드를 삭제할 수 있었다”며 “소프트웨어 2.0 스택이 말 그대로 오토파일럿의 소프트웨어 스택을 잠식해 들어갔다”고 덧붙였다.

소프트웨어 1.0의 코드를 소프트웨어 2.0이 잠식하는 시기는 앞선 1.0 시대에 비하면 짧았다. 소프트웨어 2.0 시대로 넘어간 지 7년 만에 소프트웨어 3.0이 소프트웨어 1.0과 2.0의 코드를 잠식하고 있다. 그렇다고 모든 과거의 코드가 소프트웨어 3.0으로 뒤바뀌는 건 아니라는 게 카파시의 생각이다.
그는 “지금 우리는 똑같은 현상을 다시 목격하고 있으며, 새로운 종류의 소프트웨어가 기존 스택을 잠식하고 있다”며 “우리 앞에 완전히 다른 3가지 프로그래밍 패러다임이 놓여 있으며, 이제 막 업계에 진출하려는 사람이라면 이 세 가지 모두에 능숙해지는 것이 좋다”고 밝혔다.
그는 “각각의 패러다임마다 장단점이 다르기 때문에 어떤 기능은 1.0으로, 어떤 것은 2.0으로, 또 다른 것은 3.0으로 프로그래밍하고 싶을 수 있다”며 “신경망을 훈련시킬 지, LLM에 프롬프트를 날릴 지, 명시적인 코드를 작성할 지 결정을 내려야 하고, 이 패러다임들 사이를 유연하게 오갈 수 있어야 한다”고 강조했다.
그는 소프트웨어 3.0의 요체인 LLM을 전기, 반도체 공장, 운영체제(OS)로 볼 수 있다고 했다. 앤드류 응 스탠포드대학교 교수의 ‘AI는 새로운 전기’란 말을 인용하면서 “LLM은 현재 유틸리티의 속성을 가지고 있는 것처럼 보인다”고 말했다.
그는 “오픈AI, 제미나이, 앤트로픽 같은 LLM 연구소는 막대한 자본 지출로 LLM을 훈련시키는 데, 이는 전력망을 구축하는 것과 같다”며 “그리고 API를 통해 모두에게 그 지능을 제공하기 위해 운영 비용을 지출하고, 우리는 100만 토큰당 얼마를 지불하는 식의 종량제로 이 서비스를 이용하며, 낮은 지연 시간, 높은 가동 시간, 일관된 품질 등 유틸리티에 요구하는 것과 매우 유사한 요구를 합한다”고 설명했다.
전력 공급원을 전력망, 태양광, 배터리, 발전기 등으로 쉽게 전환하는 것처럼 LLM도 여러 모델 간에 쉽게 전환할 수 있다. LLM이 장애를 일으키자 전세계 사람들이 일을 하지 못하는 상황도 벌어졌는데, 이도 정전에 아무 것도 할 수 없게 되는 것과 비슷하다.
그는 “최첨단 LLM이 멈추는 건 세상의 ‘지능 정전’ 사태를 일으키는 건 흥미롭다”며 “우리가 이 모델에 더 많이 의존할수록 지구 전체가 더 어리석어지는 것”이라고 말했다.
그는 LLM에서 반도체 공장의 속성도 찾을 수 있다고 밝혔다. LLM 구축에 막대한 규모의 자본이 지출되고, 매우 빠른 기술 발전 속도 속에서 LLM 기업들은 내부 기술의 비밀을 점점 더 철저히 감추고 있다는 것이다.
그는 “물론 소프트웨어는 높은 가변성을 가져서 비밀을 방어하기 더 어렵긴 하다”며 “엔비디아 GPU를 사용해 소프트웨어만 다룬다면 이는 팹리스 모델과 같고, 구글처럼 자체 하드웨어를 만들어 훈련한다면 자체 팹을 소유한 인텔 모델과 같다고 볼 수 있다”고 덧붙였다.
그는 LLM의 성격을 표현하는 가장 적절한 비유를 ‘OS’라고 강조했다. 그는 “LLM은 전기나 물처럼 수도꼭지에서 나오는 상품이 아니라, 점점 더 복잡해지는 소프트웨어 생태계”라며 “그 생태계는 윈도우나 맥 OS 같은 소수의 폐쇄형 소스 공급자와 리눅스 같은 오픈소스 대안이 경쟁하는 기존 운영체제 시장과 매우 유사한 방식으로 형성되고 있다”고 말했다.
그는 “LLM이 새로운 종류의 OS란 생각으로 그림을 그렸을 때, LLM은 CPU에 해당하고, 컨텍스트 창은 메모리와 같다”며 “LLM은 문제 해결을 위해 이 모든 능력을 사용해 메모리와 연산을 조율하므로, LLM은 영락없는 OS”라고 덧붙였다.
소프트웨어 3.0의 시대 컴퓨터와 OS가 LLM이라면 소프트웨어 영역은 1960년대로 되돌아갔다는 게 그의 시각이다. 1960년대는 중앙 집중화된 대형의 메인프레임이 있고, 사용자는 폐쇄 네트워크로 연결된 터미널을 이용해서 중앙의 메인프레임을 다른 사용자와 시간을 나눠 순서대로 이용해야 했다.
그는 “LLM 연산은 여전히 매우 비싸다는 점에서 마치 1960년대에 와 있는 것 같다”며 “LLM은 클라우드에 중앙 집중화될 수밖에 없고, 우리는 네트워크로 상호작용하는 씬 클라이언트에 불과하며, 누구도 이 컴퓨터를 온전히 독점할 수 없다”고 말했다.
그는 “클라우드에서 실행되는 컴퓨터의 배치 차원 중 하나가 되는 시분할 방식을 사용하는 게 합리적”이라며 “경제성이 없기에 아직 개인용 컴퓨터 혁명은 일어나지 않았다”고 설명했다.
그는 “나는 챗GPT나 다른 LLM과 텍스트로 직접 대화할 때면 마치 터미널을 통해 OS와 대화하는 기분을 느낀다”며 “텍스트는 OS에 직접 접근하는 방식이고, 아직 범용적인 GUI는 발명되지 않았다”고 덧붙였다.
카파시는 LLM의 경우 기존 기술과 다른 양상을 보인다고도 했다. 정부와 기업이 첨단 기술의 개발자면서 첫 사용자가 된 후, 일반 개인으로 확산된 것과 정반대 상화을 보였다는 것이다. 즉 최신의 기술이 특정 사용자에게 독점되지 않고, 누구에게나 접근의 기회를 제공하도록 열려 있다는 게 그의 주장이다.
그는 “LLM은 그 순서가 뒤바뀌었으며, 초기 컴퓨터가 탄도 계산과 군사적 용도에 집중했다면, LLM은 ‘달걀 삶는 법’ 같은 것에 사용되고 있다”며 “실제로 기업과 정부는 우리보다 이 기술의 도입에 뒤처져 있다”고 말했다.
그는 “이 기술은 정부나 기업이 아닌 우리의 손에 쥐어져 있다”며 “이것은 정말 엄청난 일이며, 이 컴퓨터를 프로그래밍하기 위해 산업계에 뛰어들 시간이라는 것”이라고 강조했다.
LLM은 놀라운 능력을 보여주지만, 인간처럼 완벽하지 않다. 한 사람의 인간보다 훨씬 더 많은 것을 기억해 초능력을 가진 것 같지만, 때론 환각을 지어내고 수시로 똑같은 프로그래밍을 반복해야 한다.
카파시는 “LLM을 프로그래밍하기 전에, 이 존재가 무엇인지 잠시 생각해봐야 한다”며 “LLM은 사람에 대한 확률적 시뮬레이터이고, 자기회귀 트랜스포머이며, 인터넷의 모든 텍스트로 훈련됐기 때문에 인간과 유사한 심리가 나타난다”고 말했다.
그는 “LLM은 초능력을 가지기도 했지만, 환각, 불안정한 지능, 선행성 기억상실증, 보안 취약성 등 인지적 결함도 있다”며 “초인적 능력과 결함을 동시에 지닌 이 존재를 어떻게 프로그래밍하고, 그 결함을 피하면서 초능력을 활용할 수 있을지 고민해야 한다”고 강조했다.
그는 소프트웨어 3.0 시대에 여러 기회를 전망하면서 ‘부분 자율성 앱(Partial Autonomy Apps)’이라 부르는 영역의 기회를 언급했다. 코딩 보조 도구인 ‘커서’나 AI 검색 앱인 ‘퍼플렉시티’는 코드를 스스로 작성하거나 검증할 수 있고, 검색과 심층 연구를 스스로 수행할 수 있다.
이들 앱의 특징은 텍스트 위주인 LLM의 인터페이스에 GUI를 줘서 인간의 직관적 이해를 도와주고, 많은 정보를 패키지화하고, 여러 LLM을 조율한다. 인간은 작업의 복잡성에 따라 해당 작업에 대해 포기할 수 있는 자율성의 양을 조절할 수 있다.
그는 “AI는 생성을 담당하고, 인간은 검증을 당하는 이 루프를 최대한 빨리 진행하는 것이 좋다”며 “이를 달성할 수 있는 두 가지 주요 방법은 우선, GUI로 검증 속도를 크게 높이는 것이고, 에이전트 작업을 작고 점진적인 덩어리로 진행하는 것”이라고 말했다.
그는 테슬라에서 오토파일럿 기술을 개발했던 경험을 다시 화제로 꺼냈다. 테슬라 차량의 계기판은 오토파일럿 GUI를 제공함으로써 신경망이 보고 있는 것을 사람에게 보여준다. 테슬라 자율주행 차량이 완벽하게 주행할 수 있는 것 같지만, 여전히 자율주행 차량은 미완성을 평가된다. 구글의 웨이모도 완벽한 무인 조종처럼 보여도 모든 과정에 인간의 관여가 상당수 이뤄지고 있다.

그는 “2025년이 에이전트의 해라고 하는 얘기되지만 에이전트의 시대까지 꽤 오랜 시간이 걸릴 것”이라며 “인간이 관여해야 하며, 신중하게 해야 한다”고 강조했다.
그는 “토니 스타크의 아이언맨 슈트는 증강체이면서 동시에 조종가능하고, 동시에 자율적인 요원이기도 하다”며 “하지만 오류가 있는 LLM 등을 다루는 작업이라면, 아이언맨 로봇보다 아이언맨 슈트를 더 많이 만들 듯이 화려한 자율 에이전트 데모를 만드는 것보다 부분 자율 제품을 만드는 것이 더 중요하다”고 설명했다.
안드레 카파시는 소프트웨어 업계의 유행어인 ‘바이브 코딩’ 밈의 창시자다. 그는 “나는 스위프트 프로그래밍을 못하지만 바이크 코딩으로 iOS 앱을 순식간에 만들었다”며 “또 식당에 가서 메뉴를 훑어보다가 뭐가 뭔지 모르겠어서 바이브 코딩을 이용해 메뉴 사진을 찍으면 이미지를 생성하는 ‘메뉴젠(MenuGen)’이란 앱도 만들었다”고 말했다.
그는 “하지만 MenuGen에서 바이브 코딩 부분은 가장 쉬운 부분이었지만, 실제로 인증, 결제, 도메인 이름, 가상 배포 기능을 구현하는 데 많은 시간을 투자했다”며 “그건 정말 어려웠고, 이 모든 것이 코드가 아니었다”고 했다.
이어 “데브옵스 관련 작업은 브라우저에서 클릭하는 작업이이서, 정말 고된 작업이었고, 일주일이 더 걸렸다”며 “노트북에서 MenuGen 데모를 몇 시간 만에 구현할 수 있었는데, 실제로 구현하는 건 일주일이 걸렸다”고 덧붙였다.
그는 마지막으로 AI 에이전트를 위한 서비스를 만드는 방법을 몇가지 상상했다. 그는 “디지털 정보의 새로운 소비자이자 조력자가 등장했다”며 “예전엔 GUI를 통한 인간이나 API를 통한 컴퓨터만 존재했지만, 이제는 완전히 새로운 것이 등장했다”고 말했다.
그는 “에이전트는 컴퓨터이지만, 인간과 비슷한 면이 있어서, 마치 인간의 영혼과 같다”며 “인터넷에도 인간의 영혼이 존재하고, 그들은 우리의 소프트웨어 인프라와 상호작용해야 하므로 그들을 위해 새로운 것을 만들어야 한다”고 덧붙였다.
그에 의하면, 일반적으로 도메인에 robots.txt 파일을 두고 웹 크롤러에게 웹사이트에서 어떻게 동작해야 하는지 지시하거나 조언하는 것처럼 LLM에게 해당 도메인의 내용을 알려주는 간단한 마크다운 파일 ‘llms.txt’ 파일을 만들어 두는 것이다. 마크다운 파일은 LLM이 읽기 쉽기 때문에, LLM이 웹페이지의 HTML을 가져와 파싱할 때 오류를 줄일 수 있다.
그는 “현재 사람들을 위해 엄청나게 많은 문서가 작성돼 있고, 목록, 굵은 글씨, 그림 등은 LLM이 직접 접근할 수 없다”며 “이 문서를 LLM 전용으로 전환하는 서비스들이 나오고 있으며, 그들은 마크다운 기반 문서를 만들어주고 있다”고 말했다.
그는 “단순히 문서를 가져와 마크다운으로 표시하는 것은 쉽지만 그것만으로 충분하지 않으며, 실제로 문서를 변경해야 한다”며 “앤트로픽의 모델 컨텍스트 프로토콜처럼 에이전트와 직접 대화하는 아이디어는 매우 긍정적”이라고 강조했다.
그러면서 LLM 친화적인 형식으로 데이터를 수집하는 데 도움이 되는 여러 가지 작은 도구를 소개했다. 깃허브 URL을 ‘github .com’에서 ‘git-ingest.com’으로 변경하는 것만으로도 모든 파일을 하나의 거대한 텍스트로 연결시키고 디렉터리 구조를 생성할 수 있다. 또 DeepWiki처럼 원본 콘텐츠와 깃허브 저장소를 분석해 LLM 용 문서 페이지로 변경해주는 도구도 유용하다.
그는 마지막으로 “지금은 엄청난 양의 코드를 다시 작성해야 하고, 그 많은 코드는 전문가와 코더들이 작성하게 될 것”이라며 “앞으로 10년 동안 슬라이더를 증강에서 에이전트로 옮기는 모습을 보게 될 것이고 그 과정과 미래를 여러분 모두가 함께 만들어갈 수 있다”고 강조했다.
글. 바이라인네트워크
<김우용 기자>yong2@byline.network