Claude Code는 Anthropic이 만든 터미널/IDE 기반 AI 코딩 에이전트다.
파일을 직접 읽고 쓰고, 셸 명령을 실행하고, 여러 단계에 걸친 작업을 스스로 계획해서 처리하는 것이 특징이다.
사용 환경
CLI로 직접 설치하는 방법도 있지만, VS Code를 주력으로 쓴다면 익스텐션 설치만으로 충분하다.
기본은 프롬프트로 대화하며 작업을 시키는 것이지만, 실제로 생산성을 크게 좌우하는 것은 CLAUDE.md 설정과 아래에 정리한 명령어/모드 활용이다.
/init 명령으로 프로젝트 정보를 담은 CLAUDE.md를 자동 생성할 수 있다.Shift+Tab: 모드 전환 (기본 → 자동 수정 모드 → 플랜 모드 순환)공통 특징
모델별 특성
| 모델 | 성격 | 적합한 용도 |
|---|---|---|
| Opus | 프론티어 전문가 모델 | 계획 수립, 고급 추론, R&D, 에이전트 워크플로우 |
| Sonnet | 고성능 실무형 모델 | 코드 작성, 테스트 코드, 리팩토링, 고객 대면 에이전트, 대용량 처리 |
/model로 모델을 전환할 수 있고, 기본값은 Opus이며 사용량이 일정 비율(약 20%)을 넘으면 자동으로 Sonnet으로 전환된다. 어떤 모델이 쓰이고 있는지 주기적으로 확인하는 습관을 들이는 것이 좋다.
| 명령어 | 설명 |
|---|---|
/model | 모델 전환 |
/compact | 대화가 길어졌을 때 컨텍스트 요약. 200K 컨텍스트를 초과하면 더 이상 입력이 불가능해지므로, 그 전에 대화 내용을 요약해 유지시켜준다. 작업 전환 시마다 직접 실행하는 것을 권장하며, 대화 도중 갑자기 자동 요약이 발생하면 문제 신호일 수 있다. |
/config | 테마 등 설정 변경. 권장 설정: auto-compact true, user todo list true, verbose output false, notifications terminal bell |
/permissions | 자동 실행 권한 설정. 프로젝트 단위는 .claude/settings.local.json, 사용자 단위는 ~/.claude/settings.json에 저장되며, allow / deny / auto-accept edits 옵션이 있다. 예: 특정 디렉토리의 파일 목록 조회를 항상 허용하려면 /permissions → add a new rule → Bash(ls:*) → project settings(local) |
/memory | 메모리 관리. 프로젝트 메모리는 ./CLAUDE.md, 사용자 메모리는 ~/.claude/CLAUDE.md |
/mcp | MCP 서버 관리 및 관련 명령 실행 |
/bug | Anthropic에 버그 리포트 |
/clear | 대화 히스토리 삭제 |
/cost | 토큰 사용 통계 조회 |
/doctor | 설치 상태 확인 |
/help | 사용 설명서 확인 |
/login, /logout | 계정 로그인/로그아웃, 계정 전환 |
/pt_comments | 풀 리퀘스트 코멘트 조회 (GitHub CLI 연동 필요) |
/review | 풀 리퀘스트 리뷰 (GitHub CLI 연동 필요) |
/status | 계정 및 시스템 상태 확인 |
프로젝트 루트에 두는 맞춤 지침 파일이다. 최적화된 md 파일은 토큰 사용도 줄이고 응답 품질도 높인다.
권장 작성 내용
종류
| 종류 | 위치 | 공유 범위 | 담기는 내용 |
|---|---|---|---|
| 프로젝트 메모리 | ./CLAUDE.md | 팀 전체 | 프로젝트 구조, 핵심 구성요소 개요, 코딩 표준 |
| 로컬 프로젝트 메모리 | ./CLAUDE.local.md | 개인 (git 미포함) | 샌드박스 URL, 개인 API 키, 테스트 데이터, 개인용 커스텀 명령 |
| 사용자 메모리 | ~/.claude/CLAUDE.md | 모든 프로젝트 공통 | 일반 코드 스타일 선호, 개인 도구 단축키 |
노하우
#: 대화 중 즉석에서 CLAUDE.md에 내용 추가important, you must 같은 강조 표현 사용. /compact 요약 과정에서도 살아남을 가능성이 높아진다.CLAUDE.md를 주기적으로 Claude에게 맡겨 갱신: "지금까지의 대화를 기반으로 CLAUDE.md에 추가할 만한 내용을 추천해줘"기본 모드 (Default)
작업 하나하나를 직접 확인하고 싶을 때 사용한다.
자동 수정 모드
사용자 승인 없이 코드를 직접 수정한다. 반복 작업에 유용하다. Shift+Tab으로 전환.
플래닝 모드
가장 강력한 기능. 설계도를 그리듯 소프트웨어 구조와 개발 계획을 수립하는 단계에서 사용한다. Shift+Tab으로 전환.
주의: 제시된 계획에 무조건 승인하지 말 것. 첫 번째 제안은 일단 거절하고 "No, keep planning"으로 더 다듬게 하는 편이 낫다. 조금이라도 부정확하거나 잘못된 부분이 있으면 반드시 거절한다.
Chain of Thought (CoT)
최종 답변 전에 사고 과정을 명시적으로 기술하도록 유도하는 프롬프팅. 사고와 답변을 태그로 분리할 수 있다.
예: "REST API를 어떻게 설계할지 단계별로 생각하고 답변해줘" 대신, "REST API를 구축하려면 어떻게 해야 할지 생각 과정을 <thinking> 태그에 입력하고, 그 내용을 분석해서 <answer> 태그에 답변해줘"처럼 요청한다.
확장된 사고 (Extended Thinking)
CoT의 발전된 형태. "고민해라"라고 프롬프팅하면 더 많은 사고 후 답변한다. 강도가 강할수록 사고 예산(thinking budget)이 늘어난다.
형식: /<prefix>:<command-name> [arguments]
prefix: 커스텀 커맨드의 스코프command-name: 커맨드가 정의된 마크다운 파일 이름 (확장자 .md)arguments: 커맨드에 전달할 선택적 매개변수종류
.claude/commands/~/.claude/commands/사용 예시
~/.claude/commands/refactor-code.md → /refactor-code네임스페이스
~/.claude/commands/code/refactor.md, ~/.claude/commands/code/analyze.md처럼 하위 폴더로 구성하면 /code:refactor, /code:analyze 형태로 사용한다.파일(.md) 정의 규칙
Claude는 마크다운 문법과 문맥을 이해한다.
#: 제목-: 리스트!: bash 커맨드 명시@: 파일 참조MCP(Model Context Protocol)는 외부 API, 데이터베이스, 애플리케이션과 상호작용할 수 있게 해주는 프로토콜이다. 예를 들어 GitHub 이슈 생성 같은 작업을 MCP를 통해 수행할 수 있다.
연결 방식 3종
| 방식 | 설명 | 등록 명령 예시 |
|---|---|---|
| stdio | Claude Code가 사용자 컴퓨터에서 직접 로컬 프로세스를 실행하고 그 프로세스와 통신 | claude mcp add context7 -- npx -y @upstash/context7-mcp |
| SSE (Server-Sent Event) | 한 번 연결을 맺으면 서버가 필요할 때마다 클라이언트로 업데이트를 푸시 | claude mcp add --transport sse context7 https://mcp.context7.com/sse |
| HTTP | 클라이언트 요청에 서버가 응답하는 방식. MCP에서는 보통 스트리밍을 지원하는 HTTP 서버를 의미 | claude mcp add --transport http context7 https://mcp.context7.com/sse |
연동 확인: claude mcp list
PRD (Product Requirement Document)
"무엇을 만들 것인가"를 정의하는 문서. 기획/디자인/마케팅/개발 등 관련자 전원이 같은 그림을 보게 하는 핵심 커뮤니케이션 도구다.
기본 질문:
작성 항목:
주의: PRD를 작성시키는 에이전트에는 다른 업무를 함께 시키지 말고, PRD 작업만 전담시키는 편이 결과물 품질이 좋다.
실행계획
PRD를 구현하기 위한 계획 문서. 아키텍처, API 명세, 데이터 스키마 등 구현 방법을 정의한다. 컨텍스트 크기 한계는 큰 문제를 작고 명확하고 해결 가능한 문제로 쪼개는 방식으로 대응한다.
기본 질문:
작성 절차:
PRD와의 차이는 정확한 기술 스택과 단계별(step-by-step) 태스크가 명시된다는 점이며, PRD 하나에 실행계획이 반드시 하나만 대응해야 하는 것은 아니다.
메인 에이전트가 작업 처리를 위해 또 다른 에이전트(서브 에이전트)를 생성해 진행시키는 방식이다. 메인은 이전 대화 히스토리를 알고 있는 반면, 서브 에이전트는 전달받은 단순 명령만 수행한다. 서브 에이전트에 내릴 지시도 결국 프롬프트로 작성해야 한다.
에이전트별로 별도의 컨텍스트 용량이 생기기 때문에 효율적이며, 병렬 처리가 필요할 때 특히 유용하다. "서브에이전트를 만들어서 작업해줘" 처럼 직접 요청하면 된다.
커스텀 서브 에이전트
기본적으로는 세팅값이 없는 상태로 시작하지만, 미리 정의해두면 특정 작업 시 최적화된 서브 에이전트가 자동으로 실행된다.
생성 방법: /agent 명령 또는 마크다운 파일을 직접 생성한다. 에이전트 이름을 입력하면 .md 파일이 생성되며, 아래 필드를 정의한다.
namedescriptioncolor 등원래 정리한 노트에서 다루지 않은 부분 중 실무에서 자주 쓰는 내용을 추가한다.
/rewind (체크포인트 되돌리기):.claude/settings.json에 등록한다..claude/settings.json vs settings.local.json:settings.json(git 포함),settings.local.json(git 미포함)으로 나눠 관리하는 것이 안전하다.@ 파일 참조를 프롬프트에서 직접 사용:@path/to/file로 특정 파일을 명시적으로 컨텍스트에 포함시킬 수 있다./compact로 요약해도 대화 주제가 완전히 바뀌었다면, 요약된 과거 맥락이 오히려 새 작업에 노이즈가 될 수 있다./clear로 새로 시작하고 필요한 맥락만 CLAUDE.md나 @파일 참조로 다시 넣는 편이 낫다.기능 하나를 붙일 때, 보통 아래 순서를 반복한다.
Plan 파일 작성
플랜 모드로 진입해 작업 계획을 파일로 먼저 뽑는다. 머릿속에만 있는 계획은 대화가 길어지면 흐트러지기 쉬워서, 파일로 고정해둔다.
질의응답으로 완성도 높이기
나온 계획을 바로 승인하지 않는다. 애매한 부분, 빠진 예외 케이스를 질문으로 던지고 답을 받으며 계획을 다듬는다. 제일 중요한 단계!
Todo 리스트 작성
계획이 다듬어지면 실행 가능한 단위로 쪼갠 todo list를 만든다. 순서와 의존 관계가 명확해진 상태에서 다음 단계로 넘어간다.
코드 수정 요청
todo 항목 단위로 실제 코드 변경을 요청한다.
코드 및 동작 확인
변경된 코드와 실제 동작을 직접 확인한다. 자동 수정 모드라도 결과 검증은 반드시 사람이 한다.
완료 후 spec 문서 작성, plan 파일 삭제
작업이 끝나면 plan 파일은 지우고, 결정 사항과 구조를 spec 문서로 남긴다.
아직 정리 안 된 고민
spec 문서로 남기는 게 맞는지, 아니면 관련 폴더마다 CLAUDE.md를 만들어 지식을 분산시키는 게 맞는지는 아직 확신이 없다. 지금은 Codex, Claude 등 여러 에이전트가 섞인 환경을 염두에 두고 있어서, 특정 도구 종속적인 CLAUDE.md보다는 에이전트 무관하게 읽히는 spec 문서 쪽으로 하고 있다. 다만 이 판단이 맞는지는 계속 검증 중이다.