Claude Code를 처음 쓰면 기대가 큽니다. "AI니까 알아서 다 해주겠지?" 하지만 막상 써보면 결과물이 들쭉날쭉합니다. 어떤 때는 놀랍도록 잘하고, 어떤 때는 엉뚱한 방향으로 갑니다. 왜 그럴까요? 대부분 마인드셋의 문제입니다.
TL;DR
- Claude Code를 시니어 개발자가 아닌 똑똑한 주니어 개발자로 대하세요
- 추상적 지시 대신 구체적이고 단계별로 쪼갠 지시를 주세요
- 작업 단위가 작을수록 결과물 품질이 올라갑니다
- Anthropic도 공식적으로 Plan Mode와 작업 분할을 권장합니다
"똑똑한 주니어" 비유의 출처
이 비유는 Claude Code를 효과적으로 사용하는 개발자들 사이에서 널리 공유되는 멘탈 모델입니다.
"Claude Code operates as what Anthropic engineers call a 'fast intern with perfect memory.' This mental model is crucial for effective prompting." — Developer Toolkit
"It's like having a really enthusiastic junior developer who's confident about everything but actually knows nothing about the codebase or business goals." — Scott Spence, Working with Claude Code
"The biggest mistake I made initially was being too polite or vague. To get the most out of Claude Code, you need to be direct and specific, as if you're managing a junior developer." — Skywork AI
시니어 vs 주니어: 지시 방식의 차이
시니어 개발자에게 요청할 때
"인증 기능 만들어줘"
시니어는 이 한 마디로 알아서 합니다. 로그인/회원가입 폼, 비밀번호 해싱, JWT 발급, 리프레시 토큰, 세션 관리, 보안 고려사항까지 경험에서 우러나온 판단으로 구현합니다.
주니어 개발자에게 요청할 때
"인증 기능 만들어줘"
주니어는 어디서부터 시작해야 할지 막막해합니다. 또는 자기 나름대로 해석해서 예상과 다른 결과물을 내놓습니다. 그래서 이렇게 쪼개서 말해줘야 합니다:
1. 먼저 로그인 폼 UI 만들어줘
2. 이메일/비밀번호 유효성 검사 추가해줘
3. 로그인 API 엔드포인트 만들어줘
4. bcrypt로 비밀번호 검증 로직 넣어줘
5. JWT 액세스 토큰 생성해줘
6. 리프레시 토큰 구현해줘
7. 토큰 갱신 엔드포인트 만들어줘
Claude Code도 똑같습니다.
왜 이런 차이가 발생하나?
1. 컨텍스트의 한계
Claude Code는 대화 내용과 코드베이스를 참조하지만, **당신의 머릿속에 있는 "당연한 것들"**은 모릅니다.
- 우리 팀의 코딩 컨벤션
- 이 프로젝트의 아키텍처 결정 배경
- 비즈니스 요구사항의 뉘앙스
- "인증"이라고 했을 때 당신이 기대하는 구체적 범위
2. 모호함 → 자의적 해석
추상적인 지시를 받으면 Claude Code는 나름대로 해석합니다. 그 해석이 당신의 의도와 일치할 수도 있고, 완전히 다를 수도 있습니다. 운에 맡기는 셈이죠.
3. 큰 작업 = 실수 누적
한 번에 큰 작업을 시키면 중간에 잘못된 방향으로 가도 끝까지 갑니다. 작은 단위로 쪼개면 각 단계에서 검증하고 방향을 수정할 수 있습니다.
Anthropic 공식 권장사항
이건 단순히 "커뮤니티 팁"이 아닙니다. Anthropic이 공식 문서에서 권장하는 방식입니다.
공식 블로그: 큰 작업은 쪼개라
"For large tasks with multiple steps or requiring exhaustive solutions—like code migrations, fixing numerous lint errors, or running complex build scripts—improve performance by having Claude use a Markdown file (or even a GitHub issue!) as a checklist and working scratchpad." — Anthropic Engineering Blog: Claude Code Best Practices
공식 기능: Plan Mode
Anthropic은 이 워크플로우를 공식 기능으로 제공합니다. Plan Mode는 Claude가 코드를 수정하기 전에 먼저 계획을 세우도록 강제하는 모드입니다.
"Plan Mode instructs Claude to create a plan by analyzing the codebase with read-only operations, perfect for exploring codebases, planning complex changes, or reviewing code safely." — Anthropic Docs: Common Workflows
Plan Mode 사용법:
- Shift+Tab 두 번 눌러서 활성화
- 또는 claude --permission-mode plan으로 시작
- Claude가 계획을 제시하면 검토 후 승인
공식 권장: "think" 키워드
"Ask Claude to make a plan for how to approach a specific problem. We recommend using the word 'think' to trigger extended thinking mode, which gives Claude additional computation time to evaluate alternatives more thoroughly." — Anthropic Engineering Blog
키워드 사고 깊이
| think | 기본 |
| think hard | 중간 |
| think harder | 깊음 |
| ultrathink | 최대 |
실전 예시: 좋은 지시 vs 나쁜 지시
❌ 나쁜 예시
사용자 대시보드 페이지 만들어줘
Claude Code가 해석할 수 있는 방향이 수십 가지입니다. 어떤 데이터를 보여줄지, 레이아웃은 어떻게 할지, 차트가 필요한지, 필터링은... 결과물이 마음에 안 들 확률이 높습니다.
✅ 좋은 예시
사용자 대시보드 페이지를 만들건데, 단계별로 진행하자.
1단계: 먼저 대시보드 레이아웃 컴포넌트를 만들어줘
- 왼쪽 사이드바 (240px 고정)
- 상단 헤더 (사용자 이름, 로그아웃 버튼)
- 메인 컨텐츠 영역
- Tailwind CSS 사용
1단계 결과물 확인 후:
좋아. 2단계로 메인 영역에 통계 카드 4개 추가해줘
- 총 주문 수
- 이번 달 매출
- 활성 사용자 수
- 평균 주문 금액
- 각 카드에 아이콘과 증감률 표시
작업 쪼개기 프레임워크
복잡한 기능을 요청할 때 이 순서로 쪼개보세요:
1. 데이터 구조 먼저
결제 기능을 만들건데, 먼저 필요한 DB 스키마부터 정의해줘.
- payments 테이블
- payment_methods 테이블
- 필요한 enum 타입들
2. API 엔드포인트
이 스키마 기반으로 결제 관련 API 엔드포인트 만들어줘.
- POST /payments (결제 생성)
- GET /payments/:id (결제 조회)
- POST /payments/:id/refund (환불)
3. 비즈니스 로직
결제 생성 로직에서 다음 검증 추가해줘:
- 재고 확인
- 사용자 잔액 확인
- 중복 결제 방지
4. UI 컴포넌트
결제 폼 컴포넌트 만들어줘.
- 카드 번호, 유효기간, CVC 입력
- 실시간 유효성 검사
- 로딩 상태 처리
5. 통합 및 에러 처리
결제 폼과 API를 연결하고, 에러 케이스 처리해줘.
- 카드 거절
- 네트워크 오류
- 타임아웃
주니어 다루듯이: 추가 팁
예시를 보여줘라
이런 형태로 응답 만들어줘:
{
"success": true,
"data": { ... },
"error": null
}
제약 조건을 명시해라
- 외부 라이브러리 쓰지 마
- 파일 하나에 200줄 넘기지 마
- 기존 UserService 클래스 패턴 따라가줘
확인 질문을 유도해라
시작하기 전에 불명확한 부분 있으면 먼저 물어봐
중간 점검을 해라
여기까지 맞는지 확인할게. 잠깐 멈춰줘.
체크리스트: 지시하기 전에
- [ ] 이 작업을 주니어에게 시킨다면 어떻게 설명할까?
- [ ] 한 번에 하나의 명확한 목표만 있는가?
- [ ] 예상 결과물의 형태를 구체적으로 설명했는가?
- [ ] 사용할 기술/패턴/컨벤션을 명시했는가?
- [ ] 하지 말아야 할 것도 명시했는가?
마무리
Claude Code는 분명 강력합니다. 하지만 그 능력을 제대로 끌어내려면 지시하는 방식을 바꿔야 합니다. "AI니까 알아서 하겠지"가 아니라 "똑똑한 주니어니까 명확하게 쪼개서 시키자"로요.
처음엔 번거롭게 느껴질 수 있습니다. 하지만 몇 번 해보면 오히려 전체 작업 시간이 줄어듭니다. 모호한 지시 → 엉뚱한 결과 → 수정 요청 → 또 수정... 이 루프를 도는 것보다 처음부터 명확하게 쪼개는 게 훨씬 빠릅니다.
Claude Code를 잘 쓰는 사람과 못 쓰는 사람의 차이는 프롬프트 스킬이 아닙니다. 상대를 어떻게 인식하느냐의 차이입니다.
참고 자료
Anthropic 공식
- Claude Code Best Practices — Anthropic Engineering Blog
- Common Workflows (Plan Mode) — Anthropic Docs
커뮤니티
- 32 Claude Code Tips — YK (ykdojo)
- Claude Code as a Junior Engineer — Josh Roy
- Prompt Engineering with Claude Code — Developer Toolkit
'Programmer > AI' 카테고리의 다른 글
| Claude Code 환경 설정: CLAUDE.md로 10분 투자해서 수 시간 절약하기 (0) | 2026.01.21 |
|---|---|
| Claude Code 컨텍스트 관리: 채워질수록 썩는 작업 기억 (1) | 2026.01.20 |
| Claude Code의 게임체인저: Plan Mode vs YOLO Mode (1) | 2026.01.20 |
| Claude Code가 느려졌다면? MCP 도구 관리가 답이다 (2) | 2026.01.20 |
| Auto-Claude macOS 설치 트러블슈팅 가이드 (0) | 2026.01.02 |
