Boris Cherny: 우리가 Claude Code를 만든 방법

요약

  1. Boris Cherny가 Anthropic에서 Claude Code를 만든 과정: API 학습용 터미널 채팅앱에서 시작해, 사용자 피드백 기반의 "기다림과 수요(wait and demand)" 원칙으로 발전시킨 이야기.
  2. Claude Code 개발의 핵심 철학: 오늘의 모델이 아닌 6개월 뒤의 모델을 위해 만들고, 스캐폴딩은 기술 부채로 간주하며, 모델에 맞서 베팅하지 말라는 "The Bitter Lesson" 원칙.
  3. 코딩의 미래: "소프트웨어 엔지니어"라는 직함은 사라지고 "빌더"로 대체될 것이며, Anthropic 내부에서는 이미 PM, 디자이너, 재무팀 등 모든 역할이 코딩을 하고 있음.

인트로 (00:00-01:45)

  • [00:00] Anthropic의 제품 철학은 오늘의 모델이 아닌 6개월 뒤의 모델을 위해 만드는 것이며, LLM 위에 제품을 만드는 창업자들에게도 동일한 조언을 함
  • [00:14] Claude Code는 끊임없이 다시 쓰고 반복하며 만들어졌으며, 6개월 전부터 그대로 있는 코드가 하나도 없음
  • [01:20] Boris는 2024년 9월 Claude Code 첫 프로토타입을 만든 뒤 3개월간 주말 포함 매일 밤 코딩하며, “이게 뭔가가 될 것 같다”는 확신을 가짐

Claude Code 부상에서 가장 놀라운 순간 (01:45-02:38)

  • [01:52] 가장 놀라운 점은 여전히 터미널을 쓰고 있다는 것 — 터미널은 출발점이어야 했지, 종착점이 될 거라고는 생각하지 못함
  • [02:00] 2월 정식 출시 시점에도 자기 코드의 10% 정도만 Claude Code로 썼을 뿐, 대부분은 손으로 작성
  • [02:20] Anthropic의 베팅이 맞아떨어짐: “오늘의 모델이 아닌 6개월 뒤의 모델을 위해 만든다”는 접근이 적중

“[02:29] LLM 위에서 무언가를 만드는 창업자분들께 드리는 제 조언입니다. 모델이 오늘은 그다지 잘하지 못하는 영역이 어디인지 생각해 보세요. 왜냐하면 결국 그건 잘하게 될 테니까요.” — Boris Cherny

Boris가 Claude Code 아이디어를 떠올린 방법 (02:38-05:38)

  • [02:53] Anthropic의 오랜 베팅은 “안전한 AGI로 가는 길은 코딩을 통해서”였으며, Anthropic Labs 팀이 Claude Code, MCP, 데스크톱 앱 세 가지 제품을 만듦
  • [03:27] 아무도 CLI를 만들라고 요청하지 않았음. 모델이 준비된 것 같았지만 아직 아무도 그 능력을 활용하는 제품을 만들지 않았던 “제품 오버행” 상태
  • [03:58] API 학습을 위해 터미널 채팅앱을 만들었고, UI를 만들 필요가 없었기 때문에 터미널을 선택
  • [04:55] 모델에게 bash 도구를 처음 줬더니, AppleScript를 작성해 음악 플레이어에서 곡 정보를 조회하는 등 예상 밖의 능력을 보여줌 — Boris의 첫 “AGI 순간”

터미널의 우아한 단순함 (05:38-07:09)

  • [05:45] 터미널이라는 오래된 제약 조건이 오히려 흥미로운 개발자 경험을 가능하게 했음
  • [06:09] 프로토타입을 만든 지 이틀만에 팀에 나눠줬고, 맞은편 엔지니어가 바로 실제 코딩에 활용하기 시작
  • [06:51] 내부 DAU 차트가 수직 상승하자, Dario가 “엔지니어들에게 억지로 쓰게 하는 거냐?”고 물었으나, 실제로는 자발적으로 퍼진 것

