25P by GN⁺ | ★ favorite | 댓글 4개
  • AI 시대에 가장 반직관적인 실천은 언제 속도를 늦출지 아는 것이며, 실행이 저렴해질수록 그 앞 단계의 의사결정이 더 중요해짐
  • Daniel Kahneman의 System 1(빠른 패턴 매칭)과 System 2(느린 분석적 사고) 프레임워크를 AI 시대 소프트웨어 개발에 적용
  • 잘못된 요구사항이나 설계 가정은 AI가 더 빠르게 전파하므로, 실행 전 느린 단계의 비용 대비 효과가 극대화됨
  • AI를 실행뿐 아니라 사전 검토·프리모텀·엣지 케이스 탐색 등 숙고 단계를 가속하는 데도 활용 가능
  • "AI 쓰면 되잖아?"라는 새로운 속도 압박 문화에 대응하려면, 느린 단계를 명시적으로 드러내고 타임박싱하는 전략이 필요

두 가지 사고 속도

  • Daniel Kahneman의 Thinking, Fast and Slow 에서 제시한 두 가지 사고 모드를 AI 시대 개발에 대입
    • System 1: 빠르고 자동적이며 패턴 매칭 기반의 사고
    • System 2: 느리고 의도적이며 분석적인 사고
  • Andrej Karpathy는 Dwarkesh Patel과의 대화에서 LLM을 유령이나 정령에 비유, 인간 텍스트의 통계적 증류물로서 단어가 들어가면 패턴이 매칭되고 단어가 나오는 본질적으로 System 1적 존재
  • AI는 대규모 빠른 패턴 매칭에 탁월하지만, 무엇을 만들지, 왜 중요한지, 올바른 문제를 풀고 있는지 판단하는 작업은 여전히 인간의 판단 영역
  • 반직관적 핵심: AI가 느린 단계를 덜 중요하게 만든 것이 아니라 더 중요하게 만듦
    • 실행이 저렴하고 빨라지면, 레버리지는 실행 이전의 의사결정으로 이동
  • 잘못된 요구사항, 오해된 문제, 결함 있는 설계 가정은 AI가 빌드하는 모든 것에 전파되며, 이제는 더 빠르게 전파
    • System 1이 강력해질수록 System 2를 잘못 수행하는 비용이 증가

속도의 환상

  • 학계의 오래된 농담: "도서관에서 몇 시간이면 될 일을 실험실에서 몇 주 걸림", 소프트웨어 버전: "몇 주간의 코딩이 몇 시간의 기획을 절약해줌"
    • 실제로는 거꾸로인 것이 핵심 — 서둘러 시작하면 근본적 오류를 발견하고 고통스러운 재작업이 뒤따름
  • 소프트웨어 엔지니어링에서 실수는 가능한 한 요구사항이나 설계 단계에서 일찍 잡아야 한다는 명확한 직관 존재
    • 박스 다이어그램은 쉽게 변경 가능, 오해된 요구사항은 더 어렵고, 근본적으로 결함 있는 배포 아키텍처는 재작성 수준
  • AI의 문제: 기술 부채를 그 어느 때보다 빠르게 생성 가능
    • 실행 이전의 결정이 결함이 있으면, AI는 그 결함을 완전한 기능 코드처럼 보이는 형태로 충실히 구현
    • 오해된 요구사항 기반으로 수천 줄의 코드를 생성하고, 잘못된 문제에 대한 우아한 솔루션을 기꺼이 빌드
  • 속도의 환상: 진전하고 있다고 느끼지만 실제로는 더 깊은 구멍을 파고 있는 상태
  • 속도를 포기하는 것이 아니라 의도적으로 배치하는 것이 답 — AI의 속도는 올바른 방향이 확인된 후에만 발휘해야 함

