모델의 융합: 새로운 소프트웨어 스택과 무한히 확장되는 추상화의 여정

방식의 경계를 넘어선 시대: Gemini 2.5 Pro, GPT-4, Claude 4 Sonnet 결과를 바탕으로 “소프트웨어가 소프트웨어를 집어삼키는 진화”라는 주제로, Andrej Karpathy의 Software 1.0, 2.0, 3.0 개념을 중심으로 에세이를 작성하세요. 아울러 현대 AI 제품들이 Software 1.0, 2.0, 3.0 방식을 어떻게 결합·활용하는지에 대한 별도 섹션도 포함하세요. 세 모델(Gemini 2.5 Pro, GPT-4, Claude 4 Sonnet)의 응답을 교차 편집(interleaved)하며, 각각의 출처도 명확히 표기하세요. Substack 에디터에 어울리는 가벼운 편집과 포매팅도 더해 주세요.
[Gemini 2.5 Pro]
소프트웨어는 단순히 세상을 집어삼키는 데 그치지 않고, 점점 자기 자신까지 삼켜가고 있습니다. 21세기는 거의 모든 산업이 소프트웨어 기반 솔루션으로 디지털화되고 재편되는 과정을 거쳐왔죠. 최근 Andrej Karpathy의 강연에서, 그는 이 진화를 Software 1.0, 2.0, 그리고 이제 막 시작된 3.0이라는 세 단계로 구분해 설명합니다. 이러한 변화는 ‘명확한 규칙과 절차’를 직접 프로그래밍하던 방식에서, ‘원하는 결과만 제시하면 그 과정은 소프트웨어가 알아서 처리하는’ 방식으로의 근본적인 전환을 의미합니다. 그리고 이 변화는 ‘창조’의 의미, ‘개발자’라는 역할 자체를 다시 정의하고 있습니다.
[GPT-4]
Software 1.0 사람이 직접 만드는 로직
Software 1.0은 우리가 익숙한 전통적인 프로그래밍 세계입니다. 인간 엔지니어가 일일이 코드로 명확한 지시사항을 작성하며, 알고리즘, 데이터 구조, 모든 동작 하나하나를 꼼꼼하게 설계하고 유지·보수합니다. 이 방식은 현대 IT 세계를 움직이는 원동력이지만, 인간이 감당할 수 있는 복잡도와 작업 속도에 한계가 있습니다.
- 주요 특징:
- 사람이 직접 코드를 작성함
- 예측 가능하고 해석이 쉬움
- 확장은 결국 사람의 시간과 노력에 달려 있음
이런 한계에도 불구하고, Software 1.0은 오늘날 우리가 사용하는 대부분의 디지털 인프라의 기반이 되고 있습니다.
[Claude 4 Sonnet]
소프트웨어가 소프트웨어를 삼키기 시작하다
사실 Software 1.0 시대에도, 소프트웨어가 자체적으로 복잡성을 흡수하는 모습이 이미 나타나기 시작했습니다.
- 컴파일러가 어셈블리 코드를 집어삼켜 머신코드로 바꿔주는 역할을 함
- 고수준 언어가, 메모리 관리 같은 복잡한 부분을 대신 처리해줌
- 프레임워크가 반복적이고 번거로운 코드와 공통 패턴을 알아서 해결해줌
- API는 내부 시스템의 복잡한 작동 원리를 몰라도 기능을 쓸 수 있게 해줌
[GPT-4]
Software 2.0 학습하는 시스템
Software 2.0은 소프트웨어 개발 패러다임에 큰 변화를 가져왔습니다. 이제 개발자는 일일이 규칙을 코딩하지 않고, 원하는 목표와 데이터를 제공하면 컴퓨터가 스스로 규칙을 학습해내는 구조입니다. 이 시기는 머신러닝, 딥러닝 같은 알고리즘이 인간이 직접 만들기 어려운 패턴과 해법을 스스로 찾아내는 시대이기도 합니다.
- 주요 특징:
- 직접 코딩한 규칙이 아니라, 데이터로 학습된 모델이 중심
- 논리가 스스로 생성되고, 때로는 불투명해서 해석이 쉽지 않음
- 확장성은 데이터와 컴퓨팅 파워에 따라 결정됨
Software 2.0은 비전, 자연어, 로보틱스 등 다양한 분야에서 혁신을 이끌고 있습니다. 하지만 동시에 ‘메타 소프트웨어’라는 개념도 등장시켰죠. 엔지니어는 이제 정답을 직접 코딩하기보다, 정답을 만들어내는 소프트웨어(즉, 학습 시스템)를 만드는 역할로 바뀌고 있습니다. 이게 바로 소프트웨어가 소프트웨어를 삼키는 진정한 시작, 재귀적 진화의 첫 단계인 셈입니다.
[Claude 4 Sonnet]
Software 2.0이 Software 1.0을 집어삼키다
이 변화는 소프트웨어 역사상 처음으로 큰 ‘전환점’을 만들어냅니다.
달라진 점:
- 사람이 데이터에서 중요한 정보를 직접 뽑아내던 작업(Feature Engineering) → AI가 스스로 중요한 정보를 찾아내는 방식(Automatic Feature Learning)
- 사람이 만든 규칙에 의존하던 시스템(Rule-Based Systems) → 데이터로부터 패턴을 자동으로 인식하는 시스템(Pattern Recognition from Data)
- 전문가의 지식과 규칙에 얽매였던 시스템(Expert Systems) → 처음부터 끝까지 데이터만 가지고 스스로 학습하는 방식(End-to-End Learning)
- 사람이 모든 과정을 설계하던 전통적 컴퓨터 비전(Traditional Computer Vision) → 이미지의 특징을 알아서 학습하는 합성곱 신경망(Convolutional Neural Networks)
- 통계적인 방식에 기반한 자연어 처리(Statistical NLP) → 문맥과 의미까지 이해하는 트랜스포머 아키텍처(Transformer Architectures)
전환의 단계:
- 기존 Software 1.0 방식으로는 한계에 부딪히는 복잡한 문제 영역을 찾는다(Identification)
- 원하는 결과를 보여줄 수 있도록 방대한 데이터를 수집한다(Data Collection)
- 문제에 맞는 신경망 구조를 설계한다(Architecture Design)
- 모델이 스스로 해답을 찾아내도록 학습시키는 과정을 거친다(Training)
- 기존에 사람이 만든 전통적 코드를, 학습된 신경망 모델로 교체한다(Deployment)
[GPT-4]
Software 3.0 스스로 만들고 진화하는 소프트웨어
Software 3.0은 지금까지 나온 소프트웨어 진화 중에서도 가장 혁신적인 변화입니다. 이 단계에서는 대형 언어모델(LLM, Large Language Model)과 생성형 AI가 코드를 직접 만들어내거나(코드 생성), 새로운 모델 자체를 설계하고, 나아가 인간의 개입 없이 시스템 전체를 주도적으로 구성하기도 합니다. 코드, 데이터, 그리고 인간의 의도가 경계 없이 섞여버리죠. 소프트웨어가 또 다른 소프트웨어를 만드는 것에서 더 나아가, 아예 자신을 만들거나 전혀 새로운 형태의 소프트웨어를 창조해내기 시작한 겁니다.
- 주요 특징:
- 코드 생성(Code Synthesis)과 시스템 설계(System Design)가 가능한 생성형 모델(Generative Model·예: GPT-4, Claude, Gemini 등)
- 스스로를 최적화하고 진화시키는 자가 개선 루프(Self-Improving Loops): AI가(모델이) 자기 자신을 재학습·최적화·고도화함
- 인간 엔지니어의 역할이 단일 창작자에서 큐레이터·감독자·협업자로 변모
Software 3.0 시대에는 ‘소프트웨어가 소프트웨어를 삼킨 뒤, 그 소프트웨어마저 집어삼키는’ 단계에 접어들었습니다. 대형 언어모델(LLM)은 학습 데이터 생성, 새로운 학습 알고리즘 설계, 자기 자신 및 자신이 만드는 시스템까지도 재귀적으로 개선해 나갈 수 있습니다. 이 모든 과정은 피드백 루프가 급격하게 가속되는 구조로, 명확한 설계에서 벗어나 인간과 AI가 함께 창의적인 결과물을 만들어내는 ‘협력적 생성(collaborative emergence)’으로 중심이 이동하고 있습니다.
[Claude 4 Sonnet]
Software 3.0가 Software 2.0을 집어삼키다
가장 최근의 ‘전환점’은 이미 시작되었습니다.
달라진 점:
- 사람이 일일이 설계하던 모델 구조(Manual Model Architecture Design) → AI가 스스로 최적의 신경망 구조를 탐색하는 방식(Neural Architecture Search)
- 수작업으로 맞추던 하이퍼파라미터 설정(Hyperparameter Tuning) → 자동화된 최적화 과정(Automated Optimization)
- 데이터를 직접 가공하던 특징 엔지니어링(Feature Engineering) → 다양한 능력을 스스로 학습하는 범용(foundation) 모델(Foundation Models with Emergent Capabilities)
- 각 작업마다 따로따로 학습시키던 방식(Task-Specific Training) → 소수의 예시만으로도 다양한 작업을 처리하는 퓨샷·제로샷 학습(Few-shot and Zero-shot Learning)
- 사람이 직접 배포하던 모델 운영(Model Deployment) → 전 과정을 자동화한 MLOps 파이프라인(Automated MLOps Pipelines)
🏗️ 새로운 AI 기술 스택: 실전 적용 사례
Software 1.0, 2.0, 3.0 방식이 실제로 어떻게 함께 쓰이는지 보여주기 위해, 최신 AI 기반 고객 서비스 플랫폼 사례를 살펴보겠습니다. 이 사례는 현대 AI 제품이 어떻게 설계되는지 대표적으로 보여줍니다.
📞 사례 분석: AI 고객 상담 에이전트
복잡한 문의도 여러 채널에서 처리할 수 있는 첨단 고객 서비스 시스템을 떠올려보세요. 이 시스템은 세 가지 소프트웨어 패러다임(1.0, 2.0, 3.0)을 전략적으로 조합해 활용하는 좋은 예시입니다.
Software 1.0 레이어: 믿을 수 있는 핵심 토대
🔧 전통적인 구성 요소:
- 데이터베이스 관리(고객 정보, 거래 이력)
- 인증 및 보안 시스템
- CRM, 결제, 재고 시스템 등 다양한 외부 시스템과의 API 연동
- 트래픽 분산 및 모니터링 인프라
- 규정 준수·감사 로그 관리
- 이슈 발생 시 처리 절차와 라우팅 로직
이런 요소들은 결과가 항상 예측 가능하고, 계획대로 동작해야 합니다. 예를 들어 고객의 결제가 실패할 경우, 시스템은 반드시 정확하게 계정 상태를 업데이트해야 하며, 금융 거래에서는 ‘확률적으로 맞을 수도 있다’는 결과가 결코 용납되지 않습니다.
Software 2.0 레이어: AI의 핵심 두뇌
🧠 학습된 구성 요소:
- 자연어 이해(Natural Language Understanding): 의도 분류, 정보 추출
- 대화 감정 분석(Sentiment Analysis)
- 문서 검색 및 의미 기반 탐색(Document Retrieval & Semantic Search)
- 다국어 지원을 위한 번역(Language Translation)
- 음성-텍스트 및 텍스트-음성 변환(Voice-to-Text, Text-to-Voice)
- 대화 패턴 기반 이상 거래 탐지(Fraud Detection)
이러한 기능들은 고객 상담 기록, 지원 티켓, 도메인별 방대한 데이터를 학습하는 과정을 통해 만들어집니다. 시스템은 모든 경우를 일일이 프로그래밍하지 않아도, 누가 환불을 문의하는지, 기술적 문제를 묻고 있는지 스스로 구분할 수 있습니다.
Software 3.0 레이어: 진화하는 인터페이스
🚀 생성형 구성 요소:
- 상황과 고객 이력에 맞춰 즉석에서 응답을 만들어내는 기능
- 맞춤형 연동을 위해 실시간으로 코드를 생성하는 능력
- 새로운 학습 시나리오를 자동으로 만들어내는 기능
- 성공 지표를 바탕으로 대화 흐름을 스스로 개선하는 기능
- 각 고객에 따라 진화하는 맞춤형 소통 전략
- 여러 고객 데이터를 넘나드는 메타러닝(Meta-learning)으로 전반적인 성능을 향상시키는 능력
이 레이어는 지금까지 없던 상황에도 새로운 해결책을 제시하고, 한 번도 만들어진 적 없는 맞춤형 응답을 창출하며, 심지어 자기 스스로 학습 과정까지 개선할 수 있습니다.
🔄 레이어 간 상호작용
이 세 가지 레이어가 유기적으로 맞물릴 때 진짜 가치가 드러납니다.
- 고객 문의:
- “정말 너무 속상해요! 제 딸 생일파티가 오늘인데, 어제 도착했어야 할 주문이 아직도 안 왔어요!”
- Software 1.0이 인프라 역할을 수행:
- 메시지를 보안 검증 후 전달
- 데이터베이스에서 주문 상태 조회
- 배송사 API에서 추적 정보 확인
- Software 2.0이 상황을 파악:
- 대화에서 높은 감정(불만, 긴급함) 감지
- 주문, 배송일, 생일파티 등 주요 요소(엔터티) 추출
- 문의 의도(배송 문의+불만) 파악
- 관련 정책 문서 검색
- Software 3.0이 응답을 생성:
- 생일파티 상황에 공감하는 맞춤 답변 작성
- 상황에 따라 구체적인 보상안 제안
- 고객의 감정에 맞춰 대화 스타일 조정
- 이 경험을 바탕으로 앞으로 생일 관련 배송 문제 대응까지 학습·개선
🎯 전략적 설계
이런 하이브리드 설계 방식은 다음과 같은 장점이 있습니다.
- 꼭 신뢰가 필요한 영역에는 Software 1.0의 예측 가능한 논리로 안정성을 보장합니다. (예: 금융 거래, 데이터 무결성 등)
- 고객 경험의 품질을 높이는 부분에는 Software 2.0의 패턴 인식을 활용해, 고객 의도를 정확히 파악하고 필요한 정보를 찾아냅니다.
- 서비스의 차별화가 중요한 순간에는 Software 3.0의 생성 능력으로, 상황과 맥락에 딱 맞는 개인화된 답변을 만들어냅니다.
[GPT-4]
의미와 시사점: 소프트웨어의 무한한 순환과 진화
이렇게 ‘소프트웨어가 소프트웨어를 집어삼키는’ 순환 구조는 다음과 같은 큰 변화를 가져옵니다.
- 혁신의 가속화: 각 레이어가 더해질수록 혁신의 속도와 범위가 기하급수적으로 커집니다. 과거에는 몇 달, 몇 년씩 걸리던 작업도 이제는 몇 시간 만에 생성·실험·배포가 가능합니다.
- 추상화의 심화: 개발자는 점점 더 높은 레벨의 목표, 윤리 문제, 감독 같은 본질적 가치에 집중하게 됩니다.
- 불투명성과 위험: 단계가 늘어날수록 시스템은 더 복잡해지고 해석은 쉬워지지 않습니다. 내부를 완전히 이해하거나 원하는 대로 통제하기가 점점 어려워집니다.
- 창의성과 협업의 확장: 엔지니어의 역할도 직접 작성하는 사람에서, 전체를 설계·조율하고, 협업하거나 프롬프트를 설계하는 사람으로 바뀝니다. 강력한 시스템을 올바른 방향으로 이끌어가는 일이 더 중요해집니다.
[Gemini 2.5 Pro]
이런 1.0에서 3.으로의 발전은 점점 더 높은 수준의 추상화로 끊임없이 도약하는 여정입니다. 과거에는 “어떻게 할 것인지”를 기계에 일일이 지시했다면(Software 1.0), 이제는 “무엇을 해야 할지” 예시로 보여주고(Software 2.0), 이제는 “우리가 원하는 결과”만 말하면 알아서 처리하는(Software 3.0) 방식으로 변화한 거죠.각 단계는 이전 단계를 모두 포괄합니다. 예를 들어, Software 3.0 시스템(LLM)은 Software 1.0 코드를 자동으로 만들어내거나, Software 2.0 모델의 설정까지 생성할 수 있습니다. 즉, 이건 ‘소프트웨어가 소프트웨어를 만드는’ 끝없는 순환 구조입니다. 만드는 도구 자체가 또 다른 도구를 만들어내는 현상이죠. 최종적으로 우리에게 주어진 과제는, 이렇게 점점 더 자율적이 되고 추상화의 경계를 넘어선 시스템들을 어떻게 관리하고, 검증하고, 올바른 방향으로 이끌 것인지입니다. 이 시스템이 만들어내는 소프트웨어가 인간의 의도와 가치에 반드시 부합하도록 하는 일이, 앞으로 점점 더 중요한 과제가 될 것입니다.
[Claude 4 Sonnet]
🎯 결론: 반복되는 미래의 흐름을 받아들이기
Karpathy의 프레임워크는 우리가 단순히 기술의 발전만 보고 있는 게 아니라, 컴퓨팅 자체의 본질이 완전히 바뀌는 ‘대전환’을 직접 목격하고 있음을 보여줍니다. 소프트웨어는 이제 세상만 먹는 것이 아니라, 자기 자신을 끝없이 집어삼키며 추상화와 능력의 소용돌이 속에서 스스로를 끊임없이 변화시키고 있습니다.
전체적인 흐름은 분명합니다. 새로운 소프트웨어 세대가 등장할 때마다, 이전 세대의 복잡성은 눈에 보이지 않게 감춰지고, 덕분에 전에는 상상조차 못했던 문제를 풀 수 있게 됩니다. 우리는 지금 Software 2.0에서 3.0으로 넘어가는 과도기를 살고 있으며, 이 변화의 물결은 단순한 기술 혁신을 넘어, 우리의 일하는 방식과 창작, 세상을 이해하는 방식에까지 깊은 영향을 미치고 있습니다.
이 변화의 시기를 지나는 동안 Karpathy의 프레임워크가 주는 핵심 메시지는 명확합니다. 이 흐름에 저항하는 건 소용없다는 것—‘먹는’ 현상은 멈추지 않습니다. 대신 우리는 각 패러다임의 강점과 한계를 이해하고, 다음 세대의 변화까지 미리 대비하며 이 물결 위에 올라타야 합니다.
미래는 각 세대의 소프트웨어를 자유자재로 넘나들고, 모든 세대의 힘을 활용하면서도, 다음 변화에 유연하게 적응할 수 있는 사람의 몫이 될 것입니다. ‘소프트웨어가 소프트웨어를 먹고, 또 그 위에 소프트웨어가 다시 먹는’ 이 끝없는 변혁 속에서, 그런 유연함이 최고의 경쟁력이 됩니다.
에디터 주: 이 글은 동일 프롬프트에 답한 여러 AI 모델의 대답을 자연스럽게 엮어, 각자의 강점을 살리면서도 일관된 흐름으로 읽히도록 구성한 것입니다. Software 3.0이 그 아래 단계의 레이어들을 집어삼키고 있지만, 에디터와 크리에이터, 그리고 개발자인 우리 역시 그런 Software 3.0을 ‘소화’하며 자신만의 방식으로 재해석하고 있습니다.
원문: Andrej Karpathy’s Software 3.0: Software Eating Software Eating Software
blog by ash에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.