Claude Code 바이브 코딩 실전 가이드
Continuous Agentic Development로 가는 여정
들어가며: 개발자 한 명이 만든 기적
2024년 9월, Boris Cherny는 개인 프로젝트로 Claude Code라는 도구를 만들었습니다. 그는 이것이 얼마나 큰 변화를 가져올지 상상하지 못했습니다. 불과 몇 달 후, 이 도구는 수많은 엔지니어들의 핵심 개발 도구가 되었고, 사람들은 이것을 코딩부터 DevOps, 연구, 심지어 비기술적 업무에까지 활용하기 시작했습니다.
Boris가 트위터에 공유한 통계는 놀라웠습니다. 지난 30일 동안 그는 259개의 Pull Request를 제출했습니다. 497번의 커밋을 했고, 4만 줄의 코드를 추가했으며, 3만 8천 줄의 코드를 삭제했습니다. 총 7만 8천 줄의 코드를 수정한 것입니다. 그런데 가장 놀라운 사실은 이 모든 코드가 Claude Code와 Opus 4.5에 의해 작성되었다는 점입니다.
1년 전만 해도 Claude는 bash 명령어 하나를 이스케이프 문제 없이 생성하는 것조차 어려워했습니다. 몇 초에서 몇 분 정도 작동하는 것이 고작이었습니다. 하지만 지금은 다릅니다. Claude는 몇 분, 몇 시간, 심지어 며칠 동안 연속으로 작동합니다. Boris는 이것을 “코딩 역사의 새로운 시대”라고 표현했습니다.
Continuous Agentic Development의 탄생
Aakash Gupta는 Boris의 작업 방식을 분석하며 “Continuous Agentic Development”라는 새로운 개념을 제시했습니다. 이것은 단순히 AI 도구를 사용하는 것을 넘어서, 개발자의 역할 자체가 근본적으로 변화하는 것을 의미합니다.
전통적인 개발 방식에서 개발자는 시간의 80%를 실제 코드 작성, 디버깅, 리팩토링, 테스트 등 생산 활동에 사용했습니다. 나머지 20%만이 무엇을 만들지 결정하고 방향을 설정하는 데 쓰였습니다. Continuous Agentic Development는 이 비율을 완전히 뒤집었습니다.
이제 개발자는 시간의 20%만 생산 활동을 감독하는 데 사용합니다. AI가 생성한 코드를 검토하고, 필요하면 방향을 수정하고, 다시 실행하는 것입니다. 나머지 80%는 전략적 방향 설정에 집중합니다. 비즈니스 가치를 정의하고, 시스템 구조를 설계하고, 사용자 경험을 최적화하는 것입니다.
이 변화의 핵심은 개발자가 “편집장(Editor-in-Chief)”의 역할로 전환한다는 것입니다. 당신은 의도를 설정하고, AI는 그것을 코드로 변환합니다. 당신은 결과물을 검토하고, 필요하면 방향을 조정하고, 최종적으로 배포합니다. 기계적인 코드 작성 작업은 자동으로 처리되고, 당신은 창의적인 결정에 집중할 수 있습니다.
30일 만에 259개 PR을 만드는 방법
Boris의 기여 그래프를 보면 놀라운 점이 하나 더 있습니다. 10월부터 12월까지 지속적으로 높은 강도의 작업이 이루어졌는데, 번아웃의 패턴이 보이지 않습니다. 작업 사이의 공백도 없습니다. 인지적 부하가 변화했기 때문입니다. 그는 구현 세부사항을 일일이 처리하는 대신 전체적인 방향을 조율하는 데 집중했습니다.
이것이 가능했던 이유는 Claude Code의 범위 때문입니다. GitHub Copilot 같은 자동완성 도구는 다음 줄의 코드를 제안합니다. 하지만 Claude Code는 전체 작업 흐름을 실행합니다. 코드베이스를 읽고, 맥락을 이해하고, 아키텍처 결정을 내리고, 테스트를 작성하고, 엣지 케이스를 처리하고, 피드백을 받아 반복합니다.
Boris가 언급한 “Stop hooks”는 이러한 연속적 개발을 가능하게 하는 핵심 기능입니다. Claude Code는 당신이 멈추라고 할 때까지 무한정 실행될 수 있습니다. 복잡한 기능을 구현하라고 지시하면, Claude는 필요한 모든 파일을 생성하고, 의존성을 설정하고, 테스트를 작성하고, 문서를 만듭니다. 당신은 중간중간 체크포인트에서 검토하고, 필요하면 방향을 조정하면 됩니다.
첫 걸음: 바이브 코딩 감각 익히기
바이브 코딩을 시작하는 가장 좋은 방법은 작은 것부터 시작하는 것입니다. 첫 주에는 단일 기능 개발로 Claude Code와의 협업 감각을 익혀보세요. 예를 들어, 주식 목록 컴포넌트에 정렬 기능을 추가하는 것부터 시작할 수 있습니다.
Claude Code 세션을 시작하고 이렇게 말해보세요. “StockList 컴포넌트에 정렬 기능을 추가해줘. 종목명, 종목코드, 예측 가격으로 정렬할 수 있게 해줘.” Claude는 먼저 요구사항을 분석합니다. 그다음 관련된 파일들을 찾아냅니다. StockList.js 파일을 열고, 현재 구조를 이해하고, 어떤 변경이 필요한지 판단합니다.
Claude는 변경사항을 제안할 것입니다. 아마도 useState 훅을 추가해서 정렬 상태를 관리하고, 정렬 함수를 구현하고, UI에 정렬 버튼을 추가하는 식일 것입니다. 당신은 이 제안을 검토하고 승인합니다. Claude는 즉시 코드를 수정합니다. 그리고 나서 테스트 코드를 작성할지 물어볼 것입니다.
이 과정에서 당신은 몇 가지 중요한 것을 배웁니다. 첫째, 명확한 지시의 중요성입니다. “코드 좀 고쳐줘”라고 하는 것과 “StockList 컴포넌트에 정렬 기능 추가”라고 하는 것은 완전히 다른 결과를 만듭니다. 둘째, AI가 얼마나 많은 맥락을 이해할 수 있는지 파악하게 됩니다. Claude는 단순히 코드를 생성하는 것이 아니라 프로젝트 전체의 구조를 이해하고 있습니다. 셋째, 검토와 승인 과정의 중요성을 깨닫습니다. AI는 강력하지만 완벽하지 않습니다. 당신의 검토가 품질을 보장합니다.
다음 단계: 전체 스택 작업
첫 주가 끝나갈 무렵에는 좀 더 복잡한 작업에 도전해볼 차례입니다. 프론트엔드와 백엔드를 동시에 수정하는 작업을 해보세요. 예를 들어, 주식 즐겨찾기 기능을 추가한다고 생각해봅시다.
Claude에게 이렇게 요청합니다. “주식 즐겨찾기 기능을 추가해줘. 백엔드에는 FavoriteStock 엔티티, Mapper, Service, Controller가 필요해. 프론트엔드에는 즐겨찾기 버튼 UI와 API 연동이 필요해. 데이터베이스에는 favorite_stocks 테이블을 만들어야 해.”
Boris의 작업 방식을 적용하면, 이 모든 것을 한 번에 요청합니다. 작은 조각들로 나누어 하나씩 요청하는 것이 아니라, 전체 기능을 한 번에 설명하는 것입니다. Claude는 전체적인 그림을 이해하고, 여러 파일을 동시에 수정하기 시작합니다.
백엔드에서는 새로운 엔티티 클래스를 만들고, MyBatis Mapper 인터페이스와 XML을 생성하고, 서비스 레이어에 비즈니스 로직을 추가하고, REST API 엔드포인트를 만듭니다. 프론트엔드에서는 즐겨찾기 버튼 컴포넌트를 만들고, API 호출 함수를 추가하고, 상태 관리를 구현합니다. 데이터베이스에는 새로운 테이블을 만드는 SQL 스크립트를 생성합니다.
각 단계마다 Claude는 진행 상황을 보고합니다. 당신은 각 단계를 검토하고 피드백을 줍니다. 여기서 중요한 것은 전체 흐름을 유지하는 것입니다. 작은 문제에 얽매이지 말고, 큰 그림을 보면서 방향을 조정해야 합니다.
연속 작업의 마법: Stop Hooks 활용하기
첫 주가 끝날 무렵이면, Stop Hooks를 활용한 장시간 세션을 경험해볼 준비가 됩니다. 이것이 Boris가 말하는 “분, 시간, 일 단위로 실행되는” Claude의 진정한 힘입니다.
복잡한 기능 체인을 Claude에게 맡겨보세요. “주식 포트폴리오 관리 시스템을 만들어줘. 1단계는 포트폴리오 CRUD 백엔드야. 2단계는 포트폴리오 목록과 상세 UI야. 3단계는 포트폴리오별 수익률 계산이야. 4단계는 차트로 시각화하는 거고 Recharts를 써줘. 5단계는 CSV로 내보내기 기능이야. 각 단계가 완료되면 다음 단계로 자동으로 진행해줘. 문제가 있으면 멈추고 알려줘.”
Claude는 이제 자율적으로 작업을 진행합니다. 1단계를 완료하고, 당신에게 확인을 요청하고, 승인을 받으면 2단계로 넘어갑니다. 당신은 커피를 마시러 가도 됩니다. 30분 후에 돌아오면 Claude는 이미 3단계를 진행 중일 것입니다.
이것이 연속적인 작업 흐름의 힘입니다. 당신은 더 이상 키보드 앞에 앉아서 모든 코드를 직접 타이핑할 필요가 없습니다. 대신, 전략적인 체크포인트에서 방향을 확인하고 조정하면 됩니다. 각 단계가 완료되면 검증하고, 다음 단계로 진행하라고 지시하면 됩니다.
편집장으로서의 개발자
2주차가 되면, 당신은 진정한 “Editor-in-Chief” 역할을 시작할 수 있습니다. 아침에 출근해서 Claude에게 하루 전체의 작업 계획을 맡기는 것입니다.
“오늘의 목표는 사용자 인증 시스템을 추가하는 거야. Spring Security를 사용해서 JWT 토큰 기반 로그인을 구현해줘. 프론트엔드에는 로그인 페이지를 만들고, 보호된 API 엔드포인트를 설정해줘. 우선순위대로 구현하고, 각 단계 완료 후에 보고해줘. 보안 취약점이 있으면 반드시 지적해줘.”
Claude는 하루 종일 작업합니다. 당신은 2시간마다 진행 상황을 확인합니다. 아침에는 Spring Security 설정이 완료되었습니다. 점심 때는 JWT 토큰 생성 로직이 구현되었습니다. 오후에는 프론트엔드 로그인 폼이 만들어졌습니다. 저녁에는 모든 API 엔드포인트에 인증이 적용되었습니다.
저녁에 30분 정도 시간을 내어 오늘 생성된 모든 코드를 리뷰합니다. 아키텍처 결정이 올바른지 검증합니다. 보안 취약점이 없는지 확인합니다. 내일의 작업 방향을 설정합니다. 이것이 전부입니다. 당신은 하루 종일 코드를 타이핑하지 않았지만, 전체 인증 시스템을 구축했습니다.
대규모 리팩토링: Boris 스타일로
3주차에는 Boris가 하는 것처럼 대규모 작업에 도전해볼 차례입니다. 전체 프로젝트 리팩토링을 일주일 프로젝트로 계획해보세요.
Claude에게 이렇게 지시합니다. “전체 프로젝트 리팩토링을 진행할 거야. Phase 1은 아키텍처 개선이야. 컨트롤러 레이어를 public API와 admin API로 분리하고, 서비스 레이어의 책임을 명확히 하고, DTO 변환 로직을 통일해줘. Phase 2는 코드 품질 향상이야. 중복 코드를 제거하고, 매직 넘버를 상수로 바꾸고, 에러 처리를 표준화해줘. Phase 3은 테스트 커버리지야. 각 서비스에 단위 테스트를 추가하고, 통합 테스트도 만들어줘. 목표 커버리지는 80%야. 일주일 동안 진행할 예정이니까 매일 진행상황을 정리해줘.”
Claude는 일주일 동안 작업합니다. 매일 아침, 어제의 작업 내용과 오늘의 계획을 보고받습니다. 매일 저녁, 오늘의 성과와 발견한 문제점을 보고받습니다. 금요일 저녁에는 전체 프로젝트가 깨끗하게 리팩토링되어 있고, 테스트 커버리지는 82%에 달합니다.
Git 통계를 확인해보세요. 일주일 동안 얼마나 많은 커밋이 있었는지, 얼마나 많은 라인이 변경되었는지. Boris처럼 하루에 수십 개의 커밋이 생성되었을 것입니다. 하지만 당신은 번아웃되지 않았습니다. 왜냐하면 당신은 방향을 설정하는 데 집중했고, 실제 구현은 Claude가 했기 때문입니다.
259 Pull Requests 도전하기
이제 4주차입니다. Boris처럼 한 달에 259개의 PR을 만드는 도전을 시작할 준비가 되었습니다. 현실적인 목표를 세워봅시다. 첫 달에는 100개의 PR을 목표로 하는 것도 훌륭합니다.
일주일을 스프린트 단위로 나누세요. 첫 주는 기능 확장 주간입니다. 매일 5개 이상의 기능을 추가합니다. 월요일에는 실시간 관련 기능들을 집중적으로 추가합니다. WebSocket을 통한 실시간 주가 업데이트, 알림 시스템, 가격 변동 알림, 예측 결과 알림, 시스템 알림. 화요일에는 차트를 고도화합니다. TradingView 스타일의 캔들스틱 차트, 거래량 차트, RSI와 MACD 같은 기술적 지표, 이동평균선.
각 기능을 별도의 PR로 만듭니다. Claude에게 기능을 구현하게 하고, 검토하고, Git 브랜치를 만들고, 커밋하고, PR을 생성합니다. 하루에 5-7개의 PR을 만드는 것은 전혀 어렵지 않습니다. 각 기능이 30분에서 1시간이면 완성되기 때문입니다.
둘째 주는 성능 최적화 주간입니다. Claude에게 전체 시스템의 성능을 분석하고 최적화하라고 지시합니다. 데이터베이스 쿼리를 최적화하고, N+1 쿼리를 제거하고, Redis로 캐싱 전략을 구현하고, API 응답 시간을 개선하고, 프론트엔드 렌더링을 최적화합니다. 각 최적화가 별도의 PR이 됩니다.
Flow State 유지하기
Boris의 생산성 비결 중 하나는 “Flow State”를 유지하는 것입니다. 매일 아침, Claude Code 세션을 시작하면서 마스터 플랜을 세웁니다.
“오늘의 마스터 플랜을 세워줘. 어제까지 진행 상황을 요약하고, 오늘 해결할 우선순위 5가지를 정하고, 각 작업의 예상 시간을 계산하고, 잠재적 블로커를 식별해줘.”
Claude는 종합적인 계획을 제시합니다. 당신은 이것을 검토하고, 필요하면 조정하고, 즉시 실행에 들어갑니다. 계획을 세우는 데 30분이 걸리지 않습니다. 나머지 시간은 모두 실행에 쓰입니다.
3시간 연속 작업 세션을 운영할 때는 Stop Hooks를 전략적으로 활용합니다. Claude에게 이렇게 지시합니다. “3시간 동안 연속 작업할 거야. 30분마다 진행상황 체크포인트를 만들어줘. 문제가 발생하면 즉시 중단하고 알려줘. 각 마일스톤을 달성할 때마다 Git commit을 해줘.”
Claude는 자동으로 작업하면서 30분마다 보고합니다. 당신은 각 체크포인트에서 간단히 검토하고, 방향이 맞으면 계속 진행하라고 합니다. 3시간 후, 당신은 6개의 체크포인트를 통과하고, 주요 기능 여러 개를 완성했습니다.
일일 복기의 중요성
저녁마다 일일 복기 세션을 가지세요. Claude에게 오늘 작성한 코드를 분석하게 합니다.
“오늘 작성한 코드를 분석해줘. 생성된 파일 목록을 만들고, 주요 변경사항을 요약하고, 잠재적 버그나 개선점을 찾고, 내일의 우선순위를 제안해줘.”
Claude는 종합 리포트를 작성합니다. 오늘 25개 파일이 수정되었고, 3개의 새로운 기능이 추가되었고, 2개의 버그가 수정되었다고 보고합니다. 잠재적인 성능 이슈 한 가지를 발견했고, 내일은 이것을 해결하는 것부터 시작하는 게 좋겠다고 제안합니다.
이러한 일일 복기는 몇 가지 중요한 목적을 달성합니다. 첫째, 전체적인 진행 상황을 파악할 수 있습니다. 매일매일 무엇을 달성했는지 명확히 알 수 있습니다. 둘째, 문제를 조기에 발견할 수 있습니다. Claude가 생성한 코드에 잠재적 이슈가 있다면, 다음 날로 넘기지 않고 즉시 해결할 수 있습니다. 셋째, 학습의 기회가 됩니다. 오늘 Claude가 어떤 방식으로 문제를 해결했는지 이해하면, 내일 더 나은 지시를 할 수 있습니다.
명확한 의도 전달의 기술
경험이 쌓이면서, 당신은 Claude에게 의도를 전달하는 기술이 얼마나 중요한지 깨닫게 됩니다. 막연한 지시와 명확한 지시의 차이는 결과물의 품질을 완전히 바꿉니다.
“코드 좀 고쳐줘”라고 하는 것은 도움이 되지 않습니다. Claude는 무엇을 고쳐야 할지 모릅니다. 반면 “PredictionService의 accuracy 계산 로직을 개선해줘. 현재는 단순 평균을 사용하고 있는데, 시간 가중 평균으로 바꿔줘. 최근 예측에 더 높은 가중치를 주는 거야. 지수 이동 평균 알고리즘을 적용하고, 최근 30일 데이터로 검증해줘”라고 하면, Claude는 정확히 무엇을 해야 할지 알고 있습니다.
구체적이고 맥락이 풍부한 지시일수록 더 좋은 결과를 얻습니다. 단순히 “차트를 추가해줘”가 아니라 “Recharts 라이브러리를 사용해서 최근 30일간의 주가 변동을 보여주는 선 그래프를 만들어줘. X축은 날짜, Y축은 가격이고, 예측 가격은 점선으로 표시해줘”라고 하세요.
컨텍스트 유지와 전체 그림
프로젝트가 커질수록, 전체 그림을 유지하는 것이 중요해집니다. 정기적으로 Claude에게 현재 프로젝트의 전체 아키텍처를 분석하게 하세요.
“현재 프로젝트의 전체 아키텍처를 분석해줘. 각 레이어의 역할과 책임이 뭐고, 데이터가 어떻게 흐르고, 의존성 관계는 어떻게 되고, 개선 가능한 부분이 뭔지 알려줘.”
Claude는 프로젝트를 전체적으로 조망하면서 인사이트를 제공합니다. 어떤 부분이 잘 설계되어 있고, 어떤 부분에 기술 부채가 쌓이고 있는지 알려줍니다. 이러한 정기적인 체크는 프로젝트가 올바른 방향으로 성장하고 있는지 확인하는 데 필수적입니다.
검증 프로세스: 신뢰하되 검증하라
AI를 활용한 개발의 황금률은 “신뢰하되 검증하라”입니다. Claude는 놀랍도록 능력 있지만, 완벽하지는 않습니다. 모든 AI 생성 코드는 반드시 검증 과정을 거쳐야 합니다.
체크리스트를 만들어보세요. 비즈니스 로직이 정확한가? SQL Injection이나 XSS 같은 보안 취약점은 없는가? N+1 쿼리나 메모리 누수 같은 성능 이슈는 없는가? 에러 처리가 적절한가? 테스트 커버리지는 충분한가? 코드가 읽기 쉽고 유지보수하기 쉬운가?
모든 PR을 병합하기 전에 이 체크리스트를 거칩니다. 대부분의 경우 Claude의 코드는 모든 항목을 통과하지만, 가끔 놓치는 부분이 있습니다. 당신의 검토가 최종 품질을 보장합니다.
진척도 측정: 숫자로 보는 성장
Boris처럼 진척도를 측정하는 것은 동기부여에 큰 도움이 됩니다. 간단한 스크립트를 만들어서 매일 통계를 확인하세요.
오늘 몇 개의 커밋이 있었는지, 몇 개의 파일이 변경되었는지, 몇 줄이 추가되고 삭제되었는지. 이 숫자들이 쌓이면서 당신은 놀라운 생산성을 눈으로 확인하게 됩니다.
주간 리포트도 만들어보세요. Claude에게 지난 주 작업 내용을 분석해달라고 하세요. 주요 기능 추가 목록, 해결한 버그 수, 코드 품질 지표의 변화, 다음 주 추천 작업. 이러한 리포트는 당신이 얼마나 발전했는지 보여주고, 다음 주의 방향을 설정하는 데 도움이 됩니다.
30일 로드맵: 체계적인 접근
Boris처럼 259개의 PR을 만들려면 체계적인 접근이 필요합니다. 30일을 4개의 주로 나누고, 각 주마다 목표를 설정하세요.
첫째 주는 기반을 다지는 주입니다. 50개의 PR을 목표로 합니다. 매일 7-8개의 기능이나 개선사항을 PR로 만듭니다. 코드 리뷰 자동화를 설정하고, CI/CD 파이프라인을 구축합니다. 이 주는 속도를 내기보다는 프로세스를 확립하는 데 집중합니다.
둘째 주는 속도를 높이는 주입니다. 70개의 PR을 목표로 합니다. 매일 10개의 PR을 만듭니다. 대규모 리팩토링을 시작하고, 테스트 커버리지를 80%까지 끌어올립니다. 첫 주에 확립된 프로세스가 있기 때문에 속도를 낼 수 있습니다.
셋째 주는 최고 속도를 내는 주입니다. 90개의 PR을 목표로 합니다. 매일 12-13개의 PR을 만듭니다. 성능 최적화에 집중하고, 새로운 기능 모듈을 추가합니다. 이 시점이 되면 당신과 Claude의 협업은 매우 매끄럽게 흘러갑니다.
넷째 주는 마무리 주입니다. 49개의 PR로 총 259개를 채웁니다. 문서화를 완성하고, 보안을 강화하고, 배포를 준비합니다. 품질을 최종 점검하고, 모든 것이 프로덕션 레디 상태인지 확인합니다.
성공의 핵심 원칙들
Boris Cherny의 성공에는 몇 가지 핵심 원칙이 있습니다. 이것들을 내재화하면 당신도 같은 수준의 생산성을 달성할 수 있습니다.
첫째, AI를 완전히 신뢰하고 활용하세요. “이걸 AI가 할 수 있을까?”라는 의심 대신 “AI로 이걸 어떻게 할까?”라고 생각하세요. Claude는 당신이 생각하는 것보다 훨씬 더 많은 것을 할 수 있습니다. 제한은 주로 당신의 상상력에 있습니다.
둘째, 연속성을 유지하세요. 짧은 세션을 여러 번 하는 것보다 긴 세션 한 번이 훨씬 효과적입니다. Flow State에 들어가는 데 시간이 걸리기 때문입니다. 한 번 몰입하면 최대한 오래 유지하세요.
셋째, 검증은 철저히 하세요. AI 출력의 80%는 신뢰할 수 있지만, 나머지 20%는 반드시 검토해야 합니다. 특히 보안과 비즈니스 로직 부분은 더욱 주의 깊게 봐야 합니다.
넷째, 방향 설정에 집중하세요. 구현 세부사항은 AI에게 맡기고, 당신은 아키텍처와 비즈니스 로직에 집중하세요. 어떤 기능을 만들 것인지, 왜 만드는지, 사용자에게 어떤 가치를 제공할 것인지. 이것이 당신이 결정해야 할 것들입니다.
지금 시작하기
이론은 충분합니다. 이제 실천할 시간입니다. Claude Code를 실행하고, 첫 세션을 시작하세요.
터미널을 열고 “claude”라고 입력하세요. Claude가 인사하면 이렇게 말하세요. “안녕 Claude, 오늘부터 바이브 코딩 여정을 시작할게. 주식 예측 시스템에 실시간 데이터 파이프라인을 추가하고 싶어. 함께 시작해보자.”
Claude는 요구사항을 분석하고, 계획을 제시하고, 당신의 승인을 기다릴 것입니다. 승인하세요. 그리고 Claude가 작업하는 것을 지켜보세요. 몇 분 안에 첫 번째 파일이 생성될 것입니다. 몇 시간 안에 전체 시스템이 작동할 것입니다.
이것이 시작입니다. 매일 조금씩, 당신은 더 나은 지시를 하는 법을 배우고, Claude는 당신의 의도를 더 잘 이해하게 됩니다. 일주일 후면 하루에 여러 개의 기능을 완성할 수 있습니다. 한 달 후면 Boris처럼 100개 이상의 PR을 만들 수 있습니다.
맺으며: 새로운 시대의 개발자
우리는 소프트웨어 개발의 새로운 시대를 살고 있습니다. AI는 단순한 도구가 아니라, 우리와 함께 일하는 파트너입니다. Boris Cherny가 보여준 것은 단지 높은 생산성이 아닙니다. 그것은 개발자의 역할이 근본적으로 변화하고 있다는 증거입니다.
당신은 더 이상 코드를 타이핑하는 사람이 아닙니다. 당신은 시스템을 설계하는 사람이고, 비즈니스 가치를 창출하는 사람이고, 사용자 경험을 만드는 사람입니다. AI는 당신의 비전을 코드로 변환하는 것을 돕습니다. 하지만 비전 자체는 여전히 당신에게서 나와야 합니다.
이 가이드에서 제시한 방법들을 따라가다 보면, 당신도 놀라운 생산성을 경험하게 될 것입니다. 한 달 만에 몇 개월치 작업을 완료하는 것이 가능합니다. 하지만 더 중요한 것은, 당신이 정말로 중요한 문제에 집중할 수 있게 된다는 것입니다.
코드 작성의 기계적인 부분에서 해방되면, 당신은 더 깊이 생각할 수 있습니다. 더 나은 아키텍처를 설계하고, 더 우아한 해결책을 찾고, 더 큰 임팩트를 만들 수 있습니다. 이것이 Continuous Agentic Development의 진정한 가치입니다.
259개의 Pull Request는 단지 숫자가 아닙니다. 그것은 새로운 가능성의 증거입니다. 당신도 할 수 있습니다. 지금 시작하세요.
작성일: 2025-12-28
기반 사례: Boris Cherny의 Claude Code 활용 사례 #
참고 자료: Aakash Gupta의 Continuous Agentic Development 분석
📊 Boris Cherny 사례 분석
압도적인 생산성 지표
1
2
3
4
5
6
7
8
9
30일간의 성과:
- 259 Pull Requests
- 497 Commits
- 40,000 라인 추가
- 38,000 라인 삭제
- 총 78,000 라인 수정
모든 코드: Claude Code + Opus 4.5
실행 패턴: 연속적으로 분/시간/일 단위 작동
새로운 패러다임: Continuous Agentic Development
Aakash Gupta가 정의한 핵심 개념:
전통적 개발 비율
- 🔧 80% 제작 (Production): 코드 작성, 디버깅, 리팩토링, 테스트
- 🎯 20% 방향 설정 (Direction): 무엇을 만들지 결정
Continuous Agentic Development
- 🔧 20% 제작 감독 (Production Oversight): AI 출력 검토, 코스 수정
- 🎯 80% 전략적 방향 (Strategic Direction): 의도 설정, 아키텍처 결정
핵심 변화: 개발자의 역할이 “Editor-in-Chief”로 변화. AI가 기계적인 구현을 담당하고, 인간이 창의적 방향을 제시합니다.
🎯 실전 바이브 코딩 실습 계획
Phase 1: 기본 워크플로우 체득 (1주차)#### Day 1-2: 단일 기능 개발로 감각 익히기
실습 목표: Claude Code의 기본 패턴 이해
1
2
3
4
5
6
# Claude Code 세션 시작
claude
# 간단한 기능 요청으로 시작
"StockList 컴포넌트에 정렬 기능을 추가해줘.
종목명, 종목코드, 예측 가격으로 정렬 가능하게."
예상 프로세스:
- Claude가 요구사항 분석
- 관련 파일 식별 (StockList.js)
- 변경사항 제안
- 승인 후 구현
- 테스트 코드 작성 제안
학습 포인트:
- ✅ 명확한 지시의 중요성
- ✅ AI의 컨텍스트 이해 범위
- ✅ 검토 및 승인 프로세스
Day 3-4: 다중 파일 수정 경험
실습 목표: 프론트엔드 + 백엔드 통합 작업
1
2
3
4
"주식 즐겨찾기 기능을 추가해줘.
- 백엔드: FavoriteStock 엔티티, Mapper, Service, Controller
- 프론트엔드: 즐겨찾기 버튼 UI, API 연동
- 데이터베이스: favorite_stocks 테이블 스키마"
Boris 방식 적용:
- 전체 기능을 한 번에 요청
- Claude가 여러 파일을 동시에 수정하도록
- 각 단계마다 검토 및 피드백
Day 5-7: 연속 작업 패턴 실습
실습 목표: “Stop hooks”를 활용한 장시간 세션
1
2
3
4
5
6
7
8
9
10
11
# 복잡한 기능 체인 요청
"주식 포트폴리오 관리 시스템을 만들어줘:
1단계: 포트폴리오 CRUD 백엔드
2단계: 포트폴리오 목록 및 상세 UI
3단계: 포트폴리오별 수익률 계산
4단계: 차트로 시각화 (Recharts)
5단계: CSV 내보내기 기능
각 단계가 완료되면 다음 단계로 진행해줘.
문제가 있으면 멈추고 알려줘."
핵심 전략:
- 🔄 연속적인 작업 흐름 유지
- ⏸️ Stop hooks로 중간 점검
- 🔍 각 단계 검증 후 진행
Phase 2: Continuous Agentic Development 실현 (2-3주차)
Week 2: “Editor-in-Chief” 역할 훈련
아침 세션 (2시간):
1
2
3
4
5
6
7
8
9
# 하루 작업 계획을 Claude에게 위임
"오늘의 목표:
1. 사용자 인증 시스템 추가 (Spring Security)
2. JWT 토큰 기반 로그인
3. 프론트엔드에 로그인 페이지
4. 보호된 API 엔드포인트 설정
우선순위대로 구현하고, 각 단계 완료 후 보고해줘.
보안 취약점이 있으면 반드시 지적해줘."
저녁 리뷰 (30분):
- 오늘 생성된 코드 전체 리뷰
- 아키텍처 결정 검증
- 내일 작업 방향 설정
Week 3: 대규모 리팩토링 도전
Boris 스타일 대규모 작업:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"전체 프로젝트 리팩토링을 진행할게:
Phase 1: 아키텍처 개선
- 컨트롤러 레이어 분리 (public API vs admin API)
- 서비스 레이어 책임 명확화
- DTO 변환 로직 통일
Phase 2: 코드 품질 향상
- 중복 코드 제거
- 매직 넘버를 상수로
- 에러 처리 표준화
Phase 3: 테스트 커버리지
- 각 서비스 단위 테스트
- 통합 테스트 추가
- 목표 커버리지 80%
일주일 동안 진행할 예정이야. 매일 진행상황 정리해줘."
측정 지표:
1
2
3
# Git 통계로 진행 상황 추적
git log --since="1 week ago" --oneline | wc -l # 커밋 수
git diff --stat HEAD@{1.week.ago} # 변경 라인 수
Phase 3: 실전 프로젝트 - 259 PRs 목표 (4주차~)
목표 설정
월간 목표 (Boris 스타일):
1
2
3
4
5
- 100+ Pull Requests
- 300+ Commits
- 30,000+ 라인 수정
프로젝트: 주식 예측 시스템 고도화
주간 스프린트 구조
Week 1: 기능 확장 주간
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
매일 5개 이상 기능 추가:
월요일:
- 실시간 주가 업데이트 (WebSocket)
- 알림 시스템
- 가격 변동 알림
- 예측 결과 알림
- 시스템 알림
화요일:
- 차트 고도화 (TradingView 스타일)
- 캔들스틱 차트
- 거래량 차트
- 기술적 지표 (RSI, MACD)
- 이동평균선
수요일-금요일: 계속...
Week 2: 성능 최적화 주간
1
2
3
4
5
6
7
8
하루 종일 Claude와 성능 튜닝:
"전체 시스템 성능을 분석하고 최적화해줘:
1. 데이터베이스 쿼리 최적화
2. N+1 쿼리 제거
3. 캐싱 전략 구현 (Redis)
4. API 응답 시간 개선
5. 프론트엔드 렌더링 최적화"
실전 팁: Boris의 생산성 비결
1. “Flow State” 유지하기
1
2
3
4
5
6
7
8
9
10
# 아침 시작 루틴
claude
"오늘의 마스터 플랜을 세워줘:
- 어제까지 진행 상황 요약
- 오늘 해결할 우선순위 5가지
- 각 작업의 예상 시간
- 잠재적 블로커 식별"
# Claude가 계획 수립 → 바로 실행
2. Stop Hooks 전략적 활용
1
2
3
4
"3시간 동안 연속 작업할게:
- 30분마다 진행상황 체크포인트
- 문제 발생 시 즉시 중단하고 알림
- 각 마일스톤 달성 시 Git commit"
3. 일일 복기 (Daily Review)
1
2
3
4
5
6
# 저녁 세션
"오늘 작성한 코드를 분석해줘:
- 생성된 파일 목록
- 주요 변경사항 요약
- 잠재적 버그나 개선점
- 내일 우선순위 제안"
🎓 핵심 학습 포인트
1. 명확한 의도 전달의 기술
나쁜 예시:
1
2
"코드 좀 고쳐줘"
"더 좋게 만들어줘"
좋은 예시 (Boris 스타일):
1
2
3
4
5
"PredictionService의 accuracy 계산 로직을 개선해줘:
- 현재: 단순 평균 사용
- 목표: 시간 가중 평균 (최근 예측에 더 높은 가중치)
- 구현: 지수 이동 평균 (EMA) 알고리즘 적용
- 테스트: 최근 30일 데이터로 검증"
2. 컨텍스트 유지의 중요성
프로젝트 전체 구조 파악:
1
2
3
4
5
"현재 프로젝트의 전체 아키텍처를 분석해줘:
- 각 레이어의 역할과 책임
- 데이터 흐름
- 의존성 관계
- 개선 가능한 부분"
3. 검증 프로세스 확립
AI 생성 코드 검증 체크리스트:
1
2
3
4
5
6
✅ 비즈니스 로직 정확성
✅ 보안 취약점 (SQL Injection, XSS 등)
✅ 성능 이슈 (N+1 쿼리, 메모리 누수)
✅ 에러 처리 적절성
✅ 테스트 커버리지
✅ 코드 가독성 및 유지보수성
📈 진척도 측정 대시보드
Git 통계 자동화
1
2
3
4
5
6
7
8
#!/bin/bash
# daily-stats.sh
echo "=== 오늘의 생산성 ==="
echo "Commits: $(git log --since='1 day ago' --oneline | wc -l)"
echo "Files changed: $(git diff --stat HEAD@{1.day.ago} | tail -1)"
echo "Lines added: $(git diff --numstat HEAD@{1.day.ago} | awk '{sum+=$1} END {print sum}')"
echo "Lines deleted: $(git diff --numstat HEAD@{1.day.ago} | awk '{sum+=$2} END {print sum}')"
주간 리포트 생성
1
2
3
4
5
"지난 주 작업 내용을 분석해서 리포트 만들어줘:
- 주요 기능 추가 목록
- 해결한 버그 수
- 코드 품질 지표 변화
- 다음 주 추천 작업"
🚀 다음 단계: 259 PRs 도전
30일 로드맵
Week 1: 기반 다지기 (50 PRs)
- 매일 7-8개 기능/개선사항 PR
- 코드 리뷰 자동화 설정
- CI/CD 파이프라인 구축
Week 2: 속도 높이기 (70 PRs)
- 매일 10개 PR 목표
- 대규모 리팩토링 시작
- 테스트 커버리지 80% 달성
Week 3: 최고 속도 (90 PRs)
- 매일 12-13개 PR
- 성능 최적화 집중
- 새로운 기능 모듈 추가
Week 4: 마무리 (49 PRs)
- 문서화 완성
- 보안 강화
- 배포 준비
💡 마지막 조언
Boris Cherny의 성공 비결은 단순합니다:
- AI를 완전히 신뢰하고 활용
- “할 수 있을까?” → “어떻게 할까?”
- 연속성 유지
- 짧은 세션 여러 번 < 긴 세션 한 번
- 검증은 철저히
- AI 출력의 80%를 신뢰, 20%는 반드시 검토
- 방향 설정에 집중
- 구현 세부사항은 AI에게
- 아키텍처와 비즈니스 로직은 인간이
지금 시작하세요!
1
2
3
4
5
claude
"안녕 Claude, 오늘부터 259 PRs 챌린지를 시작할게.
첫 번째 작업은 주식 예측 시스템에 실시간 데이터 파이프라인을 추가하는 거야.
함께 시작해보자!"
작성 일자: 2025-12-28