Claude Code - Core Features Guide
Claude Code는 Anthropic이 개발한 터미널 기반 AI 어시스트턴트다.
- GUI나 IDE 확장 프로그램에 집중하는 것과 달리, Claude Code는 개발자의 핵심 작업 공간인 터미널(CLI) 환경에 직접 통합
- 이 접근 방식 덕분에 단순한 코드 생성을 넘어, Git 명령어 실행, 파일 시스템 조작, Bash 스크립트 실행, 테스트 구동 등 개발 워크플로우 전반에 직접 개입 가능
Claude Code 컨텍스트 관리 기술
섹션 제목: “Claude Code 컨텍스트 관리 기술”AI 성능의 핵심인 컨텍스트를 Claude Code는 다음과 같은 고유한 명령어로 관리한다.
| 기능/명령어 | 핵심 역할 | 상세 설명 |
|---|---|---|
| /init | 초기 컨텍스트 학습 | 프로젝트를 분석하여 빌드/테스트 명령, 코딩 컨벤션, 아키텍처 개요를 담은 starter CLAUDE.md 자동 생성 |
| CLAUDE.MD | 영구적 컨텍스트 저장 | AI가 항상 기억해야 할 아키텍처, 기술 스택, 코딩 규칙을 정의 (전역/프로젝트별 설정 가능) |
| @ (참조) | 명시적 컨텍스트 주입 | AI의 컨텍스트 윈도우에 특정 파일이나 폴더를 직접 지정하여 집중시킴 |
Claude Code 대화 및 세션 관리
섹션 제목: “Claude Code 대화 및 세션 관리”컨텍스트 윈도우의 한계를 관리하고 AI의 기억을 제어하는 기능이다.
| 명령어 | 핵심 기능 | 사용 목적 |
|---|---|---|
| /clear | 컨텍스트 윈도우 초기화 | (단기 기억 삭제) 컨텍스트 용량 초과 방지, 비용 절감, 새 작업 시작 시 혼선 방지 |
| # (기록) | 영구 컨텍스트로 승격 | (단기 기억 -> 영구 기억) 대화 중 얻은 유용한 규칙이나 정보를 CLAUDE.MD에 저장 |
| /compact | 컨텍스트 요약 | 이전 맥락을 압축하여 유지하면서 컨텍스트 윈도우 여유 공간 확보 (성능 저하 시 유용) |
| /btw | 휘발성 질의응답 | 메인 대화 기록에 남지 않는 일회성 질문 (토큰 절감 및 컨텍스트 오염 방지) |
| /resume | 이전 대화 복원 | /clear로 지워진 내용을 다시 불러와 대화를 이어감 |
| /export | 세션 내보내기 | 현재 대화 내용을 마크다운 파일 등으로 백업 및 문서화 |
| /rewind | 체크 포인트 복원 | 특정 시점으로 대화 상태 및 코드 상태를 되돌림 |
대화 기록 관리 및 검색
섹션 제목: “대화 기록 관리 및 검색”과거 세션의 기록을 관리하고 필요한 정보를 검색하는 방법이다.
- 로컬 기록 검색: ~/.claude/projects/ 디렉토리에 저장된 .jsonl 파일들을 grep 명령어나 에이전트 질의를 통해 검색 가능
- 세션 유지보수: 대화가 길어질 경우 /compact 명령어로 맥락을 압축하여 토큰 소모를 줄이고 성능 유지
/btw (By The Way) 명령어 활용
섹션 제목: “/btw (By The Way) 명령어 활용”메인 작업 흐름을 방해하지 않고 부수적인 질문이나 확인을 처리할 때 사용한다.
- 프롬프트 캐싱 재사용: 메인 세션의 이미 캐시된 컨텍스트를 재사용하여, 코드베이스나 지침 파일들을 다시 읽는 비용 없이 추가 질문 토큰만 소모
- 컨텍스트 독립: 질문과 답변이 메인 대화 내역(History)에 추가되지 않아, 이후 모든 대화에서 불필요한 내용이 반복해서 읽히는 누적 비용 발생 차단
- 병렬 및 일회성 처리: 메인 작업(파일 수정 등) 중에 중단 없이 독립적으로 실행되며, 도구(Tools) 사용이 제한된 Read-only 상태로 단발성 응답만 제공하고 소멸
상호작용 및 워크플로우
섹션 제목: “상호작용 및 워크플로우”효율적인 입력을 통해 개발 워크플로우를 자동화하는 기능이다.
명령어 큐 (순차적 작업)
섹션 제목: “명령어 큐 (순차적 작업)”- 여러 명령을 연속 입력(Shift + Enter)하면, 큐에 쌓아두고 순차적으로 처리
- (예: 1.
analyze project(Enter) 2.refactor code(Enter))
워크플로우 연동
섹션 제목: “워크플로우 연동”- Git 연동:
commit my changes with a descriptive message-> AI가git diff를 분석하여 커밋 메시지 생성 및 실행 - 테스트/디버깅:
run and fix failed tests-> AI가 테스트 실패 로그를 분석하고 코드 수정을 시도
효율적인 작업 최적화
섹션 제목: “효율적인 작업 최적화”긴 시간이 소요되거나 복잡한 작업을 수행할 때 리소스를 절약하고 효율을 높이는 방법이다.
- 작업 알림 설정: 다른 업무와 원활한 병행을 윟 ㅐ긴 작업을 수행할 때 화면을 계속 감시하는 대신 완료 시 시스템 알림이 오도록 설정
- 백그라운드 전환: Ctrl+B 단축키를 사용하여 긴 시간이 소요되는 명령어를 백그라운드로 보내고 다른 작업 동시 수행 가능
- 스크립트 오프로드: 복잡한 분석이나 데이터 처리는 에이전트가 직접 수행하는 대신 별도 스크립트로 작성하여 실행하게 함으로써 컨텍스트 토큰 절약
- 지수 백오프 적용: Docker 빌드나 CI 대기 등 시간이 걸리는 상태 확인 시 1분, 2분, 4분 등 간격을 늘려가며 확인하게 하여 불필요한 호출 방지
- Git Worktrees 활용: 서로 다른 디렉토리에서 여러 브랜치를 동시에 작업하여 컨텍스트 전환 비용과 코드 충돌 예방
- 위험 작업 격리: 파괴적인 명령어 실행이나 복잡한 연구 작업은 Docker 컨테이너 등 격리된 환경에서 수행하여 로컬 시스템 보호
IDE 연동 (IntelliJ 기준)
섹션 제목: “IDE 연동 (IntelliJ 기준)”IntelliJ 플러그인과 함께 사용할 때의 추가적인 활용법이다.
- Diff 뷰 활용
- AI가 제안한 코드 변경 사항을 터미널 텍스트가 아닌 IDE의 시각적인 Diff 뷰로 검토 가능
- AI의 제안을 직관적으로 검토하고 수락(Accept)하거나 거부(Reject) 가능
- 컨텍스트 공유
- 플러그인을 통해 현재 IDE에서 열린 파일이나 선택된 코드 블록을 Claude Code 컨텍스트로 쉽게 공유
Claude Code 권한 모드 (Permission Mode)
섹션 제목: “Claude Code 권한 모드 (Permission Mode)”AI 모델이 생성한 코드나 명령어를 실행할 때 권한을 어떻게 처리할지를 결정하는 권한 모드를 제공한다.
- 세션 시작 시 CLI 플래그로 지정 가능
- 세션 중
Shift+Tab으로 순환 전환 가능
| 모드 | 파일 수정 | 명령어 실행 | 용도 |
|---|---|---|---|
Normal (default) | 승인 필요 | 승인 필요 | 안전한 기본 작업 (리팩토링 등) |
Auto-accept (acceptEdits) | 자동 승인 | 승인 필요 | 빠른 코드 작성 및 구현 단계 |
Plan Mode (plan) | 불가 | 불가 | 분석 및 설계 전용 (읽기 전용) |
Bypass (bypassPermissions) | 자동 승인 | 자동 승인 | 격리된 환경에서의 자동화 작업 |
사고 레벨 (Thinking Levels)
섹션 제목: “사고 레벨 (Thinking Levels)”작업의 난이도에 따라 AI의 사고 깊이를 명시적으로 지정하여 더 정교한 설계안을 도출할 수 있다.
- Basic (
think): 일반적인 클래스 구조 설계 및 간단한 로직 수정 - Hard (
think hard): 복잡한 비즈니스 로직, 예외 케이스 처리, 의존성 설계 - Ultra (
ultrathink): 아키텍처 레벨의 심층 분석, 성능 최적화 전략, 대규모 리팩토링
Plan Mode 활용
섹션 제목: “Plan Mode 활용”plan 모드는 실제 변경 없이 코드베이스를 분석하고 구현 계획을 수립하는 데 집중한다.
- 파일 읽기·분석만 허용, 쓰기·명령어 실행은 차단
- Claude가 변경 대상 파일, 수정 내용, 작업 순서를 계획서로 제시
- 사용자가 계획을 검토·승인한 뒤 다른 모드로 전환하여 실제 구현 진행
Plan Mode가 유용한 상황은 다음과 같다.
- 여러 파일에 걸친 대규모 변경 전 영향 범위 파악
- 되돌리기 어려운 구조적 변경 작업의 사전 검토
- 팀 환경에서 구현 방향에 대한 사전 합의가 필요한 경우
모드 설정 방법
섹션 제목: “모드 설정 방법”# CLI 플래그로 세션 시작 시 지정claude --permission-mode plan
# 세션 중 Shift+Tab으로 순환 전환# default → acceptEdits → plan → ....claude/settings.json에서 기본값을 고정할 수도 있다.
{ "permissions": { "defaultMode": "plan" }}