1. 핵심 주장 (Core Thesis)
"AI 시대에도 인간이 코드를 이해하는 것은 여전히 중요하다 — 검증을 위해서가 아니라, 창의적 참여자로 살아남기 위해서."
Geoffrey Litt (Notion 디자인 엔지니어)는 AI가 코드를 대량 생산하는 시대에 "인간이 코드를 이해해야 하는가?"라는 질문에 정면으로 답한다. 그의 주장은 단순한 교훈적 당위가 아니라, 인간이 창의적 아이디어를 내기 위해서는 깊은 이해가 구조적으로 필요하다는 논리적 주장이다.
2. 상세 내용 (4계층 구조)
2.1 왜 이해가 필요한가? — 두 가지 목적의 차이
Layer 1: 검증을 위한 이해 (Understanding to Verify)
- 많은 사람들이 "인간이 코드를 이해해야 하는 이유"로 에이전트 실수 방지를 꼽는다
- "코드 리뷰가 새 병목이다"라는 말은 주로 정확성 확인을 의미
- 에이전트 출력물이 올바른지 확인하는 thumbs up/thumbs down 판단
- 문제: 에이전트가 점점 스마트해지면서 이 역할은 줄어들고 있다
- Litt의 견해: "에이전트가 정확하게 수행하면 나는 오히려 좋다. 개의치 않는다."
Layer 2: 참여를 위한 이해 (Understanding to Participate) ← 핵심
- 이해는 단순히 현재 루프를 검증하는 것이 아니다
- 이해 후 다음 루프, 그 다음 루프에서 새로운 아이디어를 낼 수 있다
- 머릿속의 풍부한 개념 구조 → 유연한 창의적 도약
- 에이전트에게 "어떻게 작동하나요?" 물어보러 나가지 않아도 되는 상태 = 진짜 참여
- AI가 없애줄 수 없는 부분: "다음 아이디어"를 내는 것
Layer 3: 인지 부채 (Cognitive Debt)
- Margaret Story가 popularize한 개념 (Simon Willison도 블로그에 소개)
- 기술 부채(tech debt)의 인식론적 유사체
- 잠시는 괜찮지만 어느 순간 번아웃: "나는 이게 뭔지 모른다. 참여할 수 없다"
- 바이브코딩 중 갑자기 "내가 뭘 하는지 모르겠다" 느끼는 순간 = 인지 부채 폭발
2.2 어떻게 이해할 것인가? — 교육학에서 답을 찾다
핵심 통찰: 이 질문을 처음 한 것이 아니다 → **교육학(Education)**이라는 분야가 있다
최고의 교육 아이디어를 차용하여 AI 시대 코드 이해에 적용하는 3가지 테크닉
2.3 기술 1: 설명 (Explanations)
Explain Diff 스킬
- Litt이 직접 만들어 매일 사용하는 스킬 (동료들도 사용)
- 코드 변경사항에 대한 개인화된 커리큘럼 수준의 설명 생성
- 예시: Zen Garden 비디오 게임의 top-down → isometric 시점 변경
좋은 설명의 원칙 (교육학 기반)
- 배경(Background) 먼저: 변경사항 설명 전에 시스템 작동 방식 먼저
- 이미 알면 건너뛸 수 있고, 개인화 가능
- 직관(Intuition) > 세부사항: 코드 보기 전에 본질 먼저
- "이 커밋의 목표: 2D 그리기 기법만으로 정원을 3D처럼 보이게 만들기"
- 잘 쓰인 커밋 메시지 + 예시 + 느낌
- 인터랙티브 피규어: 직접 건드려볼 수 있는 것
- 바위 드래그 → 좌표, Z레이어 변화 실시간 시각화
- Notion HTML blocks 활용 (발표 당일 아침에 런칭!)
- 주의: 상호작용성은 slop이 될 수 있음 → 절제 있게 사용
- 리터럴 코드 diff: 파일 순서대로 나열 X → 서술(prose) 형식으로
- 각 파일 전에 무슨 일이 일어나는지 설명
- "프린트해서 커피숍에서 읽음" — AI가 역설적으로 나를 IDE에서 해방
퀴즈 (Andy Matuschak에서 영감)
- "책은 작동하지 않는다" — 읽었다고 이해한 게 아님
- Andy Matuschak + Michael Nielsen: 에세이 내 상호작용 공간반복 퀴즈
- Litt의 규칙: 에이전트가 쓴 코드를 팀원에게 리뷰 보내기 전, 해당 코드에 대한 퀴즈 5문제를 반드시 통과
- 퀴즈 = 속도 조절기 (speed regulator): AI가 속도를 올리는 상황에서 이해를 보장하는 시스템
- Explain Diff 스킬 QR코드로 공개 (HTML + Notion 버전)
2.4 기술 2: 마이크로 월드 (Micro Worlds)
교육학자 Seymour Papert의 "Mathland" 개념
- "아이들은 프랑스에 살면서 프랑스어를 배운다. 수학을 배우는 Mathland는 어디 있나?"
- Turtle 로봇 실험: 아이들이 로봇을 프로그래밍하면서 수학을 직관적으로 학습
- 포인트: 로봇이 아니라 변화된 아이들이 목표
코드 이해에 적용한 마이크로 월드
예시 1: Prolog 인터프리터 디버거
- Prolog (데이터베이스 쿼리 언어 느낌) 인터프리터 직접 구현 시도
- Wikipedia로 읽으면 복잡해 보이는 부분들이 실제로는 단순한데 이해가 안 됨
- 해결책: Claude에게 인터프리터 내부 시각화용 에페머럴 UI 디버거 제작 요청
- 타임라인 스크럽 → 각 스텝에서 인터프리터 내부 상태 전체 시각화
- 타임라인에 코멘트 남기기 기능 추가
- 버그 수정 + 기계에 대한 느낌(peripheral vision) 획득
- 에이전트에게 버그 수정만 시키면 절대 얻을 수 없는 것
예시 2: 웹사이트 프레임워크 마이그레이션 게임
- 개인 웹사이트를 한 프레임워크에서 다른 것으로 마이그레이션
- Claude가 스크립트로 마이그레이션: "뭔가 됐는데, 뭘 했는지 모르겠다"
- 해결책: "직접 포팅하는 비디오게임" 제작 요청
- 왼쪽: 구 웹사이트, 오른쪽: 신 웹사이트
- "Next" 버튼 클릭 → 한 단계씩 진행
- "여기서 실행 중인 커맨드:", 파일 트리에서 파일 이동 시각화
- 수동으로 하는 것의 이점을 버튼 클릭으로 달성
마이크로 월드의 본질
- 에이전트가 우리가 코드를 이해하도록 돕는 코드를 작성
- 목표: 배포용 소프트웨어 빌드 X → 작은 마이크로 월드 빌드
- "에페머럴 UI, 동적 시뮬레이션, 디버거, 플레이그라운드"
- = Mathland를 코드로 구현
2.5 기술 3: 공유 공간 (Shared Spaces)
문제: 팀 단위 이해
- 지금까지는 개인의 이해에 집중
- 팀 전체가 함께 이해해야 창의적 협업이 가능
- Notion이 집중하는 문제: **집단적 이해(collective understanding)**를 가능하게 하는 도구
탐색 중인 기능들
멀티플레이어 AI 채팅 스레드
- 제품 매니저와 함께: "이 기능에 대해 사용자들이 뭘 원하는지 물어보자"
- PM: "모르겠는데, 다른 에이전트한테 물어보자"
- 에이전트가 공유 공간에 들어와 함께 대화
- 1:1 대화 → Slack 채널: 서로의 소통을 보면서 함께 이해
협업 가능한 AI 생성 문서
- "Claude가 계획을 만들었어. 팀원들과 이걸 논의하고 싶다면?"
- 공유 공간에서 코멘트 + 팀원 + 에이전트 함께 대화
- 개인 컴퓨터 로컬 X → 협업 공간 안
Notion의 최신 동향
- 발표 1주 전 런칭: Notion에 코딩 에이전트 가져오기 (Claude + Cursor)
- 팀 코드의 많은 부분을 Notion 안에서 빌드
- 이유: 공유 공간의 가치
2.6 역사적 맥락: Alan Kay의 비전
50년 전 Alan Kay의 에세이
- "A Personal Computer for Children of All Ages" (1972)
- 현대 GUI의 공동 발명자, 퍼스널 컴퓨팅의 선구자
- 비전: 아이들이 아이패드 같은 것으로 비디오게임을 플레이하며 코드를 수정하여 물리학을 배우는 것
- 포인트: 컴퓨터가 목적이 아니라 인간의 성장이 목적
현재 상황
- 컴퓨터가 그 비전에서 벗어났다고 느끼는 사람들
- 하지만 AI 시대: "코드가 공짜"
- 에페머럴 UI, 동적 시뮬레이션, 디버거, 플레이그라운드 → 이게 원래 목표
- 낙관적 전망: AI로 자신을 루프 밖으로 빼는 게 아니라, 더 깊이 루프 안으로
3. 핵심 시사점 (Key Insights)
개발자/엔지니어에게
- "코드 리뷰 = 정확성 확인"의 함정: 검증보다 참여가 더 중요하다
- 인지 부채 관리: 기술 부채처럼 이해 부채도 적극 관리해야 한다
- 에이전트로 설명 생성: "이 코드 diff 설명해줘"보다 구조화된 스킬이 훨씬 효과적
- 이해용 도구 vs 배포용 코드: 마이크로 월드는 배포 목적이 아닌 이해 목적
팀/조직에게
- 공유 공간의 가치: 1:1 AI 채팅보다 팀 공유 채팅이 집단 이해를 만든다
- 에이전트를 협업에 끌어들이기: 개인 컴퓨터에 가두지 말고 공유 공간으로
AI 도구 개발자에게
- 교육학에서 배워라: 설명 → 퀴즈 → 마이크로 월드 = 최고의 교육 원칙
- 속도만이 답이 아니다: 이해를 보장하는 시스템이 필요
- Alan Kay의 원래 비전: 컴퓨터는 인간을 레벨업시키는 도구
4. 20줄 요약
- Geoffrey Litt(Notion 디자인 엔지니어)는 "AI 시대에도 인간이 코드를 이해하는 것이 중요하다"고 주장한다.
- 대부분의 사람들은 이해의 이유를 "에이전트 실수 검증"으로 보지만, 이것이 핵심 오해다.
- 진짜 이유는 "참여를 위한 이해(Understanding to Participate)"—다음 창의적 아이디어를 내기 위해서다.
- 머릿속의 풍부한 개념 구조 없이는 유연한 창의적 도약이 불가능하다.
- 이 능력은 에이전트가 아무리 스마트해져도 대체할 수 없는 인간 고유의 역할이다.
- 코드 이해를 게을리하면 "인지 부채(Cognitive Debt)"가 쌓여 어느 순간 참여 불능 상태가 된다.
- 해결책: 교육학의 최고 아이디어를 AI 코드 이해에 적용하는 3가지 기술.
- 기술 1—설명(Explanations): "Explain Diff" 스킬로 배경→직관→인터랙션→리터럴 코드 순서로 설명.
- 설명에는 Andy Matuschak 방식의 퀴즈를 추가—에이전트가 쓴 코드 팀에 보내기 전 5문제 통과 필수.
- 퀴즈는 "속도 조절기(speed regulator)"—AI가 가속하는 환경에서 이해를 보장하는 시스템.
- 기술 2—마이크로 월드(Micro Worlds): Seymour Papert의 "Mathland" 개념에서 영감.
- 에이전트에게 배포용 코드가 아닌 "이해용 에페머럴 UI/시각화 도구"를 만들게 한다.
- 프로그래밍 언어 인터프리터 디버거, 프레임워크 마이그레이션 "게임"이 실제 예시.
- 에이전트에게 버그만 고치게 하면 "주변 시야(peripheral vision)"를 잃게 된다.
- 기술 3—공유 공간(Shared Spaces): 팀이 에이전트와 함께 같은 공간에서 대화하고 이해한다.
- 1:1 AI 채팅 대신 팀 공유 공간에서의 멀티플레이어 AI 채팅이 집단 이해를 만든다.
- Notion은 최근 Claude/Cursor를 Notion 안으로 가져오는 기능을 런칭했다.
- Alan Kay가 50년 전 꿈꾼 비전—컴퓨터는 인간을 레벨업시키는 도구—이 AI로 실현 가능해졌다.
- 핵심 메시지: AI로 자신을 루프 밖으로 꺼내는 것이 아니라, 더 깊이 루프 안으로 들어가야 한다.
- 바른 도구, 바른 마인드셋, 바른 창의성으로 우리는 AI 시대에 오히려 더 잘 이해할 수 있다.
Obsidian 경로: Study/YouTube다이제스트/2026-07-11-aiDotEngineer-Understanding-New-Bottleneck-Geoffrey-Litt.md
