Anthropic Claude Code 개발자 Boris Cherny가 말하는 AI 코딩 도구의 미래, 개발자 생산성 1000배 향상, 그리고 소프트웨어 엔지니어링의 변화
Claude Code 창시자 Boris Cherny와의 대화: AI 코딩 혁명의 미래
핵심 요약
- AI 코딩 도구의 패러다임 변화: Claude Code는 터미널 기반의 간단한 인터페이스에서 시작해 전 세계 개발자들의 생산성을 급격히 향상시키고 있습니다
- 생산성 혁명의 증거: Anthropic 엔지니어들은 Google의 전성기 엔지니어보다 1,000배 높은 생산성을 기록하고 있으며, 팀당 70~90%의 코드가 Claude에 의해 작성되고 있습니다
- 미래 지향적 개발 철학: 현재의 모델이 아닌 6개월 후의 모델을 위해 설계하는 것이 성공의 핵심이며, 모델 개선에 베팅하는 것이 스캐폴딩 코드 작성보다 효율적입니다
- 제품 개발의 핵심 원칙: 잠재적 수요(latent demand)를 이해하고 사용자의 자연스러운 행동 패턴을 관찰하며, 사용자와 모델 모두의 요구를 충족하는 솔루션을 만드는 것이 중요합니다
- 엔지니어링 문화의 진화: 경험과 강한 의견을 갖춘 시니어 엔지니어보다는 과학적 사고와 겸손함을 가진 개발자가 AI 시대에 더욱 가치 있으며, 실패에서 배우는 능력이 핵심 역량입니다
Claude Code: 우연에서 시작된 혁신
Boris Cherny가 Claude Code를 만들게 된 계기는 매우 우연이었습니다. Anthropic의 Labs 팀에 입사했을 당시, 특정한 제품을 만들라는 지시는 받지 않았습니다. 대신 AI 모델이 코딩에 준비되었다는 직관이 있었고, 이를 활용할 제품이 없다는 것을 깨달았습니다.
처음에 Boris는 단순히 Anthropic API를 사용하는 방법을 배우기 위해 작은 터미널 앱을 만들었습니다. 당시 대부분의 AI 애플리케이션이 채팅 형태였기 때문에, 터미널 환경에서 질문을 하고 답변을 받는 간단한 형태로 시작했습니다. 하지만 Tool Use 기능이 나왔을 때, 그는 모델이 실제로 도구를 사용할 수 있는지 테스트해보고 싶었습니다.
그 순간이 게임체인저가 되었습니다. 파일을 읽도록 지시했을 때 모델이 cat 명령을 사용했고, 음악 정보를 조회하도록 요청했을 때 AppleScript를 작성하여 Mac 음악 플레이어에 접근했습니다. 이것이 Boris가 처음 느낀 "AGI의 감각"이었습니다. 모델은 단지 도구를 사용하고 싶어 했습니다. 이것이 Claude Code의 핵심이 되었습니다.
터미널이 지금도 여전히 사용되고 있는 이유는 단순한 설계 제약이 흥미로운 개발자 경험을 가능하게 했기 때문입니다. 파일 관리에 대해 생각할 필요가 없고, 마치 게임을 하는 것처럼 즐겁습니다. 이는 완전히 의도되지 않은 결과였습니다. 초기 프로토타입을 팀에 공유한 지 2일 후, Boris 옆 자리의 엔지니어 Robert가 이미 Claude Code를 사용해 코드를 작성하고 있었습니다. Boris가 아직 준비 단계라고 생각했을 때 이미 유용했던 것입니다.
조직 내 폭발적인 채택: 사용자 중심의 발전
Claude Code가 2024년 12월 외부에 출시되기 전, Anthropic 내부에서의 채택은 놀라웠습니다. 강제하지 않았는데도 엔지니어들이 자발적으로 사용하기 시작했습니다. 실제로 Dario(Anthropic CEO)는 개발자 사용량 차트를 보고 Boris가 엔지니어들을 강제로 사용하게 하는지 물어봤을 정도였습니다.
초기 사용 사례는 주로 Git 명령 자동화, Bash 명령 자동화, Kubernetes 운영이었습니다. 가장 먼저 채택된 것은 단위 테스트 작성이었는데, 이는 위험도가 낮기 때문이었습니다. 하지만 엔지니어들이 이 도구를 사용하며 배우면서, 한 가지 흥미로운 패턴이 나타났습니다. 개발자들이 자신들을 위해 Markdown 파일을 작성하고, 모델이 그 파일을 읽도록 하기 시작한 것입니다. 이것이 Claude MD의 기원이 되었습니다.
Claude MD는 극히 간단합니다. Boris의 Claude MD는 단 2줄입니다. 첫 번째 줄은 PR(Pull Request)이 올라올 때 자동 머지를 활성화하는 것이고, 두 번째 줄은 PR을 팀 Slack 채널에 게시하는 것입니다. 이를 통해 Boris는 코드 리뷰를 반복적으로 받을 필요 없이 진행할 수 있습니다. 다른 모든 지시사항은 코드베이스에 체크인된 문서로 관리되며, 팀 전체가 주당 여러 번 기여합니다.
Boris는 많은 사람들이 Claude MD를 과도하게 엔지니어링한다고 지적합니다. 일반적으로 수천 개의 토큰으로 커질 수 있지만, 실제로 효과적인 Claude MD는 매우 짧습니다. 모델의 역량이 새 버전마다 진화하기 때문에, 목표는 모델을 올바른 방향으로 유지하기 위해 최소한의 조치를 취하는 것입니다. 만약 Claude MD를 삭제하고 모델이 궤도에서 벗어난다면, 그때 특정 지시사항을 하나씩 다시 추가하면 됩니다.
터미널 인터페이스: 제약이 만드는 창의성
Boris는 자신을 평범한 엔지니어라고 표현합니다. Vim 같은 화려한 도구는 사용하지 않고 VS Code를 선호합니다. 많은 엔지니어가 자신의 선호 도구를 가지고 있으며, 모든 사람을 위한 하나의 솔루션은 없습니다. 하지만 이러한 접근 방식이 Claude Code를 매우 효과적으로 만들었습니다. Boris는 자신에게 의미 있는 제품을 만들 수 있었고, 사용자는 Vim, Tmux, SSH 전문가일 필요가 없었습니다.
Claude Code는 React Terminal으로 만든 미학적으로 아름다운 터미널 애플리케이션입니다. 터미널 디자인은 도전적입니다. 80x24 문자 그리드, 256 색상, 한 가지 글꼴 크기, 직접적인 마우스 상호작용이 없는 제약 조건이 있습니다. Boris와 팀은 이 제약 조건 내에서 많은 요소를 재발명해야 했습니다.
예를 들어, 터미널 스피너(로딩 표시기)는 50~100번 반복하며 개선되었고, 80%는 실제 제품에 포함되지 않았습니다. 테스트하고 좋지 않은 것을 버리고 계속 진행했습니다. 이 반복적 과정이 Claude Code를 놀랍게 만듭니다. 몇 시간 안에 20개의 다른 버전을 빠르게 프로토타입할 수 있고, 최고의 것을 출시할 수 있습니다. 이는 이전 프로토타입 도구로 몇 주가 걸렸던 것과 대조적입니다.
모델 능력의 급속한 진화: 6개월 후를 위한 설계
Boris가 제공하는 가장 중요한 조언은 두 가지입니다. 첫째, 오늘의 모델을 위해 설계하지 말고 6개월 후의 모델을 위해 설계하세요. 이것은 현재의 제품-시장 적합성을 무시하는 것처럼 보이지만, 미래의 모델 역량을 예상하지 못하면 더 진화된 모델을 위해 구축하는 경쟁자에게 추월당합니다. 모델들은 몇 개월마다 새로운 버전이 출시되기 때문입니다.
둘째, Rich Sutton의 "The Bitter Lesson" 논문에서 비롯된 원칙입니다. Anthropic 사무실에는 이 논문의 액자가 걸려 있습니다. 핵심 아이디어는 더 일반적인 모델이 항상 더 구체적인 모델을 능가한다는 것입니다. 핵심 교훈은 모델에 베팅하지 말아야 한다는 것이 아니라, 모델에 베팅해야 한다는 것입니다.
Claude Code 팀은 지속적으로 이 균형을 고민합니다. 지금 엔지니어링 작업을 투자하여 Claude Code의 역량을 10~20% 확장할 수 있습니다. 이를 위해 모델 자체가 아닌 "스캐폴딩" 코드를 작성할 수 있습니다. 또는 몇 개월을 기다려서 모델 자체가 개선되고 그 기능을 기본적으로 처리하도록 할 수 있습니다. 이는 어디에 노력을 투자할지 결정하는 것을 의미하며, 모든 스캐폴딩 코드는 결국 기술 부채가 될 수 있습니다.
Claude Code의 코드베이스는 지속적으로 다시 작성됩니다. 6개월 전의 코드는 더 이상 존재하지 않습니다. 매 2주마다 도구가 언쉽되고 새로운 도구가 추가됩니다. 이것이 새로운 표준입니다. 솔루션의 수명은 종종 단 몇 개월입니다.
모델의 자동 개선: 곧 Plan Mode도 필요 없을 수 있습니다
Boris는 Plan Mode가 제한된 수명을 가질 수 있다고 언급했습니다. 실제로 Plan Mode는 매우 간단합니다. 프롬프트에 "Please don't code"라는 한 문장을 추가하는 것뿐입니다. GitHub 이슈와 내부 Slack 피드백 채널을 통해 사용자들이 계획을 세우되 코드를 작성하지 않기를 원한다는 것을 봤습니다.
Boris는 일요일 밤 10시에 GitHub 이슈를 보다가 30분 만에 Plan Mode를 구현하고 월요일 아침에 출시했습니다. 이것이 사용자 중심의 제품 개발입니다. 현재 Claude Code는 Plan Mode를 자동으로 입력할 수 있습니다. 팀은 이 경험을 정정하려고 노력하고 있어, 인간이 Plan Mode를 원할 때와 같은 시점에 입력하도록 작동합니다.
모델 역량 측면에서, 6개월 전에는 계획이 부족했을 수 있습니다. 따라서 Claude가 계획을 세우도록 했지만, Plan Mode에서도 오도될 수 있어 주시해야 했습니다. 현재 Boris의 세션의 약 80%는 Plan Mode에서 시작합니다. Claude가 계획을 시작하면, 그는 다른 터미널 탭으로 이동하고 다른 계획을 세우게 합니다. 탭이 모두 차면 데스크톱 앱을 열고 코드 탭에서 여러 탭을 시작합니다. 거의 80%는 Plan Mode에서 시작합니다.
Opus 4.5(또는 4.6부터 시작)를 사용하면 계획이 좋아지면 모델이 궤도를 유지하고 거의 매번 정확하게 실행합니다. 따라서 이전에는 계획 전후로 주시해야 했다면, 이제는 계획 전에만 주시하면 됩니다. 다음 단계는 주시할 필요가 없을 것입니다. 단순히 프롬프트를 제시하고 Claude가 알아서 해결할 것입니다. 그 다음 단계는 Claude가 직접 사용자와 대화하는 것입니다. 이는 이미 일어나고 있습니다.
엔지니어 생산성의 혁명: 1000배 향상의 현실
Steve Yegge의 게시물을 언급하며, Boris는 Anthropic 엔지니어의 생산성이 Google의 전성기 엔지니어보다 1,000배 높다는 놀라운 통계를 인용했습니다. 그는 이것을 믿기 어려운 수치라고 느끼며, 단 3년 전만 해도 10배 생산성 엔지니어에 대해 이야기했지만, 이제는 Google의 최고 전성기 엔지니어보다 1,000배나 높다고 말합니다.
내부적으로 모든 기술 직원이 매일 Claude Code를 사용하며, 영업팀의 절반도 비기술적인 업무에 사용하고 있습니다. 지난해 팀 규모가 두 배로 성장했지만, 엔지니어 1인당 생산성은 약 70% 증가했습니다. Boris는 Meta에서 코드 품질을 담당했던 경험을 회상하며, 당시 2%의 생산성 향상을 위해 수백 명이 1년 내내 노력해야 했지만, Claude Code를 통해 Anthropic에서 150%의 생산성 향상을 달성한 것은 전례 없는 일이라고 강조했습니다.
Dario는 6개월 전에 Anthropic 코드의 90%가 Claude에 의해 작성될 것이라고 예측했으며, 이 예측이 실제로 이루어졌습니다. Boris는 개인적으로 Opus 4.5 이후 100% Claude 코드를 사용하고 있으며, IDE를 제거하고 수동으로 코드를 편집하지 않으면서 매일 20개 정도의 코드 변경을 처리하고 있습니다. Anthropic 전체적으로도 팀에 따라 Claude Code의 비중이 70~90%에 달하며, 많은 사람들이 100%를 달성하고 있습니다.
소프트웨어 엔지니어링의 미래: 새로운 직책의 등장
Claude Code가 GA(General Availability)되었던 지난 5월, Boris는 IDE가 더 이상 코딩에 필요하지 않을 것이라고 예측했습니다. 당시에는 이 예측이 "미친 소리"로 들렸을 것입니다. 하지만 이는 단지 기하급수적인 추세를 따른 것일 뿐입니다. Anthropic의 세 창립자가 스케일링 법칙 논문의 공동 저자였기 때문에, 이러한 변화를 일찍이 알아차렸습니다.
기하급수적인 추세를 계속 따른다면 코딩은 보편적으로 해결될 것입니다. 이는 "소프트웨어 엔지니어"라는 직함이 사라지고 "빌더" 또는 "제품 관리자"와 같은 직함으로 대체될 것을 의미합니다. 엔지니어들은 코딩 대신 사양 작성이나 사용자 소통과 같은 더 높은 단계의 업무에 집중하게 될 것입니다.
더 높은 단계로 나아갈 경우, 즉 모델이 재귀적으로 자기 개선하는 ASI(Artificial Super Intelligence) 수준에 도달할 때의 시나리오는 훨씬 더 심각합니다. 모델이 생물학적 바이러스나 제로데이 취약점을 설계하는 등 재앙적인 오용이 발생할 수 있으므로, 모델을 출시하기 전에 엄격한 기준을 충족해야 합니다. Anthropic의 임무는 안전한 AGI(Artificial General Intelligence) 개발에 있으며, 이는 모든 의사결정의 중심에 있습니다.
개발자 채용: Claude Code 트랜스크립트라는 새로운 신호
흥미롭게도 Anthropic은 이제 Claude Code 트랜스크립트를 기반으로 개발자를 채용하고 있습니다. Claude Code 또는 Codex로 기능을 코딩하는 트랜스크립트를 업로드할 수 있는 기능을 테스트로 추가했습니다. Boris는 이것이 효과적일 것이라고 생각합니다.
트랜스크립트를 통해 누군가가 어떻게 생각하는지, 로그를 확인하는지, 에이전트가 궤도에서 벗어났을 때 수정할 수 있는지, Plan Mode를 언제 사용하는지, Plan Mode를 사용할 때 테스트를 보장하는지 등을 파악할 수 있습니다. 시스템에 대해 생각하는지, 심지어 시스템을 이해하는지 등 많은 것이 내재되어 있습니다.
Boris는 NBA 2K 비디오 게임의 스파이더 웹 그래프처럼 누군가의 Claude Code 기술 수준을 시각화하는 것을 상상합니다. 여기서 슈팅이나 수비 능력이 표시되는 것처럼, Claude Code 기술의 스파이더 웹 그래프가 있을 수 있습니다. 이러한 기술에는 시스템, 테스트, 설계, 제품 감각, 자동화 등이 포함될 수 있습니다.
팀 구성: 전문가와 일반인의 조화
Boris가 가장 효과적인 엔지니어들을 살펴보면 매우 양극단적입니다. 한 편에는 Jared 같은 극도의 전문가가 있어 개발자 도구와 JavaScript 런타임 시스템을 다른 누구보다 잘 이해합니다. 반대편에는 하이퍼 제너럴리스트들이 있으며, 제품과 인프라, 제품과 설계, 제품과 사용자 연구, 제품과 비즈니스 등 다양한 분야에 걸쳐 있습니다. Boris는 "이상한 일"을 하는 사람들을 보기를 좋아합니다.
과거에는 이것이 거의 경고 신호였습니다. 이 사람들이 실제로 유용한 것을 만들 수 있을까? 하지만 요즘은 AI 시대에서 이것이 더 중요해졌습니다. 예를 들어, Daisy라는 팀의 엔지니어는 처음 팀에 입사한 지 몇 주 후에 Claude Code PR을 올렸습니다. 기능을 추가하는 대신, 먼저 Claude Code가 임의의 도구를 테스트하고 작동하는지 확인할 수 있도록 하는 도구를 추가하는 PR을 올렸습니다. 그런 다음 그녀 자신이 구현하는 대신 Claude가 자신의 도구를 작성하도록 했습니다. 이런 종류의 창의적인 사고가 정말 흥미롭습니다.
진화하는 기술 요구사항: 과학적 사고와 겸손함
높은 수준의 엔지니어링 분야에서 실수하는 경향이 있습니다. 경험 많은 엔지니어들은 종종 강한 의견을 갖는 것으로 보상받습니다. Boris가 대형 회사에서 아키텍트나 이런 유형의 엔지니어를 채용할 때, 많은 경험과 강한 의견을 가진 사람들을 찾았습니다. 하지만 많은 것이 더 이상 관련이 없으며, 모델이 지속적으로 개선되기 때문에 많은 의견이 바뀌어야 합니다.
Boris는 가장 큰 기술이 실제로 과학적으로 생각하고 처음 원칙부터 생각할 수 있는 사람들이라고 생각합니다. 채용할 때 Boris는 때때로 누군가가 잘못된 적이 있는 예시를 묻습니다. 이것은 매우 좋은 질문입니다. 일부 고전적인 행동 질문(코딩 질문이 아님)은 매우 유용할 수 있습니다. 후광편향으로 사람들이 자신의 실수를 인정하는지, 책임을 지는지, 배우는지 볼 수 있습니다. 많은 선배, 특히 창업자들은 이것을 잘합니다. 하지만 다른 사람들은 실수에 대해 절대 책임을 지지 않습니다.
Boris는 개인적으로 절반쯤은 잘못된다고 말합니다. 그의 아이디어의 절반은 나쁩니다. 당신은 단지 일을 시도해야 합니다. 당신은 사용자에게 제공합니다. 당신은 사용자와 대화합니다. 당신은 배웁니다. 결국, 당신은 좋은 아이디어로 끝날 수도 있습니다. 때때로 당신은 그렇지 않습니다. 이것은 과거에 창업자들에게 매우 중요한 기술이었지만, 이제 모든 엔지니어에게 매우 중요합니다.
AI 시대의 개발자 도구: 모델이 원하는 것에 초점을 맞추기
개발자 도구 창업자들을 위한 Boris의 조언은 명확합니다. 모델이 원하는 것을 생각하고 그것을 더 쉽게 만드는 방법을 파악하세요. Claude Code를 처음 해킹하기 시작했을 때, Boris는 모델이 단지 도구를 사용하고 싶어 한다는 것을 깨달았습니다. 그것이 세상과 상호작용하기를 원합니다. 어떻게 그것을 가능하게 합니까?
API를 제공하고 "여기 상호작용하는 방법이 있고, 여기 세상과 상호작용하는 방법이 있습니다"라고 말하는 것이 방법이 아닙니다. 방법은 도구가 무엇을 사용하고 싶어 하는지, 무엇을 하려고 하는지 보는 것입니다. 그리고 그것을 가능하게 하는 것입니다. 사용자를 위해 할 때와 같은 방식입니다.
개발자 도구 스타트업을 구축 중이라면, 생각해야 할 것: 사용자를 위해 해결하고 싶은 문제는 무엇입니까? 그리고 모델을 적용하여 이 문제를 해결할 때, 모델이 하고 싶은 일은 무엇입니까? 그리고 둘 다의 잠재적 요구를 충족하는 기술적, 제품적 솔루션은 무엇입니까?
잠재적 요구의 진화: 비기술 사용자를 위한 확장
최근 몇 달 동안 Claude Code는 비기술 사용자들도 사용할 수 있는 방식으로 확장되었습니다. 이것이 나타난 이유는 잠재적 요구였습니다(Boris가 이미 다섯 번째로 "잠재적 요구"라는 단어를 사용했습니다).
Twitter를 살펴보면 토마토 식물을 모니터링하기 위해 Claude Code를 사용하는 사람, 손상된 하드 드라이브에서 결혼식 사진을 복구하기 위해 Claude Code를 사용하는 다른 사람, 금융에 사용하는 사람들을 보았습니다. 내부적으로 Anthropic을 살펴보면, 모든 디자이너가 사용하고 있으며, 전체 금융 팀과 전체 데이터 과학 팀이 코딩을 위해서가 아니라 사용하고 있습니다.
사람들은 터미널에 이를 설치하기 위해 고민하고 있습니다. 팀은 한동안 뭔가 만들기를 원했고 다양한 아이디어를 실험했습니다. 정말로 떠오른 것은 데스크톱 앱의 Claude Code 래퍼일 뿐입니다. 내부적으로 동일한 에이전트입니다. Felix는 초기 Electron 기여자였고 그 스택을 정말 잘 알았습니다. 그들은 약 10일 안에 구축했고, 100% Claude Code로 작성되었으며 릴리스할 준비가 된 것처럼 느껴졌습니다.
비기술적 사용자를 위해 구축해야 할 많은 것들이 있습니다. 이는 기술적 청중과는 조금 다릅니다. 모든 코드는 가상 머신에서 실행되며, 삭제 등에 대한 많은 보호가 있습니다. 또한 사용자를 위한 많은 권한 프롬프팅 및 기타 안전장치가 있습니다. 하지만 네, 실제로는 꽤 명확했습니다.
결론
Claude Code의 창시자 Boris Cherny와의 대화에서 나타나는 핵심 메시지는 명확합니다. 현재의 모델이 아닌 미래의 모델을 위해 설계하고, 사용자의 잠재적 요구를 관찰하며, 모델에 베팅하고, 과학적 사고와 겸손함으로 무장한 팀을 구성하는 것이 AI 시대의 성공 전략입니다.
개발자 생산성이 1,000배 향상되고, 코딩이라는 기술이 점진적으로 자동화되며, 소프트웨어 엔지니어링의 본질이 변화하는 지금, 가장 중요한 것은 변화에 적응하고 학습할 수 있는 능력입니다. Claude Code는 단순한 코딩 도구가 아니라, AI 시대에 인간과 머신이 어떻게 함께 일해야 하는지를 보여주는 패러다임입니다.
AI와 협력하는 방식을 이해하고, 지속적으로 학습하며, 사용자 중심의 사고로 제품을 개발하는 개발자와 창업가들이 이 새로운 시대의 주인공이 될 것입니다. Boris의 여정은 우연에서 시작되었지만, 그것이 가장 혁신적인 제품을 만들 수 있다는 증거입니다.
Original source: Inside Claude Code With Its Creator Boris Cherny
powered by osmu.app