느림이 효과를 발휘하는 순간

  • 의도적 느림이 효과를 발휘하는 지점은 크게 변하지 않음
    • 요구사항은 문서상 단어일 때 변경 비용이 저렴하고, 실제 사용자에게 서비스하는 배포 코드일 때 비용이 비쌈
    • 설계 결정은 다이어그램에서 수정이 쉽고 프로덕션 시스템에서는 어려움
    • AI가 이 근본 물리학을 바꾼 것이 아니라, 올바르게 수행했을 때의 레버리지를 증가시킴
  • Thinking First 프로토콜: AI에 작업을 넘기기 전에 실제로 원하는 것을 명확히 하는 시간을 투자하는 것이 가장 저렴한 실수 포착 지점
  • AI는 실행 가속뿐 아니라 숙고 자체를 가속하는 데도 활용 가능한 흥미로운 역설
    • 코딩 전 요구사항 명확화: 10분간 해결할 문제, 성공 기준, 제약 조건을 적고, AI에게 작성한 내용을 검토시킨 후 생성
    • 프리모텀(Pre-mortem) 실행: 설계를 확정하기 전에 AI에게 "이 접근법에서 무엇이 잘못될 수 있는가?" 질문하여 미처 고려하지 못한 리스크 도출
    • 문제 뒤집기(Invert): AI에게 "이 프로젝트를 실패하게 만드는 것은?" 질문하여 숨겨진 가정 노출
    • 버릴 프로토타입 빌드: AI로 몇 시간 만에 만들어 이해관계자에게 보여주고, 투자 전에 이해도 검증 — 느림을 위한 속도 투자
    • 간이 내부 도구 빌드: 실제 제품에 비용을 쓰기 전에 AI로 거친 버전을 먼저 만들어 실제로 필요한 것과 불필요한 것 파악
    • 엣지 케이스 조기 도출: 구현 시작 전에 AI에게 설계의 엣지 케이스와 실패 모드를 생성하게 하여 다이어그램 단계에서 처리

새로운 문화적 역풍

  • "AI 쓰면 되잖아?"는 새로운 형태의 속도 압박이며, 생산성의 외양과 실제 처리량을 혼동하기 때문에 특히 위험
    • AI가 몇 초 만에 코드를 생성할 수 있지만, 코드 생성과 올바른 문제 해결은 동일하지 않음
  • 대응 전략:
    • 현재 어떤 단계에 있는지 명시적으로 공유: 느린 단계에 있다면 요구사항 명확화, 엣지 케이스 사고, 올바른 문제 해결 확인 중이라고 설명
    • 이해관계자 참여 유도: 지금 이해관계자의 입력을 반영하는 비용은 저렴하고, 나중에는 비쌈
    • 작업 과정 공유: 요구사항 문서, 설계 스케치, 프리모텀 결과물 등 느린 단계의 산출물을 가시화하여 진행 중임을 증명
    • 느린 단계에 타임박스 설정: "코드 작성 전 2일간 요구사항 명확화"처럼 명확한 경계를 두어 의도적 느림이 개방형이 아닌 계획적으로 느껴지도록 함
    • 학습 내용 공유: 발견한 엣지 케이스, 잘못된 것으로 밝혀진 가정 등을 간략히 업데이트하여 느린 단계를 가치의 가시적 흐름으로 전환
    • 퀵 윈 시연: 버릴 프로토타입이나 목업을 일찍 만들어 빠르게 움직일 수 있음을 보여주고, 느리고 신중한 작업에 대한 신뢰 확보
  • Basecamp의 Shape Up 방법론의 힐 차트(Hill Chart) 개념과 유사
    • 오르막: 불확실성이 높고 작업의 실체를 발견하는 느린 단계
    • 내리막: 경로가 명확하고 실행만 하면 되는 빠른 단계
  • 지연의 변명이 아니라 좋은 작업이 실제로 이루어지는 방식에 대한 설명 — 장기적으로 가장 빨리 출시하는 팀은 종종 적절한 순간에 속도를 늦추는 팀

실천 방법

  • 다음 AI 지원 작업 전에 시도할 것:
    • 10분간 실제로 해결하려는 문제를 적고, 성공의 모습과 범위 밖의 것을 정의
    • 빌드 시작 전에 AI에게 접근법에 대한 프리모텀을 실행시키기
    • 작업이 상당한 규모라면 버릴 프로토타입을 먼저 빌드하여 방향 검증

결론

  • 속도와 느림은 반대가 아니라 서로 다른 단계를 위한 도구
  • AI는 양쪽 모두에 효과적: 방향이 명확할 때의 빠른 실행, 불명확할 때의 가속된 숙고
  • 핵심 역량은 현재 어떤 단계에 있는지 파악하고 적절한 템포를 적용하는 것
GeekNews Weekly에 포함된 글입니다. 에디터 코멘트 보기

댓글과 토론

천천히 빠르게 라는 말이 있지용

대학원 시절에 교수님한테 자주 듣던 말인데,
오랜만에 PTSD 오네요.

저는 군대에서 들었다에요

저는 악보에서 읽었어요
allegro non troppo (빠르지만 급하지 않게)