첫 사용 사례 (07:09-09:00)

  • [07:17] 초기에는 모델이 코딩을 잘하지 못해서, Git 자동화와 bash 명령 자동화(쿠버네티스 운영 등)가 주된 사용 사례
  • [07:40] 첫 번째 코딩 사용 사례는 리스크가 낮은 단위 테스트 작성
  • [07:50] 사용자들이 자발적으로 마크다운 파일을 만들어 모델에게 읽히기 시작 — 이것이 CLAUDE.md의 탄생 계기
  • [08:00] Boris의 가장 큰 제품 원칙: “기다림과 수요(wait and demand)” — CLI 이후 모든 기능이 이 원칙으로 만들어짐

“[08:21] 모델 주변에 스캐폴딩을 만들어 성능을 10-20% 올릴 수 있지만, 그 이득은 다음 모델이 나오면 사라집니다.” — Boris Cherny

Boris의 CLAUDE.md에는 무엇이? (09:00-11:29)

  • [09:07] Boris의 개인 CLAUDE.md는 딱 두 줄: (1) PR에 자동 병합 설정, (2) PR을 내부 stamps 채널에 올릴 것
  • [09:53] CLAUDE.md가 너무 커지면? 삭제하고 새로 시작하는 것을 추천 — 모델이 바뀔 때마다 필요한 지침의 양이 줄어들기 때문
  • [10:32] Boris는 스스로를 “평범한 엔지니어”라 칭하며, Vim도 안 쓰고 VS Code를 사용
  • [11:01] Claude Code가 잘 된 이유 중 하나는 Boris 자신처럼 평범한 사용자 관점에서 만들었기 때문

터미널의 출력 상세도 결정 (11:29-15:44)

  • [11:50] 6개월 전 bash 출력을 숨기고 요약만 보여주는 실험을 했더니, 내부 사용자들이 하루 만에 반발 — “내 bash를 보고 싶다”
  • [12:35] 최근에는 파일 읽기/검색을 “파일 1개 읽음” 식으로 요약 표시하기 시작. 이전 모델에서는 불가능했지만, 모델이 좋아지면서 가능해짐
  • [13:03] GitHub 사용자들이 요약 표시를 싫어한 피드백을 반영해 verbose 모드를 추가
  • [13:34] Claude Code를 활용한 버그 수정이 “센트리에서 복사해서 붙이는 수준”으로 쉬워지고 있으며, 곧 MCP를 통한 완전 자동 버그 수정이 가능해질 전망

모델이 개선될수록 초심자 마인드셋이 핵심 (15:44-18:56)

  • [15:27] 메모리 누수 디버깅 사례: Boris는 직접 힙 덤프를 분석했지만, 다른 엔지니어는 Claude Code에게 시켰고 — Claude가 자체 분석 도구를 작성해 더 빨리 찾아냄
  • [15:38] “제 뇌가 아직 6개월 전에 멈춰 있다” — 경험 많은 엔지니어일수록 모델의 현재 능력을 과소평가하는 함정
  • [15:54] 신입이나 선입견 없는 사람이 오히려 베테랑보다 Claude Code를 더 효과적으로 활용하는 경우가 있음
  • [18:42] Boris가 CLAUDE.md에서 가장 좋아하는 항목: “모든 계획에 대해, 과도하게 설계됐는지, 덜 설계됐는지 판단하라”

하이퍼 스페셜리스트 vs 하이퍼 제너럴리스트 (18:56-21:51)

  • [18:56] 가장 효과적인 엔지니어의 특성: 시스템을 이해하고, 플랜 모드를 활용하며, 에이전트가 벗어날 때 바로잡을 수 있는 사람
  • [19:18] Claude Code 숙련도의 “거미줄 그래프”(NBA 2K 스타일): 시스템 이해, 테스트, 사용자 행동 이해, 디자인 감각, 자동화 능력 등 여러 축으로 구성

Claude 팀에 대한 비전 (21:51-23:48)

  • [22:30] Claude Teams의 첫 성공 사례: 플러그인 기능 전체가 주말 동안 에이전트 스웜에 의해 만들어짐 — 사람의 개입 거의 없이
  • [23:02] 작동 방식: 엔지니어가 스펙을 주고, 메인 에이전트(Quad)가 티켓을 생성하고 서브에이전트들이 각각 작업을 수행

