회사에서 LLM 서비스를 사용할 수 없다보니 Vibe 코딩과 너무 거리가 멀어져있다는 생각이 들었다. AI 코딩 관련 기사나 뉴스레터 등은 계속해서 리뷰하고 있는데, AI를 이용한 '딸각'코딩으로 정말 개발자를 대체할 수 있냐에 대한 갑론을박이 이어지는 분위기로 보인다.
위 논쟁은 둘 째 치더라도 AI를 사용하지 못한다면 AI를 능숙하게 다루는 사람과의 생산성 차이를 따라잡지 못할 것 이다. 최신 트렌드를 꾸준히 따라가지는 못하더라도 AI코딩을 어느정도 능숙하게 할 정도로는 공부할 필요성이 있다고 본다.
이 글에서는 기본기를 배우기 위해 Claude공식 학습 페이지인 Anthropic Academy를 학습하고 내용을 정리하였다.
https://anthropic.skilljar.com/claude-code-in-action
Claude Code in Action
Integrate Claude Code into your development workflow
anthropic.skilljar.com
1. Context 관리 — 왜 중요한가
Claude Code의 성능은 "어떤 정보를 얼마나 제공하느냐"에 직접적으로 좌우됩니다.
프로젝트에는 기본적으로 Claude가 이해할 수 있는 적절한 양의 정보가 존재합니다. 하지만 관련 없는 정보가 Context에 섞여 들어가면 Claude의 응답 품질이 급격히 떨어집니다. LLM의 Context Window는 무한하지 않으며, 노이즈가 많아질수록 핵심 정보에 대한 집중도가 희석되기 때문입니다.
따라서 핵심 전략은 두 가지입니다.
- Claude가 프로젝트 내 관련 파일과 문서를 스스로 찾도록 유도하기
- 개발자가 약간의 안내를 제공하여 탐색 범위를 좁혀주기
핵심 원칙 — "많은 정보"보다 "정확한 정보"가 중요합니다. Claude에게 프로젝트 전체를 던지는 것보다, 작업에 필요한 파일만 정확하게 가리키는 것이 훨씬 효과적입니다.
2. CLAUDE.md와 초기 설정
모든 작업의 시작점은 /init 입니다.
/init — 코드베이스 깊이 탐색
Claude Code를 처음 실행한 뒤 /init 명령을 입력하면 Claude가 프로젝트 전체를 탐색합니다. 이 과정에서 프로젝트의 목적, 아키텍처, 주요 명령, 핵심 파일 등을 파악한 뒤 CLAUDE.md 파일에 요약을 작성합니다.
/init 실행 → 코드베이스 탐색 → 요약 생성 → CLAUDE.md 작성
CLAUDE.md가 생성되면 이후 모든 요청에서 이 파일이 자동으로 참조됩니다. 이 파일은 두 가지 역할을 합니다.
- 빠른 탐색 가이드 — Claude가 코드베이스를 더 잘 이해하고, 관련 코드를 빠르게 찾을 수 있게 합니다.
- 행동 가이드라인 — Claude가 작업할 때 따를 규칙과 지침을 정의합니다.
CLAUDE.md의 세 가지 레벨
레벨 범위 용도 공유
| 프로젝트 | 해당 프로젝트 | /init으로 자동 생성. 프로젝트의 구조, 컨벤션, 빌드 방법 등을 기록 | ✅ Git으로 팀과 공유 |
| 로컬 | 해당 프로젝트 (나만) | 개인적인 작업 습관, 선호 설정, 커스텀 지시사항 | ❌ .gitignore 처리 |
| 머신 | 머신 내 모든 프로젝트 | 모든 프로젝트에 공통 적용할 지시사항 (예: 코딩 스타일, 언어 설정) | ❌ 로컬 전용 |
Tip — 팀 프로젝트에서는 프로젝트 레벨 CLAUDE.md를 Git에 커밋하여 팀원 모두가 동일한 Claude 가이드라인을 공유하세요. 코드 리뷰 컨벤션, 브랜치 전략, 테스트 방침 등을 기록해두면 팀 전체의 Claude 활용 일관성이 높아집니다.
3. 파일 탐색과 메모리 활용
Claude가 올바른 파일을 보게 하는 것이 결과 품질의 절반입니다.
@ 로 빠른 파일 참조
@ 뒤에 파일 경로를 입력하면 Claude가 해당 파일을 즉시 Context에 로드합니다. 복잡한 설명 없이도 특정 파일에 대한 작업을 바로 시작할 수 있는 가장 빠른 방법입니다.
# 특정 파일을 참조하며 작업 요청
@src/components/Header.tsx 이 컴포넌트에 다크모드 토글을 추가해줘
# 여러 파일을 동시에 참조
@src/api/auth.ts @src/types/user.ts 인증 로직을 리팩토링해줘
/memory — CLAUDE.md 직접 편집
/memory 명령을 사용하면 메모리 모드에 진입하여 CLAUDE.md 파일을 직접 수정할 수 있습니다. 프로젝트에서 반복적으로 참조해야 하는 정보를 미리 기록해두면 매 대화마다 설명할 필요가 없어집니다.
# 예시: DB 스키마 위치 안내
The database schema is defined in the @prisma/schema.prisma file.
Reference it anytime you need to understand the structure of data
stored in the database.
# 예시: 코딩 컨벤션 지정
Always use TypeScript strict mode.
Prefer functional components with hooks.
Use Tailwind CSS for styling — no inline styles.
활용 아이디어 — API 엔드포인트 목록, 환경변수 설명, 폴더 구조 가이드, 자주 쓰는 커맨드, 배포 절차 등을 CLAUDE.md에 기록해두면 Claude가 프로젝트 맥락을 즉시 파악할 수 있습니다.
4. Claude의 사고력 높이기
복잡한 작업에는 Claude에게 "생각할 시간"을 주세요.
계획 모드 (Plan Mode)
계획 모드를 활성화하면 Claude는 곧바로 코드를 작성하지 않고, 먼저 프로젝트를 광범위하게 조사합니다. 더 많은 파일을 읽고, 의존성을 파악하며, 작업 완료를 위한 상세 계획을 수립한 뒤 단계별로 가이드를 제시합니다.
계획 모드가 특히 유용한 상황:
- 코드베이스에 대한 광범위한 이해가 필요한 작업
- 여러 모듈이나 레이어를 횡단하는 변경
- 여러 단계를 거쳐 완료해야 하는 복잡한 리팩토링
- 새로운 기능을 설계하는 단계
사고 모드 (Thinking Mode)
사고 모드는 Claude가 특정 작업에 대해 더 깊이 추론할 수 있도록 하는 기능입니다. 내부적으로 "Chain of Thought"를 확장하여, 복잡한 로직이나 까다로운 버그를 단계적으로 풀어나갑니다.
사고 모드가 특히 유용한 상황:
- 복잡한 알고리즘이나 비즈니스 로직 구현
- 재현이 어려운 까다로운 버그 디버깅
- 여러 조건이 얽힌 엣지 케이스 처리
- 성능 최적화 방안 탐색
계획 모드 vs 사고 모드 비교
구분 계획 모드 사고 모드
| 초점 | 넓고 얕게 — 코드베이스 전반을 탐색 | 좁고 깊게 — 특정 로직에 집중 추론 |
| 적합한 작업 | 설계, 리팩토링, 다중 파일 변경 | 디버깅, 알고리즘 구현, 엣지 케이스 |
| 출력 | 실행 계획 + 단계별 가이드 | 추론 과정 + 최적 솔루션 |
주의 — 두 기능 모두 추가 토큰을 소비합니다. 단순한 작업에는 오히려 비효율적일 수 있으므로, 복잡도에 따라 선택적으로 활용하세요. 일반적인 코드 수정이나 간단한 질문에는 기본 모드로 충분합니다.
5. Context 컨트롤 전략
대화가 길어질수록 Context 관리가 중요해집니다.
Esc + /memory — 실시간 교정
Claude가 잘못된 방향으로 작업을 진행하고 있다면 즉시 Esc를 눌러 작업을 중단하세요. 그 뒤 /memory로 CLAUDE.md에 교정 지침을 추가합니다. 단순히 대화로 "그건 아니야"라고 말하는 것보다 CLAUDE.md에 명시적으로 기록하는 것이 훨씬 효과적입니다. 이 방식은 현재 대화뿐 아니라 이후 모든 대화에서도 같은 실수를 방지합니다.
# CLAUDE.md에 교정 지침 추가 예시
NEVER modify the database migration files directly.
Always use `prisma migrate dev` to generate new migrations.
When fixing type errors, do NOT use `any` type.
Always find and use the correct type definition.
/compact — 대화 요약
대화가 길어져 Context Window가 가득 차면 Claude의 성능이 저하됩니다. /compact 명령을 사용하면 이전 대화 내용을 요약하여 핵심 지식만 유지한 채 Context를 확보할 수 있습니다. 현재까지의 작업 맥락을 이어가면서도 새로운 작업을 위한 여유 공간을 만들 수 있는 유용한 전략입니다.
/clear — 완전 초기화
이전 대화의 맥락이 다음 작업에 전혀 필요 없다면 /clear로 대화 기록을 완전히 삭제하세요. 새로운 작업을 깨끗한 상태에서 시작할 수 있어, 이전 Context가 새 작업에 부정적 영향을 미치는 것을 방지합니다.
Context 컨트롤 명령어 비교
명령어 동작 사용 시점
| /compact | 대화 요약 후 Context 확보 | 대화가 길어졌지만 맥락을 이어가야 할 때 |
| /clear | 대화 기록 완전 삭제 | 완전히 새로운 작업을 시작할 때 |
| Esc + /memory | 작업 중단 후 가이드라인 수정 | Claude가 잘못된 방향으로 진행할 때 |
6. 사용자 정의 커맨드
반복 작업을 자동화하여 워크플로우를 가속화하세요.
Claude Code에서는 자주 사용하는 작업 패턴을 사용자 정의 커맨드(Custom Slash Commands)로 등록할 수 있습니다. 프로젝트의 .claude/commands/ 디렉토리에 마크다운 파일로 정의하면 / 명령으로 즉시 실행할 수 있습니다.
<!-- .claude/commands/review.md -->
Review the changes in the current git diff.
Focus on:
- Type safety issues
- Missing error handling
- Performance concerns
- Naming conventions
Provide feedback as a numbered list with severity
levels: 🔴 Critical, 🟡 Warning, 🟢 Suggestion.
이 파일을 생성한 뒤 Claude Code에서 /review를 입력하면 위 지시사항이 자동으로 실행됩니다. 팀 프로젝트에서는 이 커맨드를 Git에 포함하여 팀 전체가 동일한 워크플로우를 공유할 수 있습니다.
활용도가 높은 커스텀 커맨드 예시로는 코드 리뷰 자동화, 커밋 메시지 생성, 테스트 작성 템플릿, 에러 로그 분석, PR 설명 자동 생성 등이 있습니다.
Tip — 커맨드에 $ARGUMENTS 플레이스홀더를 사용하면 실행 시 동적으로 인자를 전달할 수 있습니다. 예를 들어 /translate $ARGUMENTS 커맨드를 만들어 /translate Korean처럼 사용할 수 있습니다.
7. 실전 팁 정리
바로 적용할 수 있는 Claude Code 운용 패턴을 정리합니다.
워크플로우 체크리스트
- 프로젝트 시작 시 — /init으로 CLAUDE.md 생성, 팀 컨벤션과 중요 파일 위치 기록
- 작업 시작 전 — @파일경로로 관련 파일을 명시적으로 참조
- 복잡한 작업 — 계획 모드로 전체 구조 파악 후 단계적 실행
- 어려운 버그 — 사고 모드를 켜고 깊은 추론 유도
- 오류 발생 시 — Esc → /memory로 CLAUDE.md에 교정 지침 추가
- 긴 대화 후 — /compact로 요약하거나 /clear로 초기화
- 반복 작업 — 커스텀 커맨드로 자동화