"2026년에는 모든 코드 한 줄한 줄에 당신의 눈이 필요한 것이 아니다. 하지만 모든 시스템에는 여전히 당신의 판단이 필요하다."
- Z/L 컨티뉴엄은 실재한다. 하지만 이것은 사람에 관한 것이 아니라 **태스크(작업)**에 관한 것이다.
- 코드 리뷰의 질문은 "아직도 코드를 읽어야 하는가?"가 아니라 **"이 변경에 어떤 수준의 검증이 필요한가?"**이다.
- 루프(Loops)는 판단을 제거하지 않는다. 오히려 판단을 어디에 쏟을지의 판돈을 높인다.
1. 배경: AI 엔지니어링이 바뀐 순간
1.1 2025년 12월 — 변곡점
- METR(Machine Evaluation Center) 데이터: 모델들이 처음으로 엔지니어 16시간짜리 작업을 완료하기 시작
wtfhappened2025.com— Swyx(AI Engineer 주최자)가 이 순간의 증거를 수집 중
1.2 코드 생산의 폭발
- Anthropic 코드의 80%가 AI 작성 (수개월 전 통계, 현재는 더 높을 것)
- Boris(Claude Code 창시자): 자신의 코드 100% Claude Code로 작성, 여전히 20~30개 PR 병합
- 그는
.id(아이덴티티)를 삭제했다 → 더 이상 직접 타이핑할 이유 없음
- 그는
- GitHub: 2025년 1B 커밋 → 2026년 14B 커밋 예상 (14배 증가), 대부분 AI 지원
- Anthropic: 2025년 대비 분기당 8배 많은 코드 출시
2. Z/L 컨티뉴엄 — 두 극단의 목소리
2.1 Ryan LeFebvre (OpenAI) — "코드는 공짜다" 진영
핵심 주장:
- 모델이 이소모픽(isomorphic)해졌다 — 실제 코드베이스에서 실제 문제를 해결
- "코드는 공짜다. 생산도 무료, 리팩토링도 무료. 더 이상 집착할 대상이 아니다"
- "인간은 더 이상 구현에 신경 쓸 필요가 없다"
- 슬롭(slop)이 싫으면: "슬롭 생산 금지"라고 프롬프트에 명시하라
- 주의: 단기 속도 손해를 감수하고 에이전트가 고군분투하는 태스크를 파악해야 함
별명: YOLO Popolo (Codex의 --yolo 플래그에서 유래)
2.2 Mario Zechner (libGDX 창시자) — "모든 줄을 읽어라" 진영
핵심 주장:
- "모두가 멈춰라(Slow the f*** down)"
- "우리 제품의 100%가 에이전트로 만들어졌다" → "그래, 지금 망가졌다는 거 안다"
- 에이전트는 제로 학습, 지연된 고통으로 실수를 복리 계산(compounding booboos)
- "코드를 안 읽었으면, 뭔가 부서졌을 때 누구를 부를래? 자기 자신? 코드 안 읽었잖아."
- 비핵심 코드: 슬롭 OK. 핵심 코드: 모든 줄을 읽어라.
3. 데이터: 낙관론자들이 맞지만... 품질은?
3.1 생산성 지표 (Faros AI, 2026년 4월, 22,000 엔지니어 대상)
- 861% PR당 코드 삭제 증가 → AI와 함께 코드를 잘 지운다
- Anthropic: 분기당 8배 더 많은 코드 출시
- 생산량 기준 낙관론자들이 옳다
3.2 품질 지표 — 경고
- 같은 조사: 31% PR 리뷰 없이 병합 (인간도 에이전트도 없이) — 절대 하지 말 것
- PR당 인시던트 242% 증가
- 개발자당 버그 수: 2025년 대비 6배 증가
3.3 Anthropic 상태 페이지 아이러니
- AI 코드를 가장 많이 쓰는 회사의 상태 페이지 = "크리스마스 트리"(다 빨간불)
- 교훈: 출력량 ≠ 안정성
4. 핵심 프레이밍 수정 — Z/L의 오류
4.1 Alex의 자기 비판
- 처음 컨티뉴엄 제시할 때 실수: 이것이 사람에 관한 것이라고 틀을 잡았다
- 실제로는 **태스크(작업)**에 관한 것이다
4.2 같은 엔지니어가 다를 수 있다
- 어떤 코드: Ryan Lapopolo처럼 YOLO
- 다른 코드: Mario Zechner처럼 모든 줄 읽기
- "다른 태스크에는 다른 검증이 필요하다"
4.3 두 사람이 실제로 동의하는 것
Ryan의 메커니즘: 주의(attention)를 레이어 위로 이동
- 인간은 같은 유형의 실수를 반복적으로 잡는 데 신뢰할 수 없음
- PR 리뷰 중 실수 발견 시 → 문서화, 린터, 리뷰어 규칙으로 만들어 시스템이 기억하게 함
- "코드를 검사하지 말라는 게 아니다. 모든 줄이 아닌 시스템을 검사하라."
Mario의 메커니즘: 태스크별 라우팅
- 비핵심: 그냥 실행
- 핵심: 모든 줄 읽기
- 핵심이 뭔지 어떻게 아나? → 코드를 읽으면 안다
5. 실용적 라우팅 테이블 (월요일에 가져갈 아티팩트)
5.1 반드시 직접 읽어야 하는 코드
- 인증(Authentication) — 모든 줄
- 자금 이동(Money Movement) — 모든 줄
- 권한(Permissions) — 모든 줄
- 되돌릴 수 없는 데이터 조작(Irreversible Data) — 모든 줄
5.2 핵심 경로는 직접 검사
- 임계 경로(critical path)는 직접 살펴본다
5.3 분해(Decompose)
- 긴 PR → 원자적(atomic) 리뷰 가능한 PR로 분리
- 에이전트가 이 작업에 뛰어남 → 에이전트에게 분해 요청
5.4 검증(Verify)
- 트레이스(Traces), 이밸(Evals), 섀도 모드(Shadow Mode)
- Shadow Mode: 이 강연 준비하면서 배운 중요한 개념 — 프로덕션 트래픽을 새 시스템에 미러링해 비교
5.5 분리(Separate)
- 코드를 쓰는 에이전트 ≠ 출력을 검사하고 테스트 쓰는 에이전트
- 같은 에이전트가 시험을 만들고 채점하면 무의미
5.6 시스템을 엔지니어링하라 (Engineer Rails)
- Observability, Rollback 체계 구축
- "읽기는 주의를 한 번 쓴다. 엔지니어링은 시스템이 기억하게 만든다."
6. 루프(Loops) — 다음 프리미티브
6.1 루프란 무엇인가
- 고급 크론잡(Fancy Cron Jobs): 일정에 따라 실행
- 흐름: 태스크 발견 → 프롬프트 작성 → 계획 수립 → 실행 → 자체 검증 → 실패 시 재시도
- 인간 개입 없이 목표 대비 자체 채점
6.2 루프의 함정
- "빌더가 스스로 채점하면, 리뷰를 제거한 게 아니라 숨긴 것"
- Adi Olsmanyu (Google): "코드를 스스로 검토하지 않거나 자동화 루프에만 의존하면 제품 품질이 낮아진다 → 점점 깊은 구멍을 파게 된다"
- 루프는 판단을 제거하지 않는다. 판단을 어디에 쏟는지의 판돈을 높인다.
6.3 누가 루프를 얘기하나
- Peter Steinberger (OpenClaw 창시자 → 현 OpenAI)
- Boris Cherny (Claude Code 팀)
- 이들의 토큰은 무료 → 모든 기업이 곧 가게 될 방향의 등대
7. 능력 드리프트(Capability Drift)와 미래
7.1 드리프트 화살표 개념
- 컨티뉴엄은 시간 속의 임시적 위치일 뿐
- 모델 능력이 증가하면 → 인간의 검토 위치가 Lapopolo 방향으로 이동
- 과거: 코드 출력 검사 → 현재: 태스크 방향과 증명 라우팅 → 미래: 루프 검사
- 능력 드리프트는 검증의 위치를 바꾼다. 검증의 필요성은 제거하지 않는다.
7.2 Fable 5 / Mythos 시대의 질적 변화
Jared S. Chipar (Anthropic, 무대 발언):
"예전엔 Claude가 작업을 올바르게 하는지 확인했다. Fable 5에서는 Claude가 올바른 작업을 하는지 확인한다."
- 이는 주의의 레이어가 한 단계 더 올라갔음을 의미
7.3 Andrej Karpathy의 문장 — 이 발표 전체 요약
"코드를 아예 안 보고 싶다는 유혹을 이렇게 강하게 느낀 적이 없다. 하지만 프로덕션에서는 이렇게 하지 마라."
- 한 문장이 양쪽 불안을 다 담고 있음
8. 시사점 및 적용
8.1 질문을 바꿔라
- ❌ "2026년에도 코드를 읽어야 하나?"
- ✅ "이 특정 변경에는 어떤 수준의 검증이 필요한가?"
8.2 실무 적용 우선순위
- 인증·권한·돈·비가역 데이터 → 무조건 직접 읽기
- 긴 PR → 에이전트에게 분해 요청 후 원자 단위로 검토
- 코드 쓰는 에이전트와 테스트·검증 에이전트 분리
- 린터·문서·자동 리뷰어로 시스템이 기억하게 만들기
- Shadow Mode, 이밸, 트레이스 체계 구축
8.3 루프 도입 시 주의
- 루프가 자체 채점하면 리뷰를 숨긴 것 → 별도 검증 에이전트 또는 인간 검사 필요
- 루프는 판단의 위치를 바꿀 뿐, 판단 자체를 없애지 않음
