research

Fundamentals 학습 자료 — Matt 기법 + "code is cheap" 비판

Fundamentals 학습 자료 — Matt 기법 + "code is cheap" 비판

Matt이 제안한 구체적 기법들과 그가 비판한 "code is cheap" 명제의 root를 학습 자료로 큐레이션. 학내 사용자가 어디서부터 시작하면 좋은지 단계별 학습 path로 정리.


한 줄

"code is cheap"의 source가 Karpathy 자신이고, 그가 직접 reverse했다는 사실이 학습의 가장 큰 input. Matt이 제안한 기법들(grill-with-docs, deep modules, TDD)은 Karpathy reverse 후 산업이 도달한 답. 학습 path는 짧은 강연 → 얇은 책 → 두꺼운 고전 순서로 점진.


"Code is Cheap" 명제의 추적 — 누가 언제 무엇을 말했나

2025-02: Karpathy가 "vibe coding" 만듦

X(Twitter)에서:

"There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs are getting too good."

핵심 가정:

  • 코드는 promptable scaffolding — disposable, easily rewritten
  • not meant to last
  • 사람은 vibe만 주고 코드 안 봐도 됨

이게 "code is cheap" 명제의 원본.

2025: 비판 누적

  • Simon Willison (2025-03): "Not all AI-assisted programming is vibe coding." 경계 정의 — 코드를 review/audit하는 순간 vibe가 아님
  • 다양한 글들 (nmn.gl 등): vibe coding의 위험 — accountability, maintainability, security 결여
  • December 2025 분석: AI co-authored 코드 = major issues 1.7배, security 2.74배
  • 88% pilot이 production 못 감 (March 2026 enterprise survey)

2026: Karpathy 자신이 reverse

  • "AI-generated code is awkward and gross" (Karpathy 본인 발언)
  • "vibe coding"을 retire하려 시도, 후계자로 "agentic engineering" 명명
  • "there is an art & science and expertise to it"
  • "programming via LLM agents is increasingly default workflow for professionals, except with more oversight and scrutiny"

명제의 source 본인이 명제를 부정. 이게 Matt thesis가 cement된 결정적 사건.

Matt이 한 일

Karpathy reverse 직후, Matt이 fundamentals 회귀를 대중화:

  • AI Engineer Europe 강연
  • aihero.dev / Claude Code for Real Engineers cohort
  • mattpocock/skills repo (.claude directory 공개)

학습 자료: Karpathy의 reverse 자체가 가장 강력한 학습 자료. 명제를 만든 사람이 부정한 사례.


Matt이 제안한 fundamental 기법들 — 각각 자세히

기법 1 — /grill-me (현 /grill-with-docs)

무엇인가: agent가 사용자를 relentlessly interview하면서, 사용자가 만들려는 모든 decision tree branch를 해결할 때까지 질문.

왜 필요: 사용자가 모호한 spec 던지면 1차 ok, 2차 worse, 3차 garbage. misalignment의 가장 흔한 source. grill-me는 misalignment를 강제로 해결하는 도구.

진화: /ubiquitous-language (DDD glossary 추출) + /grill-me가 통합되어 /grill-with-docs로. shared language 빌드 + ADR로 hard decisions 문서화가 한 skill.

학습 자료:

v1.0 적용: v0.5 skills layer에 기본 제공 skill. 학내 사용자가 자기 도메인에 grill-me 패턴 적용 시 자동 ADR 생성.


기법 2 — Ubiquitous Language (DDD)

무엇인가: 도메인 vocabulary와 코드/agent의 vocabulary가 같은 언어. 학내 segment에선 학번·과목 코드·학사일정·동아리 같은 학내 vocabulary 그대로.

왜 필요: AI가 도메인 vocabulary로 사고하지 못하면 추상화 leak. "수강신청"이라고 하는데 agent가 "course registration form submission"으로 이해 → 매번 번역 비용.

Matt의 적용: 원래 별 skill(/ubiquitous-language)이었으나 grill-me와 통합. 즉 grill 과정에서 자연스럽게 vocabulary 발견.