서브에이전트 (23:48-25:12)

  • [23:48] 서브에이전트는 재귀적인 Claude Code — “mama Quad”가 프롬프트하고, 나머지는 독립적으로 작업
  • [23:53] Claude Insights가 디버깅에 서브에이전트를 더 활용하라고 권장 — 하나는 로그를, 다른 하나는 코드 경로를 보게 하는 방식
  • [24:27] 난이도에 따라 서브에이전트 수를 조절: 정말 어려운 버그는 5~10개 병렬로 조사
  • [24:39] CLAUDE.md는 “바로가기”일 뿐 — 같은 말을 반복하게 되면 넣고, 그렇지 않으면 그냥 프롬프트하면 됨

플랜 모드가 없는 세상? (25:12-28:38)

  • [25:02] Boris는 플랜 모드의 수명이 제한적이라고 예측 — “한 달이면 될지도 모른다”
  • [25:38] 플랜 모드에 큰 비밀은 없음: 프롬프트에 “코드를 작성하지 마세요” 문장 하나를 추가하는 것뿐
  • [26:18] 플랜 모드 탄생 비화: 일요일 밤 10시, GitHub 이슈와 Slack 피드백을 보다가 30분 만에 작성하고 그날 밤 배포
  • [27:01] Boris 자신은 세션의 80%를 플랜 모드로 시작하는 헤비 유저
  • [27:30] Opus 4.5/4.6 이후 계획만 잘 나오면 거의 매번 정확하게 실행됨

“[27:48] 다음 단계는 지켜볼 필요조차 없어지는 것입니다. 프롬프트를 던져주면 Claude가 알아서 해결해 줍니다.” — Boris Cherny

미래를 위해 만드는 창업자를 위한 팁 (28:38-30:07)

  • [28:38] 조언 1: 오늘의 모델에 맞추지 말고 6개월 뒤의 모델을 위해 만들 것. 지금 PMF를 찾아도 다음 모델 기준으로 만드는 경쟁자에게 추월당함
  • [29:22] 조언 2: Richard Sutton의 “The Bitter Lesson” — “더 일반적인 모델이 항상 더 특수한 모델을 이긴다”, 모델에 맞서 베팅하지 말 것
  • [29:29] 스캐폴딩은 전부 기술 부채로 가정할 것 — 몇 달만 기다리면 모델이 그냥 해버릴 수도 있음

터미널의 수명 (30:07-30:57)

  • [30:07] 터미널 형태는 아직 생명력이 있지만, Co-Work(데스크톱 앱 GUI 래퍼) 같은 비기술 사용자용 확장이 이미 진행 중

개발자 도구 창업자를 위한 조언 (30:57-32:11)

  • [31:29] 하지 말아야 할 방식: 모델을 상자에 넣고 “여기 API가 있다”고 제시하는 것. 올바른 방식: 모델이 어떤 도구를 쓰고 싶어 하는지 먼저 관찰한 뒤 그것을 가능하게 해줄 것
  • [31:44] 사용자의 문제를 먼저 생각하고, 모델의 요구와 사용자의 요구를 동시에 충족하는 해결책을 찾을 것

Claude Code와 TypeScript의 평행선 (32:11-35:34)

  • [32:10] Boris는 TypeScript가 인기 있기 전에 TypeScript 책을 쓴 얼리어답터 — 2010년대 초반, 모두가 JavaScript에 빠져 있던 시기
  • [33:29] Claude Code 코드베이스는 몇 주마다 도구를 내리거나 추가하며, 6개월 전부터 그대로였던 부분이 전혀 없음
  • [33:48] 현재 코드베이스의 80% 이상이 두어 달도 안 된 것 — 코드의 유통기한이 두어 달임을 기대하는 것이 최고의 창업자 마인드

