Software 1.0 → 2.0 → 3.0

Andrej-Karpathy가 제시하는 소프트웨어 진화 단계 프레임.

단계프로그래밍 단위예시
1.0사람이 직접 작성한 코드전통적 if/else, bash 스크립트
2.0데이터셋 + 아키텍처로 학습된 신경망이미지 분류 CNN, 자율주행 모델
3.0프롬프트 (컨텍스트 윈도우 채우기)LLM에 텍스트 한 덩어리 → 결과

3.0 단계의 핵심 통찰

컨텍스트 윈도우에 무엇을 넣느냐가 레버다.

  • 코드가 사라진 자리에 신경망이 들어간다 — 단순히 빨라지는 게 아니라 이전에는 불가능했던 것이 가능해진다
  • 적용 질문: “이 앱, 신경망 한 번 호출로 그냥 되는 거 아닌가?”

대표 사례

OpenClo 설치 (1.0 → 3.0)

  • 1.0: OS별 bash 스크립트 분기 처리 (brew / apt / Windows installer 등)
  • 3.0: 텍스트 한 덩어리를 에이전트에 붙여 넣으면 에이전트가 환경을 보고 디버깅까지 처리
  • MenuGen: OCR + 이미지 생성 API + 백엔드로 만든 앱
  • Nano-Banana 등장 후: 메뉴 사진을 Gemini에 주고 “음식 사진을 오버레이해 줘” 한 줄로 끝 → 앱 자체가 불필요

관련 개념

출처