학습 자료 (난이도 순):

  • 🟢 입문: DDD Europe YouTube 강연들 — 무료, 1시간 단위
  • 🟡 얇은 입문서: Learning Domain-Driven Design — Vlad Khononov (2021, O'Reilly). 가장 접근하기 쉬움
  • 🟡 실용서: Implementing Domain-Driven Design — Vaughn Vernon (2013)
  • 🔴 원전: Domain-Driven Design: Tackling Complexity in the Heart of Software — Eric Evans (2003). 고전이지만 두꺼움. 처음부터 보지 말고 1, 2장 + 14장(Maintaining Model Integrity)만

v1.0 적용: 원칙 3 (Ubiquitous Language per Segment) — 학내 vocabulary skill을 기본 제공.


기법 3 — Deep Modules (Ousterhout)

무엇인가: 작은 interface, 깊은 implementation. 사용자가 보는 표면은 좁고, 내부 동작은 풍부.

왜 필요: AI agent가 shallow module 양산하는 약점이 있음. 작은 파일 100개를 만들면 model 자신이 navigate 못 함. Deep module은 한 모듈 안에서 풍부한 동작.

Matt의 적용: skills repo에 /improve-codebase-architecture skill — 코드베이스 스캔하고 cluster를 deep module로 wrap.

학습 자료 (난이도 순):

  • 🟢 입문 강연 (1시간): Ousterhout — A Philosophy of Software Design YouTube talk — Stanford에서 한 강연. 책의 핵심을 1시간에 압축
  • 🟡 : A Philosophy of Software Design — John Ousterhout (2018). 얇음 (~190p). Matt 강연의 가장 직접적 source
  • 🟡 Stanford CS 190 강의: Ousterhout이 직접 가르치는 강의 자료 (course notes 일부 공개)
  • 🟢 블로그: 다양한 deep module 적용 사례 글

v1.0 적용: 원칙 1 (Deep Modules over Shallow) — 모든 trait·crate가 작은 surface, 풍부한 내부.


기법 4 — TDD as Small Deliberate Steps

무엇인가: AI에게 한 step씩만 시키고 사람이 confirm. test가 그 step의 success criteria.

왜 필요: "specs → code" 자동 generation은 garbage 누적. 작은 step + test가 매 step에서 바로잡는 도구.

Matt의 적용: skills repo에 TDD 관련 skill들. 강연에서 "small deliberate steps" 명시.

학습 자료 (난이도 순):

  • 🟢 얇은 책: Test-Driven Development By Example — Kent Beck (2002). 얇음 (~200p). TDD의 원전, 예제 위주
  • 🟡 두꺼운 응용: Growing Object-Oriented Software, Guided by Tests — Freeman & Pryce (GOOS). 더 깊은 적용
  • 🟢 무료 자료: Kent Beck의 substack newsletter — 최근 TDD 사상

v1.0 적용: v0.6 hooks layer에 각 step에서 자동 test 실행 박기. 12% pattern 3 (Automated Evaluation)와 일치.


기법 5 — Pragmatic Programmer 원리들

무엇인가: Orthogonality, Reversibility, DRY, Tracer Bullets 등 1999년 책의 원리들.

왜 필요: AI 시대에도 변하지 않는 fundamentals. Matt이 직접 호출.

학습 자료:

  • 🟡 : The Pragmatic Programmer: 20th Anniversary Edition — Hunt & Thomas. 고전. 항목별이라 짧게 끊어 읽을 수 있음
  • 🟢 무료 요약: 다양한 review/cheatsheet 글들

v1.0 적용: 원칙 4 (Orthogonal Layers, Reversible Decisions) — crate 단방향 의존, vendor adapter 격리.


기법 6 — /improve-codebase-architecture 등 Matt skills

무엇인가: Matt이 .claude directory에 17개 정도 skill을 공개. 각각이 fundamental 기법의 적용.

대표 skill들 (조사 시점):

  • /grill-with-docs (전 ubiquitous-language + grill-me)
  • /improve-codebase-architecture (deep module 적용)
  • TDD 관련 skill들
  • ADR 작성 skill

학습 자료:

v1.0 적용: v0.5 skills layer의 직접 reference. mattpocock/skills 형태를 학내 segment에 적용.


학내 사용자에게 추천 학습 순서

각 step의 목적:

Step시간얻는 것
0. Matt 강연1시간전체 thesis 파악. 무료, YouTube
1. Karpathy reverse1시간명제의 source가 reverse한 사례. 학습의 강력한 동기
2. Hickey1시간simple ≠ easy. 모든 fundamentals의 철학적 root
3. Ousterhout2주deep module + strategic vs tactical. 가장 직접 영향
4. Beck TDD1주small deliberate steps. AI 시대 TDD의 root
5. Khononov DDD2주ubiquitous language + bounded context. 학내 segment 적용
6. mattpocock/skills지속실천. 학내 도메인에 적용해서 자기 skill 만들기
7. Pragmatic Programmer월 단위항목별 reference. 한 번에 다 읽지 말 것
8. Evans 원전선택고급 reader용. 1, 2, 14장만으로도 충분

Step 0~2까지 (3시간)만 해도 기초 흡수 완료. 학내 사용자가 부담 없이 시작할 수 있는 최소 path.


무료 학습 자료만 정리

학내 사용자가 책 살 부담 없이 시작할 수 있는 무료 자료:

자료형식주제
Matt Pocock — Software Fundamentals YouTube강연 (1시간)Matt thesis 전체
Karpathy X 원본 vibe coding 글트윗"code is cheap" 원본
The New Stack — Vibe coding is passéKarpathy reverse 정리
Simon Willison — Not all AI-assisted programming is vibe coding경계 정의
Rich Hickey — Simple Made Easy YouTube/InfoQ강연 (1시간)철학적 root
Ousterhout — A Philosophy of Software Design YouTube talk강연책의 압축
DDD Europe YouTube channel강연들DDD 다양한 적용
mattpocock/skills GitHubrepoMatt 기법 실제
aihero.dev 블로그블로그Matt 본인 글
Anthropic AI Fluency Framework무료 courseAI 시대 fundamentals
Anthropic effective harnesses 글harness engineering
Kent Beck — Tidy First substacknewsletter최근 TDD 사상

무료 자료만으로도 학습 path 완성 가능. 책은 심화 시점에 선택.


v1.0과의 연결 — 학습 자체가 v1.0 흡수

이 학습 path는 v1.0 흡수 도구 그 자체:

  • Matt 강연 (Step 0) → software-fundamentals-thesis 직접 검증
  • Karpathy reverse (Step 1) → fundamentals-lineage의 흐름 사례
  • Hickey + Ousterhout (Step 2-3) → design-principles의 원칙 1, 2 root
  • Beck (Step 4) → 원칙 5, 6의 root
  • Khononov (Step 5) → 원칙 3의 root
  • mattpocock/skills (Step 6) → v0.5 skills layer 직접 reference

학습하면서 v1.0 design을 함께 깊게 이해. 학내 사용자에게 같은 path 제공하면, v1.0 사용자 = fundamentals 학습자가 자연스러움.

이게 fundamentals-lineage에서 발견한 통찰의 직접 적용:

학내 marketplace의 skill 하나하나가 fundamentals 학습 자료.


인사이트 — 이 학습 path가 v1.0의 segment 진입에 valuable한 이유

학내 segment의 진입 장벽 감소 원칙(기둥 5)은 단순히 "토큰 무료"가 아니라 학습 path 무료까지 포함:

학내 사용자가 v1.0 다운로드
   ↓
README에 학습 path 링크 (Step 0~6)
   ↓
3시간만 투자해도 fundamentals 기초 흡수 (Step 0~2 무료)
   ↓
학내 도메인에 Matt skills 패턴 적용
   ↓
자기 skill 만들고 marketplace에 공유
   ↓
다른 학내 사용자가 그 skill 사용 → 같은 학습 path 합류
   ↓
학내에 *fundamentals 흡수 cohort* 형성 → segment 종속적 해자

→ 학습 path가 v1.0 채택의 가장 강력한 lever. 단순 도구가 아니라 학습 community가 됨.


관련


Sources

Karpathy "code is cheap" 명제와 reverse

Matt skills 자세한 reference

시간 검증된 fundamentals 책·강연