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 → Nano Banana (3.0의 극단)
- MenuGen: OCR + 이미지 생성 API + 백엔드로 만든 앱
- Nano-Banana 등장 후: 메뉴 사진을 Gemini에 주고 “음식 사진을 오버레이해 줘” 한 줄로 끝 → 앱 자체가 불필요
관련 개념
- Neural-Computer — 3.0의 극단 비전 (신경망이 호스트, CPU가 코프로세서)
- 바이브-코딩 — 3.0 시대의 코딩 방식
- Agentic-Engineering — 3.0 위에서의 프로페셔널 워크플로우
- 검증-가능성의-법칙 — 3.0이 잘 작동하는 영역의 조건
출처
- yt-UNnsS03whx0-카파시-30분-인터뷰-완전정리 (Section 2)