터미널을 위한 설계는 어려웠다 (35:34-37:36)

  • [35:59] 터미널에는 DOM이 없어 스크롤 가상화, ANSI 이스케이프 코드 등 1960년대부터 내려온 스펙들을 다뤄야 했음
  • [36:26] 터미널 UX 원칙이 문서화되어 있지 않아 전부 직접 발견해야 했고, 스피너 문구 하나에 50-100번 반복을 거침
  • [37:04] Claude Code의 놀라운 점: 프로토타입을 연달아 20개 만들어 보는 게 몇 시간이면 가능. 예전에는 3개 만드는 데 2주가 걸렸음

빌더들을 위한 다른 조언 (37:36-40:31)

  • [37:47] 모델을 위해 만드는 두 가지 조언: (1) 6개월 뒤의 모델을 위해 만들 것, (2) “The Bitter Lesson” — 더 일반적인 모델이 항상 이긴다
  • [38:44] Claude Code에 기능을 제품으로 넣을 수도 있지만, 몇 달 기다리면 모델이 해버릴 수도 있음 — 항상 이 트레이드오프를 생각할 것
  • [39:29] “6개월 전부터 그대로인 부분이 없다” — 끊임없이 다시 쓰는 것이 Claude Code의 본질

엔지니어 1인당 생산성 (40:31-41:36)

  • [40:47] Steve Yegge의 글: Anthropic 엔지니어 한 명이 구글 전성기 엔지니어보다 1,000배 생산적
  • [40:52] 실제 내부 데이터: 팀 규모가 두 배로 늘었는데도, 엔지니어 1인당 PR 수 기준 생산성이 약 70% 증가
  • [41:04] Claude Code 도입 이후 Anthropic 엔지니어 1인당 생산성이 150% 증가 — Meta에서 생산성 2% 올리는 데 수백 명이 1년 걸렸던 것과 대비

Boris가 Anthropic에 합류한 이유 (41:36-44:46)

  • [41:48] 일본 시골에 살면서 매일 Hacker News를 읽다가, AI 뉴스가 점령하는 것을 보고 AI 제품들을 사용하기 시작
  • [42:26] 두 가지 이유: (1) 연구소처럼 운영되며 모델이 가장 중요한 곳, (2) SF 소설 독자로서 AI 안전 미션에 공감
  • [43:47] Dario는 Anthropic 코드의 90%가 Claude에 의해 작성될 것이라 예측했고, 이는 실현됨

“[43:58] 저는 IDE를 삭제했습니다. 코드를 한 줄도 손으로 편집하지 않습니다. 전부 Claude Code와 Opus로만 합니다. 매일 PR을 하루에 20개 정도씩 머지합니다.” — Boris Cherny

코딩은 어떻게 바뀔까 (44:46-46:22)

  • [44:49] 코딩은 대체로 모두에게 “해결된 문제”가 될 것이며, Boris에게는 이미 해결됨
  • [44:59] “소프트웨어 엔지니어”라는 직함은 사라지고 “빌더”나 “프로덕트 매니저”로 대체될 것
  • [45:17] Anthropic 팀에서는 이미 PM, 디자이너, EM, 재무 담당자 등 모든 역할이 코딩을 하고 있음
  • [45:42] ASL4(모델의 재귀적 자기개선 단계)에 대한 경계 — Anthropic은 안전 기준 충족 없이는 모델을 출시하지 않음

마무리 (46:22-50:10)

  • [46:10] Boris가 Claude Code를 만들면서 가장 겸손해진 순간: 사람들이 예상 밖의 방식으로 활용하는 것을 볼 때
  • [47:13] Mercury 기준 스타트업 70%가 Claude를 선호 모델로 선택. Semi Analysis 기준 공개 커밋의 4%가 Claude Code로 생성
  • [47:35] 가장 자랑스러운 사례: Claude Code가 NASA 퍼서비어런스 화성 로버의 항로를 계산한 것
  • [48:08] Co-Work 탄생: 트위터에서 비기술 사용자들이 Claude Code를 활용하는 것을 보고 수요를 확인. 10일 만에 Claude Code가 100% 작성한 데스크톱 앱 GUI 래퍼로 제작