agents101 · Best Practices

처음부터 시작해서, 빠르게 실행하세요

설치, 설정, 그리고 핵심 개념 이해 — Claude Code 온보딩을 한 페이지에

설치 및 인증

macOS
brew install --cask claude-code
Windows
# First install Node.js LTS (nodejs.org) 
npm install -g @anthropic-ai/claude-code
Linux(Node용 fnm 권장)
curl -fsSL https://fnm.vercel.app/install | bash
fnm install --lts && fnm use --lts
npm install -g @anthropic-ai/claude-code
node --version  # Requires v18+
claude --version

실행 옵션

# Start an interactive session in your project
cd your-project && claude

# Start with a question
claude "Explain the project architecture"

# Pipe input
cat error.log | claude "Analyze the error"

3가지 인증 방법

방법사용 사례절차
Claude.ai 계정Pro/Max 구독자claude 실행 후 브라우저에서 OAuth 인증
팀 초대팀 관리자 초대초대 수락, 키 자동 생성
수동 API 키직접 구매한 API 크레딧 / 서드파티 프록시sk-ant-...로 시작하는 키 붙여넣기

환경 변수

수동 API 키 또는 서드파티 프록시의 경우, 환경 변수를 통해 동작을 세밀하게 조정할 수 있습니다. ~/.zshrc 또는 ~/.bashrc에 추가하세요:

# === Auth & Endpoints ===
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key"        # API key
export ANTHROPIC_BASE_URL="https://your-proxy.example.com"  # Custom endpoint (third-party proxy) 

# === Model Selection ===
export ANTHROPIC_MODEL="claude-sonnet-4-6"            # Default model
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4-5"  # Lightweight fast model for quick tasks
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4-6"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-7"

# === Performance & Behavior ===
export API_TIMEOUT_MS="3000000"                       # API timeout (ms) 
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1     # Disable non-essential network requests (telemetry etc.) 
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000        # Auto-compaction trigger threshold (tokens) 
변수설명일반적인 값
ANTHROPIC_AUTH_TOKENAPI 키sk-ant-...
ANTHROPIC_BASE_URL커스텀 API 엔드포인트서드파티 프록시 URL
ANTHROPIC_MODEL기본 모델claude-sonnet-4-6
ANTHROPIC_SMALL_FAST_MODEL경량 빠른 모델claude-haiku-4-5
API_TIMEOUT_MSAPI 타임아웃3000000
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC텔레메트리 및 비필수 요청 비활성화1
CLAUDE_CODE_AUTO_COMPACT_WINDOW자동 압축 임계값 (토큰)1000000

설치 후 /doctor를 실행하여 환경을 확인하세요: Node.js v18 이상, 인증 상태, 도구 가용성.

빠른 시작 가이드

설치 후, 제로에서 생산성까지 5단계:

  • 1 CLAUDE.md 작성 — 프로젝트 루트에 규칙과 기본 설정이 포함된 지시 파일을 만듭니다. < 200줄로 유지하세요 — 이를 넘어가면 규정 준수율이 현저히 떨어집니다.

  • 2 권한 모드 선택 — 일상적인 사용은 default, 신뢰할 수 있는 환경은 acceptEdits, CI/자동화는 bypassPermissions를 사용하세요.

  • 3 /compact 배우기 — 컨텍스트가 50%에 도달하면 미리 압축하여 스마트한 출력 품질을 유지하세요.

  • 4 /plan으로 계획하기 — 복잡한 작업의 경우, 먼저 목표를 설정하고 모델이 단계를 계획한 다음 실행 전에 확인하세요.

  • 5 스킬 & 훅 구성 — 반복적인 워크플로우를 스킬로 캡슐화하고, 훅으로 수명 주기 이벤트를 자동화하세요.

**“쓰라린 교훈(Bitter Lesson)“**을 따르세요: 오늘의 모델에 맞춰 워크플로우를 최적화하지 말고 — 6개월 후 더 강력해질 모델을 위한 시스템을 구축하세요.

10가지 파워업

v2.1.90에서 도입된 대화형 코스로, 대부분의 사람이 놓치는 기능을 가르쳐줍니다. /powerup을 실행하여 시작하세요.

Power-ups Menu

파워업 선택 메뉴

#파워업학습 내용
1코드베이스와 대화하기@ 파일 참조, 줄 번호 참조
2모드로 제어하기Shift+Tab 계획 / 자동 모드 전환
3무엇이든 되돌리기/rewind 실행 취소, Esc-Esc 중단
4백그라운드에서 실행백그라운드 작업, /tasks 관리
5Claude에게 규칙 가르치기CLAUDE.md 프로젝트 규칙, /memory 관리
6도구로 확장하기MCP 외부 도구 확장, /mcp
7워크플로우 자동화스킬 스킬 시스템 + 훅 자동화
8나를 복제하기서브에이전트 서브에이전트 병렬 처리, /agents
9어디서나 코딩하기/remote-control 원격 제어, /teleport
10모델 조정하기/model 모델 전환, /effort 추론 조정

각 파워업에는 애니메이션 데모가 포함되어 있습니다. #1부터 시작하여 순서대로 진행하세요.

Claude Code 마스터를 위한 세 가지 단계

단계비유특징출력 안정성
단계 1 프롬프팅거리에서 모르는 사람에게 묻기매번 답변이 달라지고 품질이 들쭉날쭍함낮음
단계 2 에이전트도메인 전문가 고용고정된 역할 + 방식, 출력이 안정적이고 제어 가능함중간-높음
단계 3 스킬전문가에게 훈련 매뉴얼 제공정확한 지시 + 도구 권한, 재사용 가능높음
  • 단계 1 프롬프팅 — 채팅처럼 질문하세요. claude를 실행한 후 질문을 입력하기만 하면 됩니다 — 빠른 Q&A, 브레인스토밍, 문서 편집에 적합합니다. 단점: 같은 질문에도 매번 다른 답변을 받을 수 있습니다.

  • 단계 2 에이전트 — Claude에게 역할과 방식을 할당하세요. 전문가를 고용하는 것과 같습니다 — 동일한 작업, 동일한 접근 방식으로 안정적이고 제어 가능한 출력 품질을 얻을 수 있습니다.

  • 단계 3 스킬 — 에이전트에 특정 기능을 장착하세요 — 훈련 매뉴얼만큼 정확합니다. 하나의 에이전트는 여러 스킬을 사용할 수 있고, 하나의 스킬은 여러 에이전트에서 재사용할 수 있습니다.

학습 팁: 단계 1부터 시작하여 상호작용에 익숙해진 다음, 점진적으로 에이전트와 스킬을 사용하여 자동화 수준을 높이세요.

CLI 인수 참조

매개변수설명예시
--model모델 지정claude --model opus
-p비대화형 모드echo "hi" | claude -p
--output-format출력 형식 text/json/stream-json-p --output-format json
--max-turns최대 대화 턴 수--max-turns 5
--permission-mode권한 모드--permission-mode plan
--resume이전 세션 다시 시작claude --resume
--continue이전 세션 계속하기claude --continue
--effort추론 노력도--effort high

커뮤니티 워크플로우 및 플러그인

오픈소스 커뮤니티에서 기여한 다양한 Claude Code 워크플로우 및 플러그인 모음입니다. GitHub Stars 순으로 정렬되어 있습니다:

프로젝트Stars설명ACS
Superpowers216k전체 프로세스 방법론: 브레인스토밍 → TDD → 코드 리뷰 → 브랜치0014
Everything Claude Code204k가장 큰 커뮤니티 컬렉션, 계획/리뷰/보안/e2e를 아우르는 300개 이상의 스킬63121300+
Matt Pocock Skills115kTypeScript 전문가 제작: TDD, 진단, 아키텍처 개선, PRD0028
Spec Kit108kGitHub 공식: 스펙 → 명확화 → 계획 → 작업 → 구현090
gstack106kYC 대장 제작: CEO/엔지니어/디자인 다중 역할 리뷰 → 배포0061
Get Shit Done64k엔드투엔드 납품: 스펙 → 계획 → 실행 → 검증 → 배포33670
OpenSpec52k가벼운 스펙 워크플로우: 제안 → 적용 → 검증 → 보관090
BMAD-METHOD49k제품 주도 개발: 브리프 → PRD → 아키텍처 → 스토리 → QA6042
oh-my-claudecode36k팀 협업 흐름: 팀 계획 → PRD → 실행 → 검증 → 수정19039
agent-skills27kGoogle 엔지니어 제작: 스펙 → 계획 → 빌드 → 테스트 → 배포3721
Compound Eng19k복합 엔지니어링: 전략 → 브레인스토밍 → 계획 → 복합47439
HumanLayer11k연구→구현 흐름: 연구 → 계획 → 검증 → 구현6270

A=에이전트 · C=명령어 · S=스킬. 프로젝트 이름을 클릭하면 GitHub로 이동합니다.

스킬 리포지토리

프로젝트스타스킬설명
anthropics/skills145k17공식 Anthropic 컬렉션
mattpocock/skills113k25고품질 TypeScript 스킬
wshobson/agents36k155다중 시나리오 스킬 컬렉션
scientific-agent-skills27k143학술 연구용
agent-skills27k21Google 엔지니어 제작
awesome-agent-skills24k1,424+엄선된 컬렉션
claude-skills15k2469개 도메인에 걸친 풀스택 커버리지

에이전트 리포지토리

프로젝트스타에이전트설명
agency-agents107k144대규모 에이전트 정의 라이브러리
awesome-subagents21k156엄선된 하위 에이전트 컬렉션

크로스 모델 라우팅

Claude Code의 API를 다른 모델 제공업체로 라우팅:

프로젝트스타브릿지설명
claude-code-router34kOpenRouter, DeepSeek, Ollama, Gemini 등작업별 모델 선택
CLIProxyAPI32kGemini CLI, Codex, Claude Code호환 가능한 API로 래핑
codex-plugin-cc18kCodex / GPT-5공식 OpenAI 플러그인: /codex:review
pal-mcp-server12k50개 이상의 모델다중 모델 MCP 서버

28개 인기 기능

Claude Code 생태계에서 가장 많이 관심을 받는 기능과 도구:

#기능설명
1Ultrareview노력: 높은 다차원 분석을 통한 심층 코드 리뷰
2Devcontainers일관된 환경을 위한 VS Code 개발 컨테이너 통합
3Channelsstable / latest 업데이트 채널 제어
4Ultraplan더 세밀한 작업 분해가 가능한 향상된 플랜 모드
5Fast Mode모델 다운그레이드 없이 빠른 Opus 출력
6Computer Use브라우저 및 데스크톱 앱을 위한 GUI 상호작용
7Agent SDK맞춤형 에이전트 구축을 위한 Python/TS SDK
8Voice Dictation타이핑 대체 음성 입력
9Remote SSHSSH 연결을 통한 원격 개발
10Background Agents차단 없이 장시간 실행되는 백그라운드 작업
11Worktree Isolation격리된 Git 브랜치 실험
12Custom Subagents.claude/agents/에서 맞춤형 하위 에이전트 정의
13Skills System9가지 유형의 재사용 가능한 명령어 팩
14Hooks27개의 수명 주기 이벤트 자동화 스크립트
15MCP Servers외부 서비스 연결 (데이터베이스, API, 브라우저)
16CLAUDE.md프로젝트 전체 컨텍스트를 가진 4단계 명령어 파일
17Memory System3가지 범위의 세션 간 지속 메모리
18Permission Modes기본값부터 전체 CI 자동화까지 6가지 권한 모드
19Plan Mode먼저 계획하고, 그 다음 구현하기 — 단계가 아닌 목표 제공
20Code Review다중 역할 분석을 통한 내장 코드 리뷰
21Browser MCPPlaywright / Chrome DevTools 모드
22Cross-ModelDeepSeek, Gemini, GPT 등으로 라우팅
23Agent Teams다중 에이전트 협업 팀 (Amp, Codex 등)
24Scheduled TasksCronCreate/TaskCreate 예약 디스패치
25RPI WorkflowResearch → Plan → Implement 루프
26CRISPY Method구조화된 작업 분해 방법론
27Sandbox Mode네트워크 허용 목록을 사용한 Bash 샌드박스 실행
28Multi-ProviderBedrock, Vertex, Foundry 멀티클라우드 배포

Command → Agent → Skill

Claude Code의 3계층 오케스트레이션 아키텍처와 핵심 컴포넌트 관계 이해

Command → Agent → Skill 아키텍처

Agent Command Skill Architecture

Command → Agent → Skill 3계층 아키텍처

User input / command trigger


┌──────────────┐    Command (entry point) 
│  /command    │    .claude/commands/*.md
└──────┬───────┘
       │ Agent tool

┌──────────────┐    Agent (executor) 
│  Agent       │    .claude/agents/*.md
└──────┬───────┘
       │ Preload/invoke Skill

┌──────────────┐    Skill (knowledge) 
│  Skill       │    .claude/skills/*/SKILL.md
└──────────────┘
  • Command — 사용자 진입점. Agent 호출 순서를 오케스트레이션합니다. 82개 내장 맞춤형

  • Agent — 독립적인 컨텍스트 실행자. 병렬로 실행할 수 있습니다. 5개 내장 맞춤형

  • Skill — 재사용 가능한 명령어 팩. 로드되거나 호출됩니다. 10개 내장 맞춤형

비교

구분CommandAgentSkill
역할진입점 / 오케스트레이터실행자지식 제공자
컨텍스트공유 메인 세션독립 창호출자에 주입
트리거사용자 /cmdAgent 도구사전 로드/Skill 도구
병렬성순차적병렬 가능해당 없음
동적 컨텍스트 주입✅ “!`command```✅ “!`command```
적합한 경우워크플로 오케스트레이션집중 작업재사용 가능한 명령어

선택 가이드: 여러 Agent를 연결하는 다단계 흐름을 조율해야 한다면 → Command. 독립적인 컨텍스트, 병렬 실행, 도구 격리가 필요하다면 → Agent. 다양한 시나리오에서 로드되는 재사용 가능한 명령어 팩이 필요하다면 → Skill.

Agent Command Skill 비교

관계 및 사용 사례

Harness가 중요한 이유

출력 품질 공식: quality = f(effective_context, model_capability, iteration_loops) Harness는 “유효 컨텍스트(effective context)“와 “반복 루프(iteration loops)“에 직접적인 영향을 미칩니다.

Harness: 10가지 핵심 기능

“Skills, Commands, Subagents 모두 결국 프롬프트가 되므로, 강력한 프롬프트만으로 충분하지 않을까?” — 기술적으로는 맞지만, 실제로는 그렇지 않습니다. Harness가 프롬프트가 닿을 수 없는 계층에서 수행하는 작업은 다음과 같습니다:

#기능수행하는 작업프롬프트가 대체할 수 없는 이유
1컨텍스트 격리Subagent가 독립적인 컨텍스트 창에서 실행됩니다하나의 프롬프트는 하나의 창을 채웁니다; N개의 병렬 Subagent = N배의 유효 컨텍스트
2도구 제한 강제allowed/disallowed-tools가 모델 호출 전에 가로챕니다프롬프트 지시는 권고 사항입니다; 거부 규칙은 우회할 수 없습니다
3지연 로딩 규칙 및 메모리paths: frontmatter 및 하위 디렉토리 CLAUDE.md가 필요시 로드됩니다프롬프트는 정적입니다; 런타임 파일 경로에 따라 동적으로 로드할 수 없습니다
4결정론적 훅 실행셸 명령이 라이프사이클 이벤트에서 실행되며 도구 호출을 가로챌 수 있습니다프롬프트는 자체 도구 호출을 가로챌 수 없습니다; 훅은 모델 의도와 관계없이 실행됩니다
5모델 라우팅model: haiku/opus가 서로 다른 모델 엔드포인트로 라우팅합니다프롬프트의 어떤 토큰도 응답하는 모델을 변경할 수 없습니다
6병렬 스케줄링여러 Subagent가 동시에 실행됩니다프롬프트는 순차적입니다; Harness는 병렬 프로세스를 스케줄링하고 결과를 수집합니다
7세션 간 지속성메모리 시스템과 설정 계층이 세션 간에 유지됩니다프롬프트는 세션이 종료되면 사라집니다
8모듈식 시스템 프롬프트CLI가 조건부로 110개 이상의 시스템 프롬프트 조각을 로드합니다사용자는 내부 CLI 프롬프트 조각을 직접 작성하거나 교체할 수 없습니다
9Skill 사전 로딩skills: 필드가 Subagent의 초기 컨텍스트에 전체 콘텐츠를 주입합니다Harness 로더만이 다른 Agent의 컨텍스트를 미리 채울 수 있습니다
10권한 분류기자동 모드가 백그라운드 분류기를 사용하여 도구 호출을 사전 승인하거나 차단합니다프롬프트는 자체적으로 실행 전 안전 계층을 추가할 수 없습니다
사용자 입력과 모델이 실제로 보는 것
User input: "Write a recursive flatten function"     ← (a) ~6 tokens

What the model actually sees:                       ← (b) ~15,000 tokens
  ├── CLAUDE.md (Project specs)
  ├── Matched .claude/rules/*.md (paths trigger)
  ├── Modular system prompt fragments (110+)
  ├── Tool definitions
  ├── Environment context (cwd, git status, platform)
  ├── Previous conversation turns
  ├── Files read via Read/Grep
  └── User's 6-token request

출력 품질은 (a)가 아닌 (b)에 달려 있습니다. Harness가 (b)를 구축합니다. "강력한 프롬프트"는 (b)를 재현할 수 없는데, 그 대부분이 사용자가 작성한 것이 아니기 때문입니다.

하위 에이전트

5가지 내장 유형

유형모델도구사용 사례
general-purposeinherit모든 도구기본 에이전트, 일반 작업 처리
Explorehaiku읽기 전용 (Read/Grep/Glob 등)빠른 코드 검색 및 탐색
Planinherit읽기 전용아키텍처 연구 및 솔루션 설계
statusline-setupsonnet읽기 + 편집상태 표시줄 설정 구성
claude-code-guidehaikuGlob/Grep/Read/WebFetch/WebSearchClaude Code 관련 질문 답변

사용자 정의 에이전트 프론트매터 (16개 필드)

16개 필드 모두 펼치기
필드설명
name에이전트 식별자
description트리거 조건 ("PROACTIVELY" = 자동)
tools허용된 도구 (쉼표로 구분)
disallowedTools허용되지 않은 도구
modelhaiku/sonnet/opus/inherit
permissionModeacceptEdits/plan/bypassPermissions
maxTurns최대 턴 수
skills사전 로드된 스킬 목록
mcpServersMCP 서버
hooks수명 주기 훅
memoryuser/project/local
background백그라운드에서 실행
effort추론 노력
isolation"worktree" Git 격리
colorCLI 색상

명령어 시스템 (82개 내장)

Claude Code에는 11개 카테고리로 구성된 82개의 내장 슬래시 명령어가 있습니다. 사용자 정의 명령어는 .claude/commands/*.md에 추가할 수 있습니다.

카테고리개수주요 명령어
Auth5/login /logout /setup-bedrock /setup-vertex /upgrade
Config15/config /theme /permissions /sandbox /statusline /tui /voice /focus /color /keybindings /privacy-settings /radio /scroll-speed /stickers /terminal-setup
Context7/context /usage /cost /stats /insights /status /usage-credits
Debug7/doctor /feedback /heapdump /help /powerup /release-notes /tasks
Export2/copy /export
Extensions9/agents /chrome /hooks /ide /mcp /plugin /reload-plugins /reload-skills /skills
Memory1/memory
Model6/model /effort /fast /plan /ultraplan /passes
Project7/add-dir /diff /init /review /security-review /team-onboarding /ultrareview
Remote10/remote-control /teleport /desktop /mobile /schedule /autofix-pr /install-github-app /install-slack-app /remote-env /web-setup
Session13/clear /compact /resume /rewind /branch /goal /background /btw /rename /recap /stop /workflows /exit
세부 정보가 포함된 82개 전체 명령어 보기

Auth (5)

명령어설명
/loginAnthropic 계정에 로그인
/logout로그아웃
/setup-bedrockAmazon Bedrock 인증 구성(CLAUDE_CODE_USE_BEDROCK=1 필요)
/setup-vertexGoogle Vertex AI 인증 구성(CLAUDE_CODE_USE_VERTEX=1 필요)
/upgrade상위 플랜으로 업그레이드

Config (15)

명령어설명
/config설정 UI 열기(별칭 /settings)
/theme색상 테마 전환, 사용자 정의 및 색맹 모드 지원
/permissions도구 권한 허용/확인/거부 규칙 관리(별칭 /allowed-tools)
/sandbox샌드박스 모드 전환
/statusline상태 표시줄 구성
/tui터미널 렌더링 모드 전환(default 또는 fullscreen)
/voice음성 입력(누르고 있기/탭/끄기)
/focus포커스 보기 전환, 마지막 프롬프트와 응답만 표시
/color프롬프트 바 색상 설정
/keybindings키 바인딩 구성 파일 열기
/privacy-settings개인정보 설정(Pro/Max)
/radioClaude FM lo-fi 라디오 열기
/scroll-speed스크롤 속도 조정
/stickersClaude Code 스티커 주문
/terminal-setup터미널 단축키 구성(Shift+Enter 등)

Context (7)

명령어설명
/context현재 컨텍스트 사용량 시각화
/usage세션 비용 및 사용량 통계(별칭 /cost, /stats)
/insights세션 분석 보고서 생성
/status버전, 모델, 연결 상태 확인
/usage-credits초과 사용 크레딧 구성

Debug (7)

명령어설명
/doctor설치 및 구성 문제 진단
/feedback피드백 제출 또는 버그 보고(별칭 /bug, /share)
/heapdump힙 메모리 스냅샷 생성
/help도움말 표시
/powerup인터랙티브 강좌, 10개의 파워업
/release-notes인터랙티브 버전 선택기로 변경 로그 보기
/tasks백그라운드 작업 관리(별칭 /bashes)

Export (2)

명령어설명
/copy마지막 응답을 클립보드에 복사, 가능한 경우 코드 블록 선택기 사용
/export대화를 일반 텍스트로 내보내기

Extensions (9)

명령어설명
/agents에이전트 구성 관리
/chromeChrome에서 Claude 구성
/hooks훅 구성 보기
/ideIDE 통합 관리
/mcpMCP 서버 관리
/plugin플러그인 관리
/reload-plugins모든 플러그인 새로고침
/reload-skills스킬 디렉토리 새로고침
/skills사용 가능한 스킬 나열

Memory (1)

명령어설명
/memoryCLAUDE.md 편집, 자동 메모리 전환

Model (6)

명령어설명
/model모델 전환, 화살표 키로 노력도 조절
/effort추론 노력도 설정(low/medium/high/xhigh/max/ultracode)
/fast빠른 모드 전환
/plan계획 모드 진입
/ultraplan브라우저에서 계획 초안 작성 및 검토
/passes무료 사용 주간 공유

Project (7)

명령어설명
/add-dir작업 디렉토리 추가
/diff턴별 탐색이 가능한 인터랙티브 diff 뷰어
/initCLAUDE.md 초기화(인터랙티브 모드는 CLAUDE_CODE_NEW_INIT=1 설정)
/review로컬 PR 검토
/security-review스테이지된 변경 사항에 대한 보안 검토
/team-onboarding사용 기록을 기반으로 팀 온보딩 가이드 생성
/ultrareview클라우드 기반 심층 다중 에이전트 PR 검토

Remote (10)

명령어설명
/remote-controlclaude.ai에서 원격 제어 허용(별칭 /rc)
/teleport웹 세션을 터미널로 가져오기(별칭 /tp)
/desktop데스크톱 앱에서 계속(별칭 /app)
/mobile모바일 앱 다운로드(별칭 /ios, /android)
/schedule예약 작업 생성(별칭 /routines)
/autofix-prPR 모니터링 및 CI 실패 자동 수정
/install-github-appGitHub Actions 앱 설치
/install-slack-appSlack 앱 설치
/remote-env웹 세션의 기본 원격 환경 구성
/web-setup웹에서 GitHub를 Claude Code에 연결

Session (13)

명령어설명
/clear새 대화(별칭 /reset, /new)
/compact컨텍스트 압축(선택적 초점 명령)
/resume이전 세션 이어서 진행(별칭 /continue)
/rewind이전 상태로 되돌리기(별칭 /undo, /checkpoint)
/branch세션 분기 생성(별칭 /fork)
/goal지속적인 목표 조건 설정
/background백그라운드로 전환(별칭 /bg)
/btw대화에 추가하지 않고 부가적인 질문하기
/rename세션 이름 변경
/recap세션 요약 생성
/stop백그라운드 세션 중지
/workflows워크플로우 보기, 일시정지, 재개
/exit종료(별칭 /quit)

사용자 정의 명령어: .claude/commands/*.md에 배치하며, 16개의 프론트매터 필드(name, description, argument-hint, arguments, context 등)를 지원합니다. 동적 컨텍스트 주입을 위해 “!`command```를 사용하세요.

오케스트레이션 패턴

Orchestration Workflow

Weather Reporter 전체 오케스트레이션 흐름 애니메이션

User: /weather-orchestrator


┌──────────────────────────┐
│  weather-orchestrator    │  ← Command (entry point) 
│  1. Ask temperature unit C/F   │
│  2. Call weather-agent   │
│  3. Call svg-creator     │
└──────┬───────────────────┘

┌──────────────────────────┐
│  weather-agent           │  ← Agent
│  preload: weather-fetcher │  ← Skill (preloaded) 
└──────┬───────────────────┘

┌──────────────────────────┐
│  weather-svg-creator     │  ← Skill (invoked) 
│  output: weather.svg         │
└──────────────────────────┘

작업 시스템

Claude Code의 내장 작업 추적 시스템은 생성, 조회, 업데이트 및 종속성 관리를 지원합니다. 서브에이전트 및 스킬과 함께 작동합니다.

4가지 핵심 도구

도구기능주요 매개변수
TaskCreate작업 생성subject, description, addBlocks, addBlockedBy
TaskList모든 작업 나열(no params)
TaskGet작업 세부 정보 가져오기taskId
TaskUpdate작업 상태 업데이트taskId, status, subject, description, addBlocks, addBlockedBy

작업 수명 주기

pending → in_progress → completed
                 ↘ deleted

종속성

  • addBlocks — “이 작업이 완료될 때까지 지정된 작업을 시작할 수 없음”을 표시합니다
  • addBlockedBy — “이 작업은 지정된 작업이 완료될 때까지 대기해야 함”을 표시합니다
  • 실행 순서를 보장하는 **DAG(방향성 비순환 그래프)**를 형성합니다

환경 변수: CLAUDE_CODE_TASK_LIST_ID는 현재 작업 목록을 식별하며, 파일은 ~/.claude/tasks/에 저장됩니다.

스킬 및 훅

재사용 가능한 명령어 팩 + 수명 주기 이벤트 자동화 스크립트

스킬 시스템

핵심 통찰: 스킬은 폴더입니다 (단순한 마크다운 파일이 아님). 스크립트, 데이터, 리소스, 구성 템플릿 등 에이전트가 검색, 읽기 및 조작할 수 있는 모든 것을 포함할 수 있습니다. SKILL.md는 진입점이지만 전체는 아닙니다. 실제 예제는 오케스트레이션을 참조하세요.

스킬은 자동 검색 및 트리거 기능과 함께 .claude/skills/<name>/SKILL.md에 있습니다. 세션이 시작되면 Claude는 사용 가능한 모든 스킬의 description 필드를 스캔하여 현재 작업과 일치시킵니다.

  • 점진적 정보 로딩 — SKILL.md를 통해 폴더에 있는 파일을 Claude에 알려주면, 필요할 때만 세부 정보를 읽습니다. 모든 정보를 한 번에 로딩하여 컨텍스트를 낭비하는 것을 방지합니다.

  • 설명은 모델을 위한 것 — description 필드는 요약이 아니라 트리거 조건 설명입니다. “이 스킬을 언제 사용해야 하는지”를 명확하게 작성하면 Claude가 그에 따라 자동 매칭합니다.

9가지 구성 패턴

유형트리거사용 사례
Slash사용자가 /name 입력일반 작업
AutoClaude가 자동 매칭설명에 의한 자동 트리거
Path일치하는 파일을 조작할 때paths: "*.tsx"
Fork서브에이전트 격리context: fork
Args인수를 사용하여 호출arguments: filename
Disabled자동 트리거 없음disable-model-invocation: true
Hidden백그라운드 지식 전용user-invocable: false
Permitted활성화되어 있을 때 작동allowed-tools
Model지정된 모델로 실행model: haiku

2가지 로딩 모드

  • 사전 로딩 모드 (에이전트 스킬) — 에이전트의 skills: 필드를 통해 로딩됩니다. 에이전트 시작 시 자동으로 주입됩니다.

  • 호출 모드 (실행된 스킬) — 스킬 도구 또는 /skill-name을 통해 트리거됩니다. Claude가 자동으로 매칭하여 호출할 수도 있습니다.

9가지 사용 카테고리

수백 개의 내부 Anthropic 스킬에서 추출(Thariq, 2026.03). 좋은 스킬은 하나의 카테고리에 속합니다. 여러 카테고리에 걸친 스킬은 일반적으로 분할해야 합니다.

#유형설명일반적인 예시
1라이브러리 & API 참조코드 스니펫과 일반적인 실수를 포함하여 Claude가 특정 라이브러리/CLI/SDK를 올바르게 사용하도록 가르칩니다billing-lib, frontend-design
2제품 검증코드 정확성을 테스트/검증하는 방법을 설명합니다. 주로 Playwright, tmux를 사용합니다signup-flow-driver, checkout-verifier
3데이터 가져오기 및 분석자격 증명, 대시보드 ID, 쿼리 템플릿을 사용하여 데이터/모니터링 스택에 연결합니다funnel-query, grafana
4비즈니스 프로세스반복적인 워크플로를 단일 명령으로 자동화합니다. 지속적인 로그는 모델의 일관성을 유지하는 데 도움이 됩니다standup-post, weekly-recap
5코드 스캐폴딩프레임워크 스캐폴딩을 생성하여 순수 코드로는 처리할 수 없는 자연어 요구 사항을 다룹니다new-migration, create-app
6코드 품질 및 리뷰코드 표준 및 리뷰를 강제합니다. Hooks 또는 GitHub Actions를 통해 자동 실행할 수 있습니다adversarial-review, code-style
7CI/CD 및 배포코드를 풀, 푸시, 배포합니다. 데이터 수집을 위해 다른 스킬을 참조할 수 있습니다babysit-pr, deploy-service
8런북증상 수신 → 다중 도구 조사 → 구조화된 보고서service-debugging, oncall-runner
9인프라 운영운영 작업(일부 파괴적 작업 포함). 가드레일이 필요합니다resource-orphans, cost-investigation
9가지 스킬 설계 팁 (Thariq)
  1. 자명한 내용은 생략하세요 — Claude는 이미 많은 것을 알고 있습니다. 기본 동작을 변경하는 정보에 집중하세요
  2. 주의사항(Gotchas) 섹션을 만드세요 — 가장 중요한 정보로, 일반적인 실패 지점에서 축적됩니다
  3. 점진적 로딩에 파일 시스템을 활용하세요 — Claude에게 폴더의 내용을 알려주면, 필요할 때 읽어옵니다
  4. 경로를 강제하지 마세요 — 단계가 아닌 목표와 제약 조건을 제공하세요
  5. 설정(Setup)을 고민하세요 — 설정에는 config.json을 사용하고, 설정되지 않은 경우 Claude가 AskUserQuestion을 통해 질문하도록 하세요
  6. 설명은 모델을 위한 것입니다 — "무엇을 해야 하는지"가 아닌 "언제 트리거할지"를 작성하세요
  7. 복잡한 흐름에는 에이전트 스킬을 사용하세요 — Agent에 사전 로드하여 격리된 컨텍스트에서 실행합니다
  8. 스킬은 다른 스킬을 참조할 수 있습니다 — 단, 순환 종속성은 피하세요
  9. 지속적으로 반복하세요 — 실패 사례에서 주의사항(Gotchas)을 추출하여 스킬을 업데이트하세요

16가지 프론트매터 필드

전체 목록 보기
필드유형설명
namestring표시 이름 및 /slash 식별자
descriptionstring기능 설명(자동 검색용)
when_to_usestring트리거 문구 및 예시
argument-hintstring자동완성 힌트
argumentsstring/list위치 인수 $name 대체
disable-model-invocationbool자동 호출 차단
user-invocableboolfalse = / 메뉴에서 숨기기
allowed-toolsstring자동 승인된 도구
disallowed-toolsstring/list제거된 도구
modelstringhaiku/sonnet/opus
effortstringlow/medium/high/max
contextstringfork = 격리된 실행
agentstringsubagent 유형
hooksobject수명 주기 훅
pathsstring/listGlob 활성화 범위
shellstringbash/powershell

10가지 내장 스킬

#스킬설명
1code-review정확성 버그에 대한 diff 검토
2batch파일 간 배치 작업
3debug실패한 명령 디버깅
4loop예약 루프(최대 3일)
5claude-apiClaude API 애플리케이션 빌드
6fewer-permission-prompts권한 프롬프트 감소
7run구동형 앱 실행(≥v2.1.145)
8verify빌드 검증 변경(≥v2.1.145)
9run-skill-generator/run에 프로젝트 시작 방법 학습
10simplify코드 단순화(4개의 병렬 에이전트)

훅 시스템

라이프사이클 이벤트 기반 자동화 스크립트입니다. .claude/settings.json 또는 에이전트 프론트매터에서 구성합니다.

4가지 훅 유형

유형설명사용 사례
command셸 명령 실행 (가장 일반적)알림, 코드 포매팅, 린트
prompt컨텍스트에 프롬프트 텍스트 삽입동적 규칙 로딩, 조건부 알림
agent하위 에이전트 실행 트리거 (멀티턴)모델 개입이 필요한 복잡한 자동화
httpHTTP 요청 전송 (≥v2.1.63)외부 시스템 알림, 웹훅

에이전트 프론트매터 제한 사항: 에이전트에서는 6개의 훅 이벤트만 사용할 수 있습니다: PreToolUse, PostToolUse, PostToolUseFailure, PermissionRequest, Stop, SubagentStop. 나머지 21개 이벤트는 메인 세션에서만 사용할 수 있습니다.

27개 라이프사이클 이벤트

기능별로 그룹화됩니다. 모든 이벤트는 asynctimeout 옵션을 지원합니다.

그룹이벤트트리거
도구 호출PreToolUse도구 호출 전 (가로채기 가능)
PostToolUse성공적인 도구 호출 후
PostToolUseFailure실패한 도구 호출 후
PermissionRequest사용자 권한 요청 시
세션SessionStart세션 시작 또는 재개 시
SessionEnd세션 종료 시
Setup/setup 실행으로 프로젝트 초기화 시
사용자 상호작용UserPromptSubmit사용자가 프롬프트를 제출할 때
Notification알림 이벤트
StopClaude가 생성을 중지할 때
하위 에이전트SubagentStart하위 에이전트가 시작될 때
SubagentStop하위 에이전트가 완료될 때
컨텍스트PreCompact컨텍스트 압축 전
PostCompact컨텍스트 압축 후
에이전트 팀TeammateIdle팀원 에이전트가 유휴 상태일 때 (실험적)
TaskCreated작업이 생성될 때 (실험적)
TaskCompleted백그라운드 작업이 완료될 때 (실험적)
환경ConfigChange구성 파일이 변경될 때
WorktreeCreateWorktree가 생성될 때
WorktreeRemoveWorktree가 제거될 때
InstructionsLoadedCLAUDE.md / 규칙이 로드될 때
MCP 및 권한ElicitationMCP가 사용자 입력을 요청할 때
ElicitationResult사용자가 MCP 요청에 응답한 후
StopFailureAPI 오류로 인해 턴이 종료될 때
CwdChanged작업 디렉터리가 변경될 때
FileChanged모니터링된 파일이 변경될 때 (matcher 필요)
PermissionDenied자동 모드에서 도구 호출이 거부된 후 (재시도 가능)

구성 예시

훅은 설정에서 구성하거나, 필요에 따라 스킬 프론트매터를 통해 활성화합니다.

{
  "hooks": {
    "Stop": [{
      "type": "command",
      "command": "python3 .claude/hooks/scripts/hooks.py --event Stop"
    }],
    "PostToolUse": [{
      "type": "command",
      "command": "python3 .claude/hooks/scripts/hooks.py --event PostToolUse"
    }]
  }
}

고급 도구 활용

Prompt-to-Code (PTC) — 패러다임 전환

시스템 프롬프트에 지시사항을 쑤셔 넣는 대신, PTC는 이를 샌드박스에서 실행되는 실행 가능한 코드 규칙으로 컴파일합니다. 결과: 더 짧은 프롬프트, 더 정밀한 추론, ~37% 토큰 절약.

비교 항목전통적 프롬프트PTC 모드
지시사항 형식자연어 프롬프트코드 규칙 + allowed_callers
실행 방식모델이 라인별로 해석샌드박스 코드 실행, 결과 반환
토큰 비용높음 (매번 전체 프롬프트 전송)낮음 (코드 + 반환값)
결정론성낮음 (해석이 달라질 수 있음)높음 (명시적 코드 로직)
PTC 구성 예시
{
  "type": "code_execution_20250825",
  "name": "data_processor",
  "allowed_callers": ["code_execution_20250825"],
  "input_schema": {
    "type": "object",
    "properties": {
      "task": { "type": "string" }
    }
  }
}

PTC 고급 패턴

  • 배치 처리 — 단일 PTC 호출로 여러 레코드를 순회하여 도구 호출 횟수를 줄입니다. 배치 번역, 분류 등에 이상적입니다.

  • 조기 종료 — 코드에 조건 검사를 추가하여 임계값 충족 시 즉시 return합니다. 불필요한 연산을 방지합니다.

  • 조건부 분기 — 각각에 대해 별도의 도구를 정의하는 대신 입력 유형에 따라 다른 처리 분기를 동적으로 선택합니다.

PTC 제약사항

제한 사항설명
플랫폼 지원Bedrock / Vertex 미지원, API 직접 연결만 지원
도구 유형MCP 도구 불가, API 네이티브 도구만 지원
컨테이너 수명~4.5분 타임아웃
모델 요구사항Opus 4.5+ 또는 Sonnet 4.5+

동적 도구 필터링

Web Search / Web Fetch 결과가 원본 그대로 주입되는 대신 코드에 의해 사전 처리됩니다. 베타 헤더 anthropic-beta: code-execution-web-tools-2026-02-09가 필요합니다.

벤치마크모델필터 없음필터 적용향상도
BrowseCompSonnet33.3%46.6%+13.3pp
Opus45.3%61.6%+16.3pp
DeepsearchQASonnet52.6%59.4%+6.8pp
Opus69.8%77.3%+7.5pp

도구 검색

자주 사용하지 않는 도구에 defer_loading: true를 표시하면 모델이 필요할 때 검색하여 로드하며, 도구 정의를 ~85% 줄여줍니다.

// Tool definitionsExample
{
  "name": "specialized_analyzer",
  "defer_loading": true,
  "description": "..."
}

// Claude Code environment variable
ENABLE_TOOL_SEARCH=auto:5  // Keep 5 common tools, defer the rest

도구 사용 예시

도구 정의에 실제 데이터 샘플이 포함된 input_examples 배열(1-5개 항목)을 추가하세요. 모델 호출 정확도가 72%에서 90%로 향상됩니다.

{
  "name": "query_database",
  "input_examples": [
    { "sql": "SELECT * FROM users WHERE active = true LIMIT 10" },
    { "sql": "SELECT COUNT(*) FROM orders WHERE date > '2026-01-01'" }
  ]
}

Claude Code에서의 가용성

기능Claude Code CLIAPI / SDK
도구 검색✅ 내장 (v2.1.7+)✅ 수동 구성
도구 사용 예시✅ CLAUDE.md에서 구성✅ 도구 정의에서 구성
PTC❌ CLI에서는 해당 없음✅ API 수준 기능
동적 필터링❌ CLI에서는 해당 없음✅ API 수준 기능

CLI 사용자 우선사항: CLAUDE.md에서 먼저 도구 사용 예시와 도구 검색을 구성하세요 (ENABLE_TOOL_SEARCH=auto:5). 이 기능들이 CLI 사용자에게 가장 큰 이점을 제공합니다. PTC와 동적 필터링은 주로 SDK/API 심층 연동 시나리오를 위한 것입니다.

설정 및 메모리 시스템

5단계 설정 우선순위 · CLAUDE.md 사양 · 자동 메모리 · MCP 확장

설정 5단계 우선순위

우선순위소스범위공유
1 (최고)관리형 설정조직IT 배포
2CLI 인수단일 세션아니요
3.claude/settings.local.json프로젝트 개인git-ignored
4.claude/settings.json프로젝트 팀커밋됨
5 (최저)~/.claude/settings.json전역아니요

관리형 설정 전달 방법

방법플랫폼
서버 관리형원격 푸시
MDM 프로파일macOS com.anthropic.claudecode
레지스트리 정책Windows HKLM\SOFTWARE\Policies\ClaudeCode
managed-settings.jsonmacOS /Library/Application Support/ClaudeCode/
드롭인 디렉토리managed-settings.d/*.json 알파벳순 병합

핵심 설정

80개 이상의 설정 전체 목록 (클릭하여 펼치기)
카테고리기본값설명
모델modeldefault기본 모델 별칭 또는 전체 ID
모델agent-기본 에이전트 이름
모델effortLevel-추론 노력: low/medium/high/xhigh
모델modelOverrides-모델 ID 매핑 (Bedrock/Vertex)
모델availableModels-사용 가능한 모델 목록 제한
언어languageenglish응답 언어
언어alwaysThinkingEnabledfalse기본적으로 확장 사고 활성화
유지관리cleanupPeriodDays30세션 정리 기간 (일)
업데이트autoUpdatesChannellateststable/latest
계획plansDirectory~/.claude/plans계획 파일 저장 디렉토리
메모리autoMemoryEnabledtrue자동 메모리 활성화
메모리autoMemoryDirectory-사용자 정의 메모리 디렉토리
메모리claudeMdExcludes-CLAUDE.md 파일 제외 글로브 패턴
디스플레이statusLine-사용자 정의 상태 표시줄
디스플레이outputStyledefault출력 스타일
디스플레이editorModenormalnormal/vim
디스플레이viewMode-default/verbose/focus
디스플레이tuidefaultfullscreen/default 렌더링 모드
디스플레이prefersReducedMotionfalse애니메이션 줄이기
워크트리worktree.symlinkDirectories[]심볼릭 링크 디렉토리
워크트리worktree.sparsePaths[]희소 체크아웃 경로
워크트리worktree.baseReffreshfresh/head 브랜치 소스
속성attribution.commitCo-authored-byGit 커밋 속성
속성attribution.prGeneratedPR 설명 속성
teammateModeautoauto/in-process/tmux
샌드박스sandbox.enabledfalseBash 샌드박스 활성화
샌드박스sandbox.autoAllowBashIfSandboxedtrue샌드박스 내에서 자동 승인
샌드박스sandbox.network.allowedDomains[]네트워크 도메인 허용 목록
샌드박스sandbox.customExecutable-사용자 정의 샌드박스 실행 파일
샌드박스sandbox.profileName-샌드박스 프로필 이름
플러그인allowedPlugins[]플러그인 허용 목록
플러그인deniedPlugins[]플러그인 차단 목록
플러그인pluginRegistry-사용자 정의 플러그인 레지스트리 URL
플러그인pluginInstallDir-플러그인 설치 디렉토리
플러그인pluginWorkingDir-플러그인 작업 디렉토리
플러그인enableAllProjectMcpServersfalse프로젝트 수준 MCP 자동 활성화
디스플레이statusLine.enabledtrue상태 표시줄 활성화
디스플레이statusLine.fontSize-상태 표시줄 글꼴 크기
디스플레이statusLine.theme-상태 표시줄 테마 재정의
속성attribution.hideFromGitLogfalsegit 로그에서 속성 숨기기
속성attribution.hideFromPrDescriptionfalsePR 설명에서 속성 숨기기
핵심verbosefalse상세 출력 모드
핵심maxTurns-최대 대화 턴 수
핵심disallowedTools[]전역적으로 비활성화된 도구 목록
핵심allowedTools[]사전 승인된 도구 목록
핵심hooks{}수명 주기 훅 설정
핵심mcpServers{}MCP 서버 설정
핵심env{}환경 변수 주입
핵심includeContext[]추가 컨텍스트 파일
핵심permissions{}권한 재정의 설정
핵심forceLoadSkills[]강제 스킬 로딩
핵심minimumVersion-이 버전 미만으로 자동 업데이트 다운그레이드 방지
핵심defaultShellbash기본 셸 (bash / powershell)
핵심includeGitInstructionstrue시스템 프롬프트에 커밋/PR 워크플로 지침 포함
핵심fastModePerSessionOptInfalse세션별 수동 빠른 모드 활성화 필요
핵심apiKeyHelper-인증 토큰을 출력하는 셸 스크립트 경로
핵심claudeMd- (관리형 전용) 조직 수준 CLAUDE.md 지침
언어showThinkingSummariesfalse확장 사고 요약 표시
언어voice-음성 받아쓰기 설정 (enabled, mode, autoSubmit)
스킬disableSkillShellExecutionfalse스킬 인라인 셸 실행 비활성화
스킬maxSkillDescriptionChars1536스킬별 설명 + when_to_use 문자 제한
스킬skillListingBudgetFraction0.01스킬 목록에 예약된 모델 컨텍스트 윈도우 비율
스킬skillOverrides-스킬별 이름 가시성 재정의
기능disableAllHooks-모든 훅 비활성화 (사용자 정의 상태 표시줄 포함)
기능disableRemoteControlfalse원격 제어 비활성화
기능disableAgentViewfalse백그라운드 에이전트 및 에이전트 뷰 비활성화
기능disableWorkflowsfalse동적 워크플로 비활성화 (/workflows)
기능awaySummaryEnabledtrue사용자 복귀 시 유휴 세션 요약 생성
디스플레이respectGitignoretrue파일 선택기가 .gitignore 따름
디스플레이autoScrollEnabledtrue전체 화면에서 대화 자동 스크롤
디스플레이showTurnDurationtrue응답 후 턴 지속 시간 표시
디스플레이syntaxHighlightingDisabledfalse코드 구문 강조 비활성화
디스플레이preferredNotifChannelauto작업 완료 / 권한 프롬프트 알림 방법
디스플레이showClearContextOnPlanAcceptfalse계획 수락 시 "컨텍스트 지우기" 옵션 표시
MCPenabledMcpjsonServers[]MCP 서버 허용 목록 (이름별)
MCPdisabledMcpjsonServers[]MCP 서버 차단 목록 (이름별)
샌드박스sandbox.failIfUnavailablefalse샌드박스가 활성화되었으나 사용할 수 없는 경우 오류로 종료
샌드박스sandbox.excludedCommands[]샌드박스 외부에서 실행할 명령
샌드박스sandbox.filesystem.allowWrite[]샌드박스 내 추가 쓰기 가능 경로
샌드박스sandbox.filesystem.denyWrite[]샌드박스 내 쓰기 거부 경로
샌드박스sandbox.filesystem.denyRead[]샌드박스 내 읽기 거부 경로
워크트리worktree.bgIsolationworktree백그라운드 세션 격리 모드 (worktree/none)
IDEautoConnectIdefalse외부 터미널에서 실행 중인 IDE에 자동 연결
IDEautoInstallIdeExtensiontrueVS Code 터미널에서 확장 프로그램 자동 설치
기능workflowKeywordTriggerEnabledtrue"ultracode" 입력 시 동적 워크플로 트리거 여부 (v2.1.157)
기능ultracode- (세션 전용) 각 작업에 대해 워크플로를 자동 생성하고 철저성 최대화 (v2.1.154)
기능feedbackSurveyRate-세션 품질 설문조사 확률 (0-1)
핵심disableDeepLinkRegistration-claude-cli:// 프로토콜 핸들러 등록 방지
인증forceLoginMethod-로그인 방법 제한: claudeai 또는 console
인증forceLoginOrgUUID-지정된 조직 UUID로 로그인 제한
인증apiKeyHelper-인증 토큰을 출력하는 셸 스크립트 경로
인증gcpAuthRefresh-GCP ADC를 새로고침하는 사용자 정의 스크립트
플러그인strictPluginOnlyCustomization- (관리형) 스킬/에이전트/훅/MCP를 플러그인으로만 제한
플러그인strictKnownMarketplaces- (관리형) 허용된 마켓플레이스 허용 목록
플러그인blockedMarketplaces- (관리형) 차단된 마켓플레이스 차단 목록
플러그인enabledPlugins-플러그인 이름별 활성화/비활성화
디스플레이spinnerTipsEnabledtrue대기 중 팁 표시
디스플레이spinnerVerbs-사용자 정의 스피너 동사 (mode + verbs 배열)
디스플레이fileSuggestion-사용자 정의 파일 제안 명령
디스플레이terminalProgressBarEnabledtrue터미널 진행률 표시줄 활성화
속성prUrlTemplate-PR 링크 템플릿 (자체 호스팅 GitLab/Bitbucket 등)
기능companyAnnouncements-시작 시 사용자 정의 공지 표시 (무작위 순환)

거부 규칙은 항상 최고 우선순위를 가집니다 — 어느 수준에서든 거부는 모든 허용 규칙을 재정의합니다. 배열 설정은 수준 간에 대체되지 않고 병합 및 중복 제거됩니다.

관리형 레이어 내부 우선순위

관리형 레이어 내에서 소스는 다음 순서로 사용됩니다 (단 하나의 소스만 사용, 교차 레이어 병합 없음):

우선순위소스
1서버 관리형 원격 푸시
2MDM 프로파일 / 레지스트리 정책
3managed-settings.d/*.json + managed-settings.json
4HKCU 레지스트리 (Windows 전용)
관리형 레이어 정책 키 (클릭하여 펼치기)
유형설명
parentSettingsBehaviorstringSDK 부모 프로세스 관리형 설정이 MDM 레이어와 상호 작용하는 방식을 제어합니다. "first-wins"(기본값)은 부모를 무시하고, "merge"는 부모가 정책을 강화할 수 있지만 완화할 수는 없도록 허용합니다. v2.1.133 이상 필요
policyHelperobject관리형 설정을 동적으로 계산하는 실행 파일입니다. 형식 {path: string}, MDM 또는 시스템 managed-settings.json에서만 유효합니다. 각 시작 시 실행되어 관리형 레이어에 병합됩니다. v2.1.136 이상 필요
forceRemoteSettingsRefreshboolean원격 관리형 설정 가져오기가 완료될 때까지 CLI 시작을 차단합니다. 실패 시 종료 (실패 시 폐쇄)
wslInheritsWindowsSettingsbooleanWSL에서 Windows 정책 체인 읽기 (Windows 관리자가 설정해야 함)
allowManagedPermissionRulesOnlyboolean관리형 권한 규칙만 적용됨, 사용자/프로젝트 허용/요청/거부 무시됨
allowManagedMcpServersOnlyboolean관리형 허용 목록의 MCP 서버만 허용
allowManagedHooksOnlyboolean관리형 레이어에 정의된 훅만 허용

v2.1.126 변경 사항: /config는 이제 변경 사항을 메모리에만 보관하는 대신 ~/.claude/settings.json에 저장합니다. 대화형 설정 UI를 통한 편집은 재시작 후에도 유지됩니다.

권한 모드

설정의 permissions 키를 통해 구성합니다.

모드설명시나리오
default고위험 작업은 확인 필요일상적인 개발
plan읽기 전용 탐색, 명시적 허용 규칙을 재정의 (v2.1.136)계획 단계
acceptEdits파일 편집 자동 허용. 빌드 도구 구성 파일에 대한 추가 프롬프트 (v2.1.160)신뢰할 수 있는 Claude
dontAsk사전 승인된 항목 외에는 자동 거부제한된 환경
auto백그라운드 안전 검사를 통해 자동 승인. 연속 3회 또는 누적 20회 차단 후 프롬프트로 대체고효율 개발 (리서치 프리뷰)
bypassPermissions모든 확인을 건너뜀. .claude/commands|agents|skills|worktrees/ 쓰기는 프롬프트에서 제외CI/CD 전용

도구 권한 구문

도구구문예시
BashBash(command pattern)Bash(npm run *), Bash(git *)
ReadRead(path pattern)Read(.env), Read(./src/**)
EditEdit(path pattern)Edit(*.ts)
WriteWrite(path pattern)Write(*.md)
WebFetchWebFetch(domain:*)WebFetch(domain:example.com)
AgentAgent(name)Agent(Explore)
SkillSkill(name)Skill(weather-fetcher)
MCPmcp__server__toolmcp__memory__*

경로 접두사

접두사의미예시
//절대 경로Read(//Users/alice/file)
~/홈 디렉토리 기준 상대 경로Read(~/.zshrc)
/프로젝트 루트 기준 상대 경로Edit(/src/**)
접두사 없음현재 디렉토리Read(*.ts)

매칭 규칙

  • 복합 명령어: &&, ||, ;, |로 분리되며, 각 하위 명령어는 독립적으로 매칭됩니다. Bash(safe-cmd *)safe-cmd && other-cmd를 포함하지 않습니다
  • 와일드카드 위치: *는 접두사, 접미사 또는 중간에 올 수 있습니다. Bash(* install)npm install과 매칭됩니다; Bash(git * main)git push main과 매칭됩니다
  • 단어 경계: Bash(ls *)(공백 포함)는 lsof와 매칭되지 않습니다; Bash(ls*)(공백 없음)는 둘 다 매칭됩니다
  • 심볼릭 링크: 허용하려면 심볼릭 링크와 대상 모두가 허용된 디렉토리에 있어야 합니다; 거부는 둘 중 하나라도 해당되면 트리거됩니다
  • 프로세스 래퍼: timeout, time, nice, nohup은 매칭 전에 제거됩니다. watch, find -exec는 항상 프롬프트를 표시합니다

전역 vs 프로젝트 설정

  • 전역 ~/.claude/settings.json 전역 설정 CLAUDE.md 모든 프로젝트 지침 적합: 개인 설정, 일반 구성, 셸 별칭

  • 프로젝트 .claude/settings.json 팀 공유 (커밋됨) settings.local.json 개인 오버라이드 (git-ignored)) CLAUDE.md 프로젝트 지침 agents/ SubAgent 정의 skills/ 스킬 정의 commands/ 커스텀 명령어

6가지 설정 차원

차원전역프로젝트
설정~/.claude/settings.json.claude/settings.json + settings.local.json
메모리~/.claude/CLAUDE.md디렉토리별 CLAUDE.md + 자동 메모리
MCP~/.claude/mcp.json.mcp.json
스킬~/.claude/skills/.claude/skills/
에이전트~/.claude/agents/.claude/agents/
hooks field in settings.jsonhooks field in settings.json

디렉토리 구조

~/.claude/                          .claude/
├── settings.json      ← Global settings    ├── settings.json      ← Team shared
├── settings.local.json               ├── settings.local.json ← Personal override
├── CLAUDE.md          ← Global instructions    ├── CLAUDE.md          ← Project instructions
├── mcp.json           ← Global MCP    ├── agents/            ← Subagent definitions
├── agents/            ← Global agents    │   ├── reviewer.md
│   ├── explorer.md                   │   └── coder.md
│   └── researcher.md                 ├── skills/            ← Skill definitions
├── skills/            ← Global skills    │   ├── lint-check/
│   └── deploy-check/                 │   │   └── SKILL.md
├── commands/          ← Global commands    │   └── test-runner/
│   └── review.md                     │       └── SKILL.md
├── plans/             ← Plan files    ├── commands/          ← Custom commands
├── tasks/             ← Task persistence  │   └── commit.md
├── memory/            ← Auto memory    ├── rules/             ← Conditional rules
└── plugins/           ← Plugin installs    │   ├── tests.md
                                      │   └── security.md
                                      └── mcp.json           ← Project MCP

6가지 설계 원칙

원칙설명
최소 놀라움기본 동작이 직관적이며, 예상치 못한 설정이 최소화됨
계층적 오버라이드상위 계층이 하위 계층을 오버라이드; 거부는 항상 최우선
점진적 공개단순한 경우에는 설정이 필요 없음; 복잡한 경우에 확장 가능
팀 친화적프로젝트 설정은 커밋 가능; 개인 설정은 git-ignored
보안 우선다중 계층 권한 보호, 샌드박스 실행
확장 가능MCP + 스킬 + 훅 — 세 가지 확장 차원

전역 전용 기능

  • allowedPlugins / deniedPlugins — 플러그인 허용/차단 목록
  • managedSettings — IT 배포 조직 수준 설정
  • autoUpdatesChannel — 업데이트 채널 제어
  • cleanupPeriodDays — 세션 자동 정리
  • pluginRegistry — 커스텀 플러그인 소스
  • plansDirectory — 전역 계획 파일 디렉토리
  • autoMemoryEnabled — 메모리 시스템 토글

CLAUDE.md 사양

CLAUDE.md는 Claude Code에서 가장 영향력 있는 구성입니다. 잘 구조화된 CLAUDE.md는 어떠한 설정 튜닝보다도 출력 품질을 더 크게 향상시킵니다.

4가지 저장 위치

파일위치로드 시점목적
CLAUDE.md프로젝트 루트시작 시 (상향 탐색)팀 공유 지침
CLAUDE.local.md프로젝트 루트 (git-ignored)시작 시 (상향 탐색)개인 기본 설정, 커밋되지 않음
~/.claude/CLAUDE.md사용자 홈 디렉토리모든 세션글로벌 개인 지침, 모든 프로젝트
.claude/rules/*.md프로젝트 rules/프론트매터에 따라 다름조건부 로드 규칙

.claude/rules/ 조건부 로딩

  • paths: 프론트매터 포함 — **지연 로드(Lazy-loaded)**됩니다. 일치하는 경로에서 작업할 때만 로드됩니다. 프레임워크별 규칙에 이상적입니다. 예: paths: ["src/**/*.test.ts"]는 테스트 파일을 편집할 때만 로드됩니다.

  • 프론트매터 없음모든 세션에서 로드되며 CLAUDE.md와 동일합니다. 프로젝트 전체 규칙에 가장 적합합니다.

작성 가이드라인

  • 200줄 이하로 유지 — 이를 넘어가면 준수율이 떨어집니다
  • **이유(WHY)**를 작성하고 내용(WHAT)은 쓰지 마세요 — 코드가 이미 내용을 설명하고 있습니다; 숨겨진 제약 조건, 미묘한 불변량, 특정 버그에 대한 해결 방법을 문서화하세요
  • 부정 지침이 더 효과적입니다 — “패턴 X를 사용하지 마세요”가 “패턴 Y를 사용하세요”보다 더 명확합니다
  • 코드가 이미 표현하고 있는 내용은 적지 마세요 — CLAUDE.md의 가치는 Claude를 기본 사고방식에서 벗어나게 하는 데 있습니다
  • 코드 패턴, 아키텍처 스냅샷 또는 git 기록을 저장하지 마세요 — 이러한 것들은 코드에서 파생될 수 있습니다
  • 프로젝트별 제약 조건을 포함하세요: 빌드 순서 종속성, 알려진 호환되지 않는 라이브러리 버전, 특수 배포 프로세스

claudeMdExcludes

claudeMdExcludes 설정을 사용하여 원하지 않는 CLAUDE.md 파일을 건너뛰세요:

{
  "claudeMdExcludes": [
    "**/vendor/**/CLAUDE.md",
    "**/node_modules/**/CLAUDE.md"
  ]
}

제외는 사용자, 프로젝트 및 로컬 메모리에만 적용됩니다. 관리형 정책 파일은 제외할 수 없습니다.

모노레포 로딩 메커니즘

CLAUDE.md Loading in Monorepos

모노레포에서의 CLAUDE.md 로딩 메커니즘 (Boris Cherny 원작)

  • 상위 디렉토리 로딩 — 시작 시 상향으로 탐색하며 모든 CLAUDE.md 파일을 즉시 로드합니다. 즉시 로드

  • 하위 디렉토리 로딩 — 하위 디렉토리의 CLAUDE.md 파일은 해당 디렉토리에서 작업할 때만 로드됩니다. 지연 로드

시나리오 비교

모노레포 구조: frontend/CLAUDE.md, backend/CLAUDE.md, api/CLAUDE.md, 루트 CLAUDE.md라고 가정합니다.

시나리오 1: 루트에서 시작 cd /mymonorepo && claude

파일로드 여부이유
루트 CLAUDE.md✓ 즉시 로드현재 작업 디렉토리
frontend/CLAUDE.md✗ 지연 로드frontend/에서 작업할 때 로드
backend/CLAUDE.md✗ 지연 로드backend/에서 작업할 때 로드
api/CLAUDE.md✗ 지연 로드api/에서 작업할 때 로드

시나리오 2: 컴포넌트 디렉토리에서 시작 cd /mymonorepo/frontend && claude

파일로드 여부이유
루트 CLAUDE.md✓ 즉시 로드상위 디렉토리, 상향 탐색
frontend/CLAUDE.md✓ 즉시 로드현재 작업 디렉토리
backend/CLAUDE.md✗ 로드 안 됨다른 브랜치의 형제 디렉토리
api/CLAUDE.md✗ 로드 안 됨다른 브랜치의 형제 디렉토리

모범 사례: 공유 규칙은 루트 CLAUDE.md에, 컴포넌트별 지침은 해당 컴포넌트의 CLAUDE.md에 작성하세요. 개인 기본 설정은 CLAUDE.local.md(git-ignored)에 작성하세요.

자동 메모리

Claude Code의 자동 메모리 시스템은 세션 간에 정보를 유지합니다. 메모리 파일은 프로젝트 .claude/ 디렉토리 또는 전역 ~/.claude/에 저장되며, YAML frontmatter + Markdown 형식으로 구성됩니다.

4가지 메모리 유형

유형내용저장 시기일반적인 파일
user역할, 목표, 지식 배경사용자에 대해 파악했을 때user_role.md
feedback선호도 및 수정 사항사용자의 수정/확인 시feedback_testing.md
project프로젝트 진행 상황, 마일스톤프로젝트 상태를 파악했을 때project_auth_rewrite.md
reference외부 시스템 참조외부 리소스에 대해 파악했을 때ref_linear_ingest.md

메모리 파일 구조

각 메모리는 YAML frontmatter를 사용하는 독립적인 Markdown 파일입니다:

---
name: feedback-testing
description: Testing preferences and corrections
metadata:
  type: feedback
---

Integration tests must use a real database, not mocks.
**Why:** Last quarter a migration failed due to mock/production environment divergence. 

[[testing-patterns]]  ← link to related memory

MEMORY.md 인덱스

모든 메모리는 200줄 이하로 유지되는 MEMORY.md 인덱스 파일을 통해 관리됩니다. 줄당 인덱스 형식:

- [Title](filename.md) — one-line summary

저장하지 않아야 할 항목

  • 코드 패턴, 아키텍처, 파일 경로 — 코드에서 도출 가능
  • Git 기록, 최근 변경 사항 — git log가 권위 있는 소스
  • 디버깅 솔루션 — 수정 사항은 코드에, 맥락은 커밋 메시지에 있음
  • CLAUDE.md에 이미 포함된 내용
  • 일시적인 작업 세부 정보 — 대신 Task 또는 Plan 사용

설정

기본값설명
autoMemoryEnabledtrue자동 메모리 활성화, /memory로 전환
autoMemoryDirectory-사용자 지정 메모리 디렉토리 (전역/관리 레이어만 해당)

에이전트 메모리 3가지 범위

서브에이전트를 통해 메모리는 에이전트 간에 지식을 유지할 수 있습니다.

범위저장소참고
user~/.claude/전역, 모든 프로젝트에서 공유
project.claude/프로젝트 수준, 팀 공유
local.claude/ (git-ignored)로컬, 개인용

MEMORY.md 인덱스 파일은 200줄 이하로 유지하세요.

MCP 서비스

일반 MCP 서비스

MCP용도설정
Context7최신 라이브러리 문서자동
Playwright브라우저 자동화 테스트npx @anthropic-ai/mcp-playwright
Chrome DevTools브라우저 디버깅Chrome 확장 프로그램
DeepWikiGitHub 리포지토리 문서자동
Excalidraw다이어그램 그리기자동

MCP 설정 키

범위설명
enableAllProjectMcpServers임의모든 .mcp.json 서버 자동 승인
enabledMcpjsonServers임의이름으로 허용 목록 지정
disabledMcpjsonServers임의이름으로 거부 목록 지정
allowedMcpServers관리형이름/명령어/URL 일치로 허용 목록 지정
deniedMcpServers관리형일치 패턴으로 거부 목록 지정
allowManagedMcpServersOnly관리형관리형 허용 목록의 MCP 서버만 허용
allowAllClaudeAiMcps관리형claude.ai 클라우드 MCP 커넥터 허용
channelsEnabled관리형채널 메시지 푸시 허용 (Team/Enterprise)

설정 예시

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-context7"]
    },
    "always-on-server": {
      "type": "http",
      "url": "https://mcp.example.com",
      "alwaysLoad": true
    }
  }
}

주요 기능

  • alwaysLoad (v2.1.121) — 서버 설정에 "alwaysLoad": true를 설정하면 지연 로딩(lazy discovery) 대신 모든 도구를 즉시 로드합니다. 매 턴마다 필요한 소규모 도구 세트에만 사용하세요.

  • 핫 리로드 (v2.1.139)/mcp 재연결은 세션을 재시작하지 않고 .mcp.json을 다시 읽습니다. 또한 stdio 서버 환경에 CLAUDE_PROJECT_DIR을 주입합니다.

환경 변수 확장

.mcp.json에서 ${ENV_VAR} 구문을 사용하여 환경 변수를 참조하면 하드코딩된 시크릿을 피할 수 있습니다:

{
  "mcpServers": {
    "my-api": {
      "url": "https://mcp.example.com/mcp?token=${MCP_API_TOKEN}"
    }
  }
}

workspace는 예약된 MCP 서버 이름입니다 (v2.1.128). 이 이름으로 사용자 정의 서버를 정의하면 경고와 함께 건너뜁니다.

OAuth 호환 서버는 인증을 자동으로 완료합니다(RFC 9728 준수). 수동으로 apiKeyHelper를 설정할 필요가 없습니다.

개발 워크플로우

RPI · CRISPY · 크로스 모델 · 에이전트 팀 · 자동화

RPI 워크플로우

Research(조사) → Plan(계획) → Implement(구현), 각 단계에는 검증 게이트가 있습니다. 서브에이전트를 통해 여러 에이전트 역할을 조정합니다.

Step 1: RESEARCH   → RESEARCH.md (GO / NO-GO) 
Step 2: PLAN       → PLAN.md + pm.md + ux.md + eng.md
Step 3: IMPLEMENT  → IMPLEMENT.md (phased, each phase has test gates) 

8가지 에이전트 역할

에이전트모델책임
requirement-parsersonnet비정형 요구사항을 표준화된 형식으로 파싱합니다 (기능적/비기능적, 제약사항, 복잡도 추정)
product-manageropus상위 수준의 요구사항을 PRD로 변환합니다 (사용자 스토리, 수용 기준, 성공 지표, 범위 정의)
senior-software-engineeropusTDD 우선 구현자: 작은 커밋, 명확한 경계, 되돌리기 가능, 관측 가능
ux-designeropusUX 브리프 생성: 모든 상태 디자인 (로딩/빈 상태/에러/성공), 접근성 주석
code-revieweropus코드 리뷰: 정확성, 보안, 종속성, 아키텍처 경계, NEEDS REVISION / APPROVED 출력
technical-cto-advisoropusCTO 수준의 전략적 평가: 기술 스택 정합성, 위험 평가, 비즈니스 리스크 통합
constitutional-validatoropus5차원 프레임워크 검증: 미션 정합성, 아키텍처 정합성, 지식 관리, 인간-AI 협업, 복잡도 적합성
documentation-analyst-writeropus프로젝트 표준에 따른 문서 산출물 (API, 아키텍처, 사용자 가이드), 셀프 체크 프로토콜 포함

3가지 명령어

명령어매개변수사용되는 에이전트산출물
/rpi:research<feature-slug>requirement-parser → product-manager → Explore → senior-engineer → cto-advisor → doc-writerRESEARCH.md (GO/NO-GO/CONDITIONAL/DEFER)
/rpi:plan<feature-slug>product-manager → ux-designer → senior-engineer → doc-writerpm.md + ux.md + eng.md + PLAN.md
/rpi:implement<feature-slug> [--phase N]Explore → senior-engineer → code-reviewer (단계별 루프)IMPLEMENT.md (PR 노트 포함)
프로젝트 디렉터리 구조
rpi/{feature-slug}/
├── REQUEST.md              # Feature description
├── research/RESEARCH.md    # GO/NO-GO analysis
├── plan/
│   ├── PLAN.md             # Implementation roadmap (3-5 phases) 
│   ├── pm.md               # Product requirements document
│   ├── ux.md               # UX design draft
│   └── eng.md              # Technical specification
└── implement/IMPLEMENT.md  # Implementation log (per-phase verification) 

CRISPY 방법론

C — Clarify      Define requirements
R — Research     Technical research
I — Ideate       Brainstorm solutions
S — Structure    Architecture design
P — Plan         Create plan
Y — Yield        Produce implementation
  + Iterate      Iterate & refine

CRISPY는 RPI의 진화형으로, Ideate(구상) 및 Structure(구조화) 단계를 추가하여 구현보다 솔루션 설계가 더 중요하다는 점을 강조합니다.

크로스 모델 협업 (Claude + Codex)

Cross-Model Workflow

Claude Code (Opus) + Codex CLI (GPT) 크로스 모델 4단계 협업 워크플로우

STEP 1: PLAN          Claude Code Opus · Plan Mode
STEP 2: QA REVIEW     Codex CLI GPT · Review plan, insert findings
STEP 3: IMPLEMENT     Claude Code Opus · Phase-by-phase implementation
STEP 4: VERIFY        Codex CLI GPT · Verify against plan

**핵심 아이디어:**서로 다른 모델이 상호 검토를 수행합니다. Codex는 원본 계획을 다시 작성하지 않고 “Codex Finding” 주석을 추가합니다.

에이전트 팀

Agent Teams

에이전트 팀 멀티 에이전트 협업 워크플로우

공유 작업 목록(TaskCreate/TaskUpdate)을 통해 여러 에이전트를 조정합니다. 독립적인 하위 작업으로 분해 가능한 대규모 리팩토링에 이상적입니다.

팀 조정 패턴

시간 오케스트레이션을 예로 들면 — 세 가지 역할이 데이터 계약 {time, timezone, formatted}을 공유하며 병렬로 빌드합니다:

역할산출물설명
커맨드 아키텍트time-orchestrator 커맨드슬래시 커맨드 설계, 에이전트 → 스킬 호출 순서 오케스트레이션
에이전트 엔지니어time-agent + time-fetcher 스킬경량 에이전트(haiku, maxTurns:3), 사전 로드된 스킬을 통해 두바이 시간을 가져옵니다
스킬 디자이너time-svg-creator 스킬데이터 계약을 받아, SVG 시간 카드 + output.md를 생성합니다

에이전트 팀 구성 요소 목록

time-agent 정의
---
name: time-agent
description: Get current Dubai time (Asia/Dubai, UTC+4) 
tools: Bash
model: haiku
color: blue
maxTurns: 3
skills: time-fetcher
---
Use Bash to execute `TZ='Asia/Dubai' date`, return time/timezone/formatted fields. 
time-orchestrator 커맨드
---
description: Get Dubai time and generate SVG time card
model: haiku
---
1. Agent(time-agent) → fetch {time, timezone, formatted}
2. Skill(time-svg-creator) → generate SVG card
Note: Must execute sequentially, cannot parallelize. 
time-fetcher 스킬
---
name: time-fetcher
description: Fetch current Dubai time via bash
user-invocable: false
---
Command: TZ='Asia/Dubai' date '+%Y-%m-%d %H:%M:%S %Z'
Return format: { time: "HH:MM:SS", timezone: "GST (UTC+4)", formatted: "full output" }
time-svg-creator 스킬
---
name: time-svg-creator
description: Create Dubai time SVG card
allowed-tools: Write, Read
---
Receive time/timezone/formatted, generate self-contained SVG card. 
Output: agent-teams/output/dubai-time.svg + output.md

예약 작업

# CronCreate Parameters
cron: "*/5 * * * *"     # Standard 5-field cron (local timezone) 
prompt: "Check CI status"   # Prompt executed on trigger
recurring: true          # true=recurring, false=one-shot
durable: true            # true=persist to file

목표 기반

작업 시스템을 통해 자동으로 분해하고 진행 상황을 추적합니다.

  1. 사용자가 목표를 설정합니다
  2. Claude가 하위 작업으로 분해하고 작업 목록을 생성합니다
  3. 단계별로 구현하며, 각 단계에서 상태를 업데이트합니다
  4. 차단 시 사용자 입력을 요청합니다

커뮤니티 목표 팁

  • 에이전트가 목표를 제안하도록 하기 — 먼저 문제 상황을 설명한 다음, 에이전트가 적절한 목표를 제안하도록 합니다. 일반적으로 수동으로 작성한 것보다 더 정확합니다
  • 에이전트가 /goal 프롬프트를 작성하도록 하기 — 에이전트는 자신의 능력 한계를 더 잘 알고 있으므로, 더 실현 가능한 목표 프롬프트를 생성합니다
  • /goal <condition> 조건부 목표 — 예: /goal all tests pass and no lint errors, 에이전트는 조건이 충족될 때까지 계속 작업합니다
  • 목표 + TaskCreate 통합 — 목표를 TaskCreate 작업 목록으로 분해하고, 완료 시 각 항목을 완료로 표시합니다

세션 관리

시나리오권장 작업
복잡한 작업 시작/plan
컨텍스트 > 50%/compact
환각 감지/undo로 되돌리기
다중 파일 변경에이전트 병렬 디스패치
장기 실행 작업백그라운드 에이전트

컨텍스트 부패는 약 300-400k에서 나타나기 시작합니다. 수정하는 것보다 되돌리는 것이 낫습니다.

심층 리포트

LLM 성능 · 도구 비교 · 사용량 · 학습 경로

LLM 성능 저하 분석

LLM 성능 저하

LLM 출력 품질의 일일 변동

9계층 추론 스택 (고정된 가중치 ≠ 고정된 동작)

┌──────────────────────────────────────────────┐
│  User session context              ← In-session degradation    │
│  System Prompt                    ← Periodically updated      │
│  Post-Training (RLHF/fine-tuning)  ← Can update silently    │
│  Sampling params (temperature/top-p) ← Server-adjustable    │
│  Speculative Decoding (draft model) ← Quality fluctuation      │
│  MoE routing / batch composition   ← ±8-14% variance   │
│  Hardware routing (TPU/GPU/Trainium)← Different failure modes  │
│  Quantization level (FP16/INT8/INT4)← May change under load │
│  Compiler & runtime (XLA:TPU/CUDA) ← Confirmed bugs  │
├──────────────────────────────────────────────┤
│  Model weights (frozen) ← This layer does not change                    │
└──────────────────────────────────────────────┘

핵심 발견 사항

질문답변
모델 가중치가 변경되나요?아니요 — 모든 제공업체에서 확인됨
매일 동작이 달라질 수 있나요? — ±8-14% 분산 확인됨
의도적인 “성능 저하”인가요?아니요 — 의도적인 저하의 증거는 없음
인프라 버그가 실제인가요? — Anthropic이 3개의 버그를 확인, 최대 16%의 요청에 영향
심리적 요인이 있나요? — 확증 편향과 허니문 효과는 실재함
개인적 인식을 신뢰해야 하나요?부분적으로 — 실제 원인은 존재하지만, 인식이 이를 증폭시킴

Anthropic 2025.9 사후 분석: 3가지 인프라 버그

버그 #1 — 컨텍스트 윈도우 라우팅 오류

항목세부 내용
원인Sonnet 4 요청이 1M 토큰 컨텍스트 윈도우 서버로 잘못 라우팅됨
발생 시기8월 5일 도입, 8월 29일 로드 밸런서 변경 후 악화
최대 영향Sonnet 4 요청의 **16%**가 영향을 받음 (8월 31일 최악의 기간)
사용자 영향Claude Code 사용자의 ~30%가 최소 하나 이상의 저하된 응답을 받음
숨겨진 세부 사항라우팅이 “끈적했음” — 한 번 불량 서버에 도달하면 후속 요청도 계속 해당 서버로 라우팅됨
수정9월 4-18일 플랫폼 전반에 걸친 롤아웃 배포

버그 #2 — TPU 출력 손상

항목세부 내용
원인TPU 서버 구성 오류로 인해 생성 중 저빈도 토큰에 높은 확률이 할당됨
증상영어 응답에 갑작스러운 태국어/중국어 문자 등장, 명백한 코드 구문 오류
범위Opus 4.1/Opus 4 (8월 25-28일), Sonnet 4 (8월 25일-9월 2일); Claude API만 해당
수정9월 2일 롤백 완료

버그 #3 — XLA:TPU 컴파일러 오류 컴파일레이션 (가장 까다로운 버그)

항목세부 내용
근본 원인정밀도 문제를 수정하려는 코드 변경이 XLA:TPU의 숨겨진 컴파일러 버그를 우연히 드러냄
동작근사 top-k 연산이 “때때로 완전히 잘못된 결과를 반환함”, 하지만 특정 배치 크기와 모델 구성에서만 발생
찾기 어려운 이유동작이 선행/후행 연산과 디버깅 도구 활성화 여부에 따라 달라짐
숨겨진 기간2024년 12월의 임시 해결책이 이 더 깊은 버그를 계속 가리고 있었음
영향Haiku 3.5 확인됨; Sonnet 4/Opus 3는 부분적으로 의심됨
해결근사 top-k에서 정확한 top-k로 전환, 약간의 효율성 손실 감수

Claude는 세 가지 다른 하드웨어 플랫폼(AWS Trainium, NVIDIA GPU, Google TPU)에서 실행되며, 각각 다른 장애 모드, 컴파일러 및 정밀도 동작을 가집니다. 요청은 날짜에 따라 다른 하드웨어에 도달할 수 있습니다.

MoE 라우팅 분산 (Scale AI 연구)

MoE(Mixture of Experts) 아키텍처에서, 배치 내 다른 사용자의 쿼리 구성에 따라 요청이 라우팅되는 전문가가 결정되며 — 이 구성은 비결정론적입니다.

제공업체일일 점수 분산
OpenAI (GPT-4 시리즈)±10-12%
Anthropic (Claude 시리즈)±8-11%
Google (Gemini 시리즈)±9-14%

구체적인 예: 동일한 모델이 어느 날은 탈옥 저항성에서 77%를 기록했고 다음 날은 63%를 기록함 — 버그도, 변경 사항도 없이 14포인트가 변동했습니다.

시스템 프롬프트 및 사후 학습 업데이트

요소설명
시스템 프롬프트 변경모델 가중치는 변경되지 않았지만, 시스템 프롬프트는 언제든 업데이트될 수 있습니다. Claude 3.7은 여러 핫픽스 지시어를 포함했고, 4.0은 모두 제거함(RL로 해결)
사후 학습 업데이트기본 가중치를 변경하지 않고 RLHF/파인튜닝을 업데이트할 수 있음 — 기술적으로 “모델 미변경”이지만 동작은 변화함
조용한 모델 전환OpenAI는 사용자 대면 모델을 여러 차례 조용히 교체한 것으로 문서화됨(GPT-4o→GPT-5 강제 전환, 자동 전환 버그)

스탠퍼드 연구 (2023) — 그리고 그 논란

Chen/Zaharia/Zou의 획기적인 연구는 “소수 판별”에서 GPT-4의 정확도가 97.6%에서 2.4%로 떨어진 것(2023년 3월→6월)을 발견했지만, 방법론적 문제가 있었습니다:

  • 3월 버전은 temperature 0.0을 사용했고, 6월 버전은 temperature 1.0을 사용함 — 근본적인 교란 변수
  • 작업당 500개의 쿼리만 사용 — 표본 크기가 너무 작음
  • “수학 문제”는 실제로 예/아니요 질문이었으며, 수학 능력이 저하된 것이 아니라 모델의 추측 패턴이 변경된 것임
  • 변경 사항은 의도하지 않은 저하가 아니라 의도적인 사후 학습 안전 업데이트일 수 있음

심리적 요인

효과설명
확증 편향누군가 “오늘 Claude가 멍청하다”고 트윗하면, 모든 오류를 알아차리기 시작함
허니문 효과새로운 모델에 대한 초기 경험은 항상 인상적이며, 기대가 능력보다 빠르게 상승함
”주말의 Claude” 신화엄격한 분석 결과 일관된 요일 패턴은 없었음
무작위성동일한 프롬프트도 매번 다른 출력을 생성함. 연속된 몇 가지 나쁜 응답은 단지 불운일 수 있음

Codex 5.3 비교 분석

Claude에 단기적인 성능 저하가 있을 때 Codex 5.3이 훨씬 더 좋아 보일 수 있는 이유는 다음과 같습니다:

  1. 제품-목표 적합성 — Codex는 코드 생성에 최적화되어 있어 동일한 모델 강도에서도 더 나은 코딩 결과를 생성함
  2. 추론 전략 차이 — 각 제공업체는 지연 시간/추론 깊이/디코딩 기본값을 독립적으로 조정함
  3. 서비스 경로 격리 — 다른 라우팅 계층/컴파일러/릴리스 파이프라인을 사용하므로 한쪽의 장애가 다른 쪽에 영향을 주지 않음
  4. 릴리스 시기 — 한 제공업체가 릴리스 중이고 다른 제공업체가 안정적인 경우 일시적으로 큰 품질 차이가 발생할 수 있음

성능 저하 가설 순위

가설가능성근거
제공업체 인시던트 및 롤백높음”며칠간의 저하 후 빠른 복구” 패턴과 가장 잘 부합함
서비스 구성 변경높음갑작스러운 동작 변화의 일반적인 원인, 재학습 불필요
조용한 별칭/스냅샷 이동중간-높음사용자 조치 없이 동작을 변경할 수 있음
프롬프트 드리프트 + 컨텍스트 오염중간개별 세션을 저하시킬 수 있지만, 광범위한 며칠간의 보고를 설명하기는 어려움
영구적인 기본 모델 저하낮음이전 품질로의 빠른 복구와 일치하지 않음

실용적인 권장 사항

  1. 가능한 경우 (유동적 별칭 대신) 모델 스냅샷을 잠금 설정
  2. 요청 메타데이터(모델 ID, 매개변수, 지연 시간, 오류율)를 저장
  3. 고정된 일일 카나리아 테스트를 실행하고, 회귀 시 경고
  4. 여러 번 실패한 후 긴 세션을 재설정하거나 압축
  5. 백업 제공업체/모델 경로를 유지
  6. 내부 대시보드에서 “모델 품질”과 “서비스 안정성”을 분리

가장 중요한 단일 조치: 품질이 저하된 것 같으면 /compact를 사용하거나 새 세션을 시작하세요. 이것이 가장 효과적인 단일 조치입니다 — 대부분의 “Claude가 멍청해졌다”는 것은 모델 저하가 아니라 컨텍스트 오염입니다.

하니스의 중요성

일반적인 오해: 스킬/커맨드/서브에이전트/훅은 모두 결국 프롬프트가 되므로, 좋은 프롬프트를 작성하는 것만으로 충분하다는 것입니다. **이것은 틀렸습니다.**엔지니어링 관점에서 하니스는 프롬프트 구성 시스템 + 결정론적 실행 시스템 + 컨텍스트 아키텍처 시스템입니다.

지표
사용자 입력 토큰6–60
모델 실제 추론 토큰5,000–50,000+
CLI 모듈형 프롬프트 조각110+

하니스의 10가지 기능 (프롬프트로는 복제 불가)

#기능설명
1컨텍스트 격리N개의 병렬 서브에이전트 ≈ N× 유효 컨텍스트
2도구 제한 강제allowed/disallowedTools가 모델 호출 전에 차단
3지연 로딩 규칙paths: 프론트매터가 필요시 로드
4훅 결정론라이프사이클 이벤트가 셸 명령을 트리거, 도구 호출 차단 가능
5모델 라우팅model: haiku / model: opus가 다른 엔드포인트로 라우팅
6병렬 실행여러 서브에이전트가 동시에 실행
7세션 간 지속성메모리 시스템과 설정 레이어가 대화 간에 유지
8모듈형 시스템 프롬프트기능에 따라 조건부 로드되는 110개 이상의 조각
9스킬 사전 로딩전체 스킬 콘텐츠가 서브에이전트 시작 컨텍스트에 주입
10권한 분류auto 모드 백그라운드 분류기가 사전 승인/차단

출력 품질 = f(유효 컨텍스트, 모델 기능, 반복 루프). 사용자는 유효 컨텍스트의 극히 일부만 제어합니다. 하니스가 나머지와 전체 반복 루프를 제어합니다. 강력한 프롬프트는 필요하지만 충분하지 않습니다.

브라우저 MCP 비교

지표Chrome DevToolsClaude in ChromePlaywright
도구 수26개 도구16개 도구21개 도구
토큰 비용~19.0k (9.5%)~15.4k (7.7%)~13.7k (6.8%)
브라우저 지원Chrome만Chrome만Chromium/Firefox/WebKit
헤드리스 모드지원됨지원되지 않음지원됨
CI/CD 통합우수함부족함 (로그인 필요)우수함
보안격리된 프로필공격률 23.6%→11.2%성숙한 보안 모델
비용무료유료 플랜 필요무료

권장 워크플로우

단계목적도구
개발터미널 코딩Claude Code
테스트E2E/크로스 브라우저Playwright MCP
디버깅성능/네트워크Chrome DevTools MCP
검증빠른 시각적 확인Claude in Chrome
CI/CD헤드리스 자동화Playwright MCP
# Install command
npx playwright install
claude mcp add playwright -s user -- npx @playwright/mcp@latest
claude mcp add chrome-devtools -s user -- npx chrome-devtools-mcp@latest

Playwright가 가장 높은 토큰 효율성(186.3k 남음)을 가지며, Chrome DevTools가 가장 낮습니다(181k 남음). 약 5.3k 토큰의 차이가 있습니다.

모노레포 스킬 탐색

스킬 탐색/로딩 메커니즘은 CLAUDE.md와 다릅니다: CLAUDE.md는 상위로 탐색(조상 로딩)하는 반면, 스킬은 중첩된 디렉토리 자동 탐색(자손 탐색)을 사용하며, 해당 디렉토리에서 파일을 편집할 때만 필요에 따라 로드됩니다. 모노레포 로딩 메커니즘을 참조하세요.

표준 스킬 위치

범위경로적용 대상
엔터프라이즈관리 설정조직의 모든 사용자
개인~/.claude/skills/<name>/SKILL.md모든 프로젝트
프로젝트.claude/skills/<name>/SKILL.md현재 프로젝트만
플러그인<plugin>/skills/<name>/SKILL.md플러그인이 활성화된 곳

CLAUDE.md와 스킬 로딩 비교

동작CLAUDE.md스킬
상향 탐색 (조상)아니요
하향 탐색 (자손)예 (지연 로딩)예 (자동 탐색)
기본 콘텐츠 로딩모든 콘텐츠설명만 (필요 시 전체)

문자 예산은 기본적으로 15,000자이며, SLASH_COMMAND_TOOL_CHAR_BUDGET 환경 변수를 통해 조정할 수 있습니다. /context를 사용하여 예산 제한으로 인해 제외된 스킬이 있는지 확인하세요.

  • 일반적인 워크플로는 루트 .claude/skills/에 배치합니다
  • 패키지별 스킬은 해당 패키지의 .claude/skills/에 배치합니다
  • 위험한 작업 스킬은 disable-model-invocation: true를 설정해야 합니다
  • 혼란을 피하기 위해 패키지 이름 접두사를 사용하세요 (예: frontend-review, backend-deploy)

사용량 및 제한

항목
컨텍스트 윈도우1M 토큰
권장 압축 시점~50%
성능 저하 시작점~300-400k
CLAUDE.md 권장사항<200줄
추가 사용량 일일 한도$2,000/일
한도 초기화 주기5시간마다

모니터링 명령어

명령어기능적용 대상
/usage플랜 및 속도 제한 확인Pro/Max 5x/Max 20x
/extra-usage종량제 초과분 설정Pro/Max 5x/Max 20x
/cost현재 세션 토큰 및 비용API 키 사용자
/insights사용 패턴 분석 보고서모든 사용자

비용 최적화

  • 간단한 작업에는 model: haiku를 사용하세요
  • effort: low는 추론을 줄여줍니다
  • 백그라운드 에이전트는 블로킹을 방지합니다
  • API 키 사용자는 --max-budget-usd를 사용하여 비용을 제어할 수 있습니다
  • 예상치 못한 요금을 피하기 위해 extra-usage 월간 상한선을 설정하세요

빠른 모드(/fast)는 첫 번째 토큰부터 추가 사용량으로 계산되며, 구독 플랜에 포함된 할당량을 소비하지 않습니다. 사용하려면 extra-usage를 활성화하고 자금을 충전해야 합니다.

스피너 동사

Claude Code의 로딩 애니메이션은 179개의 무작위 동사를 사용합니다. 일반적인 동사는 다음과 같습니다:

동사의미
Thinking / Cogitating추론
Reading / Perusing파일 읽기
Editing / Crafting파일 편집
Searching / Spelunking코드 검색
Orchestrating에이전트 오케스트레이션
Synthesizing정보 종합

학습 경로

Weather Reporter를 처음부터 구축하는 완전한 학습 여정으로, 5개 주요 단계 · 37개 슬라이드로 구성됩니다:

단계 순서 (인지적 종속성에 따라 재정렬)

순서단계슬라이드핵심 아이디어
1Agents7먼저 “누가” 작업을 수행하는지 이해
2Skills8Skills는 에이전트의 “역량”
3Context7Context Window 및 메모리 시스템
4CLAUDE.md7프로젝트 지침은 “규칙”
5Commands8Commands는 “오케스트레이션 계층”

LEVELS 매핑 (6개 레벨)

const LEVELS = {
  context:     '🔴 Context Window',   // context-window.jpeg, context.jpg
  claude_md:   '🟠 CLAUDE.md',   // Project instruction system
  agents:      '🟡 Agent System',     // Built-in + custom agents
  skills:      '🟢 Skills System',     // Skills framework
  commands:    '🔵 Commands System',     // Commands orchestration
  workflow:    '🟣 Full Workflow'    // End-to-end integration
}

37개 슬라이드 개요

모든 슬라이드 내용 펼치기

Agents 단계 (슬라이드 1-7)

  1. Agent란 무엇인가? — Agent = Model + Tools + Context
  2. 5가지 내장 에이전트 유형 — general-purpose / Explore / Plan / statusline-setup / claude-code-guide
  3. Agent Frontmatter — 16개 도구 필드 세부 정보
  4. 모델 선택 — inherit / haiku / sonnet / opus 트레이드오프
  5. 도구 제어 — tools vs disallowedTools
  6. 권한 모드 — acceptEdits / plan / bypassPermissions
  7. Weather Agent 설계 — 실전 날씨 에이전트

Skills 단계 (슬라이드 8-15)

  1. Skill이란 무엇인가? — Skill = 프롬프트 템플릿 + 메타데이터
  2. SkillTrigger — auto (자동) vs manual (/skill-name)
  3. Frontmatter 필드 — name / description / tools / model
  4. weather-fetcher 스킬 — API에서 날씨 데이터 가져오기
  5. weather-analyzer 스킬 — 날씨 트렌드 분석
  6. 스킬 조합 — 여러 스킬이 함께 작동
  7. 스킬 테스트 — 스킬 출력 품질 검증
  8. 스킬 모범 사례 — 재사용 가능한 스킬 작성

Context 단계 (슬라이드 16-22)

  1. Context Window — 200K 토큰 경계
  2. Context 압축 — 자동 요약
  3. 메모리 시스템 — user / project / local 3계층
  4. MEMORY.md 인덱스 — 영구 메모리 관리
  5. CLAUDE.md 주입 — 컨텍스트 로딩 전략
  6. 리소스 재사용 — context-window.jpeg / context.jpg
  7. Context Window 시각화 — 토큰 할당 이해

CLAUDE.md 단계 (슬라이드 23-29)

  1. CLAUDE.md란 무엇인가? — 프로젝트 지침 파일
  2. 3계층 로딩 — global / project / local
  3. 작성 규칙 — 구조화된 지침 형식
  4. 환경 설정 — 개발 환경 규칙
  5. 코드 스타일 — 프로젝트 코드 규칙
  6. 보안 규칙 — 민감한 작업 제약사항
  7. Weather Reporter의 CLAUDE.md — 실전 예제

Commands 단계 (슬라이드 30-37)

  1. Command란 무엇인가? — command = 오케스트레이션 계층
  2. Command vs Skill vs Agent — 3계층 아키텍처 비교
  3. weather-orchestrator — 날씨 오케스트레이션 명령
  4. Command 흐름 — prompt → steps → output
  5. 동적 컨텍스트 주입 — !`command` 구문
  6. 오류 처리 및 재시도 — 견고성 설계
  7. 엔드투엔드 통합 — Agents + Skills + Commands
  8. 복습 및 전망 — 제로에서 완성된 Weather Reporter까지

리소스 재사용

에셋재사용 위치설명
context-window.jpeg슬라이드 16Context Window 시각화
context.jpg슬라이드 22Context 할당 다이어그램

재설정 내역

  • goToSlide() 대상: 모든 37개 호출 지점의 인덱스 번호 업데이트 필요
  • data-level 속성: 각 슬라이드의 레벨 마커를 LEVELS에 매핑 필요
  • 탐색 컴포넌트: 이전/다음 버튼을 새 슬라이드 순서에 바인딩 필요
  • 진행률 표시줄: 5구간 진행 표시기가 5개 단계에 매핑

단순하게 시작 → 점진적으로 조합 → 전체 오케스트레이션. 처음부터 복잡한 아키텍처를 구축하지 마세요. 단계 순서는 인지적 종속성에 따라 재배열되었습니다: 먼저 “누가”(Agents)를 이해하고, 그 다음 “무엇을 할 수 있는가”(Skills), “환경”(Context), “규칙”(CLAUDE.md), 마지막으로 “오케스트레이션”(Commands)의 순서입니다.

SDK vs CLI 시스템 프롬프트

Claude Code CLI와 Agent SDK는 서로 다른 시스템 프롬프트 전략을 사용합니다:

Agent SDK
  • 약 269 토큰의 기본 프롬프트
  • 최소한의 가이드로 높은 커스터마이징 가능
  • modular 타입은 커스텀 시스템 프롬프트 지원
  • 110개 이상의 시스템 프롬프트 문자열 사용 가능
  • 커스텀 에이전트 애플리케이션 구축에 적합
CLI 모드
  • 시스템 프롬프트에 전체 도구 정의 포함
  • Bash/Read/Write/Edit 도구 설명 사전 설치
  • CLAUDE.md 자동 주입
  • 안전 규칙 및 동작 제약 조건 포함
  • 즉시 사용 가능, 설정 불필요

핵심 차이점

항목Agent SDKClaude Code CLI
시스템 프롬프트 길이~269 토큰 (최소)~3000+ 토큰 (전체)
도구 설명필요시 로드모두 사전 설치
커스터마이징완전 제어 가능CLAUDE.md + 설정
사용 사례AI 애플리케이션 구축개발 워크플로우
모델 선택모든 Claude 모델Opus/Sonnet/Haiku

SDK는 modular 프롬프트 타입을 제공하여, 도구 설명을 개별적으로 추가할 수 있어 CLI의 전체 로드 방식보다 많은 토큰을 절약할 수 있습니다.

10억 달러짜리 질문들

커뮤니티에서 나온 13개의 미해결 심층 질문 — 답을 알고 있다면, 그것은 10억 달러짜리 통찰입니다.

메모리 및 지침 (4개 질문)

  1. CLAUDE.md에는 무엇이 들어가야 할까? — 포함할 것과 제외할 것은?
  2. CLAUDE.md가 있다면, 여전히 constitution.mdrules.md가 필요한가?
  3. CLAUDE.md는 얼마나 자주 업데이트해야 할까? 구식이 되었는지 어떻게 알 수 있을까?
  4. 왜 Claude는 MUST를 모두 대문자로 써도 CLAUDE.md의 지침을 여전히 무시할까?

에이전트, 스킬 및 워크플로우 (6개 질문)

  1. Command, Agent, Skill을 각각 언제 사용해야 할까 — 네이티브 Claude Code가 더 나은 경우는 언제인가?
  2. 모델이 업그레이드됨에 따라 에이전트/명령어/워크플로우는 얼마나 자주 업데이트해야 할까?
  3. 범용 vs 역할/기능 특화 서브에이전트 — 상세한 페르소나가 실제로 품질을 향상시킬까?
  4. Claude Code의 내장 plan 모드를 사용할까, 아니면 팀 워크플로우를 강제하기 위해 커스텀 기획 명령/에이전트를 구축할까?
  5. 개인 스킬과 커뮤니티 스킬은 어떻게 공존할까? 충돌 시 누가 우선인가?
  6. **궁극의 질문:**기존 코드베이스를 스펙으로 변환하고, 코드를 삭제한 후, 스펙만으로 AI가 다시 생성하게 할 수 있을까?

스펙 및 문서화 (3개 질문)

  1. 저장소의 모든 기능에 스펙 파일이 필요할까?
  2. 스펙은 최신 상태를 유지하기 위해 얼마나 자주 업데이트해야 할까?
  3. 새로운 기능을 구현할 때, 다른 기능의 스펙에 미치는 연쇄적 영향을 어떻게 처리할까?

이 질문들에 대한 답은 에이전틱 엔지니어링 모범 사례의 방향을 결정할 것입니다. 통찰력이 있다면, 이곳이 최전선입니다.

전문가 인사이트

Boris Cherny · Thariq · 커뮤니티 모범 사례

Boris Cherny — 13가지 규칙

Boris Cherny

Boris Cherny — Claude Code 핵심 엔지니어

Boris Cherny는 Anthropic의 Claude Code 핵심 엔지니어로, 수십만 개발자가 사용하는 에이전트 기반 코딩 도구의 개발을 이끌고 있습니다. O’Reilly 《Programming TypeScript》의 저자이며, AI 지원 개발 워크플로우에 대한 공개 강연을 자주 진행합니다. 아래 13가지 규칙은 그의 강연, 데모, PR 코멘트에서 반복적으로 강조된 핵심 조언 —— Claude Code를 처음 시작하는 팀원에게 늘 강조하는 몇 마디 —— 를 압축한 것입니다.

  1. 훌륭한 CLAUDE.md 작성 — 가장 높은 ROI 최적화
  2. 200줄 이하 — 이를 넘어가면 준수율이 저하됨
  3. 부정 지침 — "X를 하지 마"가 더 효과적
  4. 수동 /compact — 50% 시점에서 선제적으로 압축
  5. 구현 전 계획 — 복잡한 작업에 /plan 사용
  6. 서브에이전트 병렬 처리 — 독립적인 작업을 동시에 분산
  7. 모델 명시적 지정 — 간단한 작업은 haiku, 복잡한 작업은 opus
  8. 수정보다 되돌리기 — /undo가 사후 수정보다 안정적
  9. 코드 읽기 신뢰 — 수동으로 코드를 붙여넣을 필요 없음
  10. Hooks 자동화 — 반복 작업에 hooks 사용
  11. CLAUDE.local.md — 팀에 영향 없이 개인 설정 유지
  12. 조건부 로딩 규칙paths로 범위 지정
  13. 문제 진단에 /doctor — 문제 발생 시 먼저 /doctor 실행

15가지 숨겨진 기능

Boris Cherny(Meta)가 공유하는 Claude Code의 15가지 덜 알려진 기능으로, 각각 사용 방식을 크게 변화시킵니다.

  1. Claude 모바일 앱 — iOS/Android가 Claude Code의 음성+텍스트 입력 지점 역할을 하며, 출퇴근 중 코드 대화 가능
  2. Teleport (원격 제어)claude --teleport 또는 remote-control MCP를 통해 브라우저/폰에서 로컬 터미널 원격 제어
  3. /loop & /schedule — 반복 작업 또는 시간 예약 설정: 에이전트가 지속적으로 모니터링하고 주기적으로 실행 (예: 5분마다 CI 확인)
  4. Hooks 자동화settings.json에서 PreToolUse/PostToolUse/Stop 이벤트 훅을 구성하여 자동 알림, 유효성 검사, 포맷팅 수행
  5. Cowork 디스패치 — 다중 에이전트 조정 스케줄링, 서로 다른 에이전트가 간섭 없이 독립적으로 작업
  6. Chrome 확장 프로그램 — Claude in Chrome MCP를 통해 에이전트가 브라우저를 직접 조작하고, 콘솔 로그를 읽으며, 스크린샷 비교 가능
  7. 데스크톱 웹 서버 — Claude 데스크톱에 내장된 웹 서버로 에이전트가 로컬 개발 페이지에 직접 접근 가능
  8. /branch 포크 — 현재 대화에서 새 브랜치로 원클릭 포크, 전체 컨텍스트 보존, 실험 실패 시 폐기 가능
  9. /btw 사이드바 질문 — 메인 흐름을 중단하지 않고 임시 질문, 답변이 현재 컨텍스트에 주입됨
  10. Git Worktree 병렬 처리/batch가 여러 워크트리로 확장되어 각 독립 브랜치가 서로 다른 작업 처리
  11. --bare SDK 가속화 — SDK 모드에서 대화형 UI를 제거하고 순수 함수 호출로 속도 대폭 향상
  12. --add-dir 다중 저장소 — 동일한 세션에 여러 프로젝트 디렉토리를 동시에 로드하여 크로스 저장소 작업 수행
  13. --agent 사용자 정의 프롬프트 — 명령줄에서 직접 에이전트 유형 또는 사용자 정의 시스템 프롬프트 지정
  14. /voice 음성 입력 — 마이크를 통한 음성 명령, 자동 텍스트 변환
  15. 백그라운드 에이전트 — 장기 작업을 백그라운드에서 실행하여 메인 세션을 차단하지 않으며, 완료 시 자동 알림

12가지 맞춤 설정 팁

  1. 사용자 정의 서브에이전트.claude/agents/*.md, YAML frontmatter로 도구/모델/메모리 정의
  2. 사용자 정의 명령어.claude/commands/*.md, $ARGUMENTS로 매개변수화
  3. 사용자 정의 스킬.claude/skills/<name>/SKILL.md, 설명 기반 자동 발견
  4. Hooks 자동화 — settings.json에서 라이프사이클 훅 구성 (PreToolUse/PostToolUse/Stop)
  5. 조건부 규칙 로딩.claude/rules/*.md + paths:로 범위 지정
  6. 권한 템플릿 — allowed-tools로 도구+경로 단위의 세밀한 제어
  7. 모델 선택 — 단순 작업은 haiku, 복잡한 작업은 opus, 균형 잡힌 작업은 sonnet
  8. 노력 조정 — 빠른 응답은 low, 심층 추론은 max
  9. 메모리 범위 — user(전역) / project(팀) / local(개인)
  10. MCP 통합 — 외부 도구 연결 (데이터베이스, 브라우저, API)
  11. Worktree 격리--worktree 또는 isolation: "worktree"로 독립적인 실험 수행
  12. 백그라운드 작업 — 장기 작업을 백그라운드에서 실행, 완료 시 알림

10가지 고급 팁

  1. 먼저 계획 모드 사용 — 복잡한 작업에 /plan을 사용하고, 단계가 아닌 목표 명시
  2. 에이전트 병렬 오케스트레이션 — 독립적인 작업을 동시에 디스패치하여 컨텍스트 격리 활용
  3. 스킬 점진적 공개 — 설명은 항상 로드, 전체 콘텐츠는 요청 시에만
  4. 컨텍스트 예산 50% — 사전에 /compact 실행, 스마트 존 유지
  5. 일관성을 위한 code-reviewer — 교차 파일 로직 교차 검증
  6. 반복적 개선 — 원샷 완벽보다 나음, 목표에 점진적으로 접근
  7. 오류 복구: 먼저 /undo — 패치보다 되돌리기가 더 안정적
  8. 테스트 우선 — TDD red-green-refactor를 AI와 결합
  9. 컨텍스트로서의 문서 — 좋은 문서 = 좋은 출력, 주석에는 WHAT이 아닌 WHY 작성
  10. 컨텍스트 사용량 모니터링/context로 시각적 토큰 분포 확인

코드 리뷰 팁

테스트 시간 연산: 코드 리뷰는 모델이 독립적인 컨텍스트에서 “다시 생각”하게 만들어 출력을 200% 증가시킵니다. 멀티 에이전트 병렬 리뷰(보안 + 성능 + 아키텍처)는 단일 리뷰보다 더 높은 품질을 제공합니다.

  • 더 철저한 리뷰를 위해 effort: high, 더 적지만 집중된 결과를 위해 effort: low 사용
  • AI가 "반대자" 역할을 하도록 설정 — 표면적인 리뷰 대신 이의를 제기하도록 함
  • PR 제출 전 자동 실행 (Hooks PreToolUse 설정)
  • PR 코멘트를 추가하려면 --comment와 함께 사용
  • 리뷰 범위: 정확성, 보안 취약점, 코드 품질, 프로젝트 사양
  • 다른 에이전트가 다른 역할 수행 (보안 리뷰 vs 성능 리뷰 vs 아키텍처 리뷰)

PR 통계 (Boris Cherny의 실제 데이터)

지표
일일 기여266/일
총 PR 수141 (모두 squash merge)
총 변경 라인45,032줄
중간값 PRp50 = 118줄
P90 PR490줄
P99 PR2,978줄
가장 작은 PR2줄
가장 큰 PR10,459줄

Boris는 새로 작성된 코드의 약 100%를 AI가 작성하며, 인간은 리뷰하고 방향성을 안내합니다. 핵심은 더 명확한 기록을 위해 파일별 독립적인 커밋을 하는 것입니다.

2가지 머지 팁

  1. 파일당 커밋 — 각 파일이 자체 커밋을 가지면 기록이 더 명확해지고 리뷰/되돌리기가 쉬워집니다.
  2. 수정하지 않기 — 기록을 보존하기 위해 새 커밋을 생성하고, pre-commit 훅 검사를 덮어쓰지 마세요.

Opus 4.7의 6가지 효율성 팁

Opus 4.7 출시 후 Boris Cherny가 정리한 6가지 핵심 효율성 개선 방법.

  1. 자동 모드 (Shift+Tab) — 원클릭 완전 자동 모드, 에이전트가 읽기/쓰기/실행을 자율적으로 결정하며 단계별 확인이 필요 없습니다.
  2. /fewer-permission-prompts 스킬 — 일반적인 도구 권한을 자동으로 설정하는 사전 설정 스킬로, 팝업 중단을 크게 줄여줍니다.
  3. 요약 — 에이전트가 각 턴 후 실행 요약을 자동 생성하여 컨텍스트를 명확하게 유지합니다.
  4. 포커스 모드 (/focus) — 관련 없는 출력을 필터링하고 핵심 결정과 결과만 표시하며, 긴 작업에 이상적입니다.
  5. 노력 수준low 빠른 응답 (간단한 쿼리), medium 기본값, high 심층 추론 (코드 리뷰), xhigh/max 최대 깊이 (아키텍처 설계)
  6. 검증 모드 — 백엔드: 서버를 자동 시작하여 검증; 프론트엔드: Chrome 확장 프로그램으로 렌더링 확인; 데스크톱: Computer Use로 자동화된 UI 테스트

자동 모드 모범 사례: effort: high/focus와 함께 사용하여 에이전트가 높은 추론 깊이로 자율적으로 작업하며 핵심 결정 지점만 보고하도록 합니다.

Thariq — 스킬 설계

Thariq Koya는 Anthropic의 Claude Code 팀 엔지니어로, 스킬 설계, 세션 관리, 실용적인 에이전트 워크플로우에 중점을 두고 있습니다. 아래 섹션들은 그가 가장 많이 인용되는 조언 —— 2026년 3월 Anthropic 내부 스킬 리뷰와 실제 환경에서의 Claude Code 사용에 관한 실전 노트 —— 를 압축한 것이며, 프로덕션 팀을 위한 스킬을 설계할 때 그 자신이 따르는 동일한 패턴입니다.

  • 단일 책임 — 각 스킬은 한 가지 일만 수행
  • 정확한 설명 — 자동 검색 정확도를 결정
  • when_to_use 현명하게 사용 — 오탐지 트리거 감소
  • 매개변수화된 템플릿 — 인수 동적 교체
  • 경로 범위 지정 — 경로가 관련 없는 활성화를 방지
  • 점진적 공개 — 점진적 로딩

Thariq — 실용 팁

3월 17일 팁
  • 환경 진단을 위한 /doctor
  • 제약 조건을 위한 CLAUDE.md
  • 비용 절감을 위한 haiku
  • 긴 작업을 위한 background
  • 위험한 작업 제한을 위한 disallowedTools
4월 16일 팁
  • 세션 관리 > 스킬 설계
  • 50%에서 /compact
  • 수동 수정보다 /undo
  • 독립적인 하위 에이전트로 분할
  • 각각 < 컨텍스트의 50%

세션 관리 — 심층 가이드

Thariq의 심층 세션 관리 프레임워크: 컨텍스트 저하 이해, 브랜칭 전략, 하위 에이전트 가비지 컬렉션.

컨텍스트 부패(Context Rot): 대략 300k-400k 토큰에서 모델은 이전 대화를 “잊어버리기” 시작하며, 출력 품질이 현저히 떨어집니다. 이는 버그가 아니라 어텐션의 수학적 특성입니다.

5가지 브랜칭 전략

  • 전략시나리오설명 continue마지막에서 이어서전체 컨텍스트를 복원하여 대화를 이어감 rewind특정 지점으로 돌아가기지정된 단계로 되돌리고 다시 시작 clear새로 시작컨텍스트를 지우고 처음부터 시작 compact압축 및 유지핵심 정보는 유지하면서 지능적으로 압축 subagent격리된 실행하위 에이전트를 파견, 메인 컨텍스트 오염 없음

핵심 의사결정 표

  • 시나리오권장 작업 컨텍스트 > 50%/compact 또는 하위 에이전트 파견 잘못된 방향rewind로 갈라진 지점으로 돌아가기, 제자리에서 수정하지 않기 compact 후 품질 저하요약 지침과 함께 /compact [brief] 사용, 또는 clear + CLAUDE.md로 바로 시작 히스토리 보존 필요하위 에이전트가 새 작업을 처리, 메인 대화는 가볍게 유지 하위 에이전트 컨텍스트 팽창하위 에이전트는 내장 GC를 가짐 — 완료 후 자동 수집됨, 메인 세션에 영향 없음

Compact vs Fresh: 대화 기록이 매우 관련성이 높은 경우(예: 디버깅 체인), compact + brief를 사용하세요; 주제가 완전히 바뀐 경우, clear하고 CLAUDE.md에서 컨텍스트를 재구축하는 것이 더 효율적입니다. 잘못된 compact의 일반적인 원인: 모호한 압축 지침으로 인해 핵심 제약 조건이 누락됨.

83개의 카테고리별 팁

커뮤니티 실천 사례와 공식 권장 사항을 16개 도구 카테고리로 정리했습니다. 핵심 참고 자료: CLAUDE.md 컨벤션, Subagents 병렬 처리, RPI 워크플로우.

프롬프트 팁 (3)
  1. 목표를 명시하고 단계는 지정하지 마세요 — Claude에게 원하는 결과를 알려주고, 각 단계를 수행하는 방법은 지정하지 마세요
  2. 부정 지시가 더 효과적입니다 — "X를 하지 마"가 "Y를 해줘"보다 더 신뢰할 수 있습니다
  3. 예시 중심 — 입출력 예시를 제공하세요. 추상적인 설명보다 더 정확합니다
계획 (7)
  1. 복잡한 작업에는 먼저 /plan을 사용하고, 세부 단계가 아닌 목표를 명시하세요
  2. 독립적인 하위 작업으로 분할하고, 각각의 컨텍스트를 50% 미만으로 유지하세요
  3. TaskCreate를 사용하여 진행 상황을 추적하고 종속성을 설정하세요
  4. 계획 모드에서는 기대 사항을 명확히 설명하고, 모델이 경로를 계획하도록 하세요
  5. 한 번에 완벽하게 하는 것보다 여러 번의 반복이 더 좋습니다 — 점진적으로 목표에 접근하세요
  6. 우선순위 지정: 핵심 먼저, 그다음 예외 케이스, 차단 작업 먼저, 그다음 독립 작업
  7. 컨텍스트 소비를 추정하고, 단일 작업이 너무 커지지 않도록 하세요
컨텍스트 (5)
  1. 컨텍스트 50%에서 미리 /compact 실행
  2. /compact [포커스 지시사항]을 사용하여 핵심 정보를 유지하세요
  3. 컨텍스트 예산 관리 — 긴 대화에서는 정기적으로 정리하세요
  4. --resume / --continue로 이전 세션을 복원하세요
  5. 좋은 문서 = 좋은 출력, 주석에는 WHAT이 아닌 WHY를 작성하세요
세션 (6)
  1. 세션 관리는 스킬 설계보다 중요합니다 — 세션이 길어질수록 더 똑똑해집니다
  2. 50%에서 /compact를 실행하고, 품질 저하를 방지하세요
  3. /undo > 수동 수정 — 되돌리는 것이 사후 수정보다 더 신뢰할 수 있습니다
  4. 독립적인 서브에이전트로 분할하고, 각각의 컨텍스트를 50% 미만으로 유지하세요
  5. --continue로 이전 세션을 원활하게 이어가세요
  6. maxTurns로 서브에이전트 턴을 제한하여 무한 루프를 방지하세요
CLAUDE.md (8)
  1. 훌륭한 CLAUDE.md를 작성하는 것이 가장 높은 ROI의 최적화입니다
  2. 200줄 이하 — 이를 넘어가면 준수율이 떨어집니다
  3. 부정 지시 — "X를 하지 마"가 더 효과적입니다
  4. CLAUDE.local.md는 팀에 영향을 주지 않고 개인 기본 설정을 관리합니다
  5. 모델이 스스로 추론할 수 없는 정보만 작성하세요
  6. .claude/rules/*.md + paths: 조건부 로딩
  7. claudeMdExcludes로 불필요한 CLAUDE.md 파일을 제외하세요
  8. 4가지 범위: 글로벌 / 프로젝트 / 디렉토리 / 개인
에이전트 (4)
  1. 커스텀 서브에이전트 .claude/agents/*.md, YAML frontmatter로 도구/모델/메모리를 정의합니다
  2. 서브에이전트 병렬 처리 — 독립적인 작업을 동시에 디스패치합니다
  3. context: fork는 서브에이전트 컨텍스트를 격리하여 메인 대화의 오염을 방지합니다
  4. 모델을 명시적으로 지정 — 단순한 작업은 haiku, 복잡한 작업은 opus
명령어 (3)
  1. .claude/commands/*.md 커스텀 명령어
  2. $ARGUMENTS 매개변수화 — 명령어 템플릿 동적 교체
  3. /project:command-name으로 프로젝트 명령어를 호출합니다
스킬 (9)
  1. 단일 책임 — 각 스킬은 하나의 작업만 수행합니다
  2. 정확한 설명 — 자동 발견 정확도를 결정합니다
  3. when_to_use를 현명하게 사용 — 오작동을 줄입니다
  4. 점진적 공개 — 점진적인 콘텐츠 로딩
  5. 경로 범위 지정 — 관련 없는 활성화를 방지합니다
  6. Arguments 매개변수화 템플릿 — 동적 교체
  7. forceLoadSkills 강제 로딩 — 중요 스킬 미리 로드
  8. disallowedTools 제한 — 스킬 수준의 도구 제어
  9. 9가지 옵션에서 올바른 유형 선택 — skill/agent/Explore/code-simplifier 등
훅 (5)
  1. PreToolUse는 도구 실행 전에 가로채고 수정합니다
  2. PostToolUse는 도구 실행 후 자동화를 트리거합니다
  3. Stop은 세션이 종료될 때 정리 작업을 실행합니다
  4. PR 제출 전에 자동으로 코드 리뷰를 트리거합니다
  5. 반복적인 작업에 훅을 사용하세요 — 포맷팅, 린트, 알림 등
워크플로우 (5)
  1. RPI 루프: Research(조사) → Plan(계획) → Implement(구현)
  2. CRISPY: Clarify(명확화) → Research(조사) → Ideate(구상) → Structure(구조화) → Plan(계획) → Yield(산출)
  3. 교차 모델 협업: Claude가 계획 + Codex/Gemini가 실행
  4. 에이전트 팀: 멀티 에이전트 병렬 처리 (Amp, Codex, Claude)
  5. 예약 작업: CronCreate를 통한 정기 스케줄링으로 자동 실행
고급 워크플로우 (9)
  1. 백그라운드 에이전트는 메인 세션 차단을 방지합니다
  2. Worktree 격리된 실험 — 독립적인 브랜치 + 컨텍스트
  3. 목표 중심 — 모델이 자율적으로 달달할 목표를 설정하세요
  4. 세션 관리 > 스킬 설계 — 긴 세션 전략을 먼저 고려하세요
  5. Browser MCP 자동화된 테스트 — Playwright 또는 Chrome DevTools
  6. Multi-Provider 멀티 클라우드 배포 — Bedrock/Vertex/Foundry
  7. 샌드박스 격리 — 네트워크 허용 목록 + 파일 시스템 제한
  8. Agent SDK로 커스텀 에이전트 구축 — Python/TS SDK
  9. Computer Use GUI 인터랙션 — 데스크톱 애플리케이션 제어
Git / PR (5)
  1. 파일당 커밋 — 각 파일에 개별 커밋을 생성합니다
  2. amend하지 마세요 — 이력을 보존하기 위해 새 커밋을 생성합니다
  3. --comment로 PR 코멘트를 자동 추가합니다
  4. 141개 PR / 45K 줄 / 모두 squash merge
  5. 코드 리뷰로 200% 출력 증가 — Test Time Compute
디버깅 (6)
  1. 환경 진단을 위한 /doctor — 문제 발생 시 먼저 실행하세요
  2. /undo로 작업 및 코드 변경을 되돌리세요
  3. context: fork 격리된 실험 — 안전한 시행착오
  4. maxTurns로 턴 제한 — 무한 루프 방지
  5. effort: low로 빠른 진단 — 효율성 향상
  6. /context로 토큰 분포를 시각화하세요
유틸리티 (5)
  1. disallowedTools 특정 도구 차단 — 보안 경계
  2. MCP Server 외부 서비스 연결 — 데이터베이스/API/브라우저
  3. allowedTools 도구 미리 승인 — 확인 감소
  4. includeContext 추가 파일 주입 — 컨텍스트 보강
  5. env 환경 변수 주입 — 통합 구성
일상 (2)
  1. 키보드 단축키 — Escape로 중단, Shift+Tab으로 모드 전환
  2. 정기적인 /compact — 컨텍스트 50%에서 미리 압축

비디오 하이라이트

Boris × Ryan Peterman Boris Cherny × Ryan Peterman — Claude Code 크리에이터의 커리어 스토리 입문자 Boris × Lenny's Podcast Boris Cherny × Lenny's Podcast — Claude Code의 탄생과 제품 철학 제품 Karpathy Karpathy × AI Engineer — 바이브 코딩에서 에이전트 엔지니어링까지 고급 Matt Pocock Matt Pocock 워크샵 — 2시간 Claude Code 실전 워크샵 튜토리얼
Boris × Lenny's Podcast — Claude Code의 탄생과 100% AI 코딩 시대
  • Claude Code는 내부 해커톤에서 탄생했으며, 단순한 CLI에서 Anthropic의 핵심 제품으로 발전했습니다
  • "잠재적 수요(Latent Demand)"는 제품 성공의 핵심입니다 — 장벽을 낮추면 수요가 자연스럽게 폭발합니다
  • Claude Code의 새로운 코드 중 약 100%가 AI에 의해 작성되며, 인간은 검토하고 방향을 안내합니다
  • Plan Mode는 구체적인 단계가 아닌 명확한 목표를 설정해야 하며, 모델이 자율적으로 계획하도록 해야 합니다
  • "쓰디쓴 교훈(Bitter Lesson)": 현재 모델에 맞춰 워크플로우를 최적화하지 말고, 6개월 후 더 강력한 모델을 위한 시스템을 구축하세요
  • CLAUDE.md는 최소한으로 유지해야 합니다 — 모델이 자체적으로 추론할 수 없는 정보만 작성하세요
  • 보안 계층은 다층 방어로 설계되었습니다: 권한 시스템 + 확인 프롬프트 + 샌드박스 실행
Boris × Pragmatic Engineer — Meta에서 Anthropic까지의 엔지니어링 여정
  • Boris의 스타트업에서 Meta E8까지의 커리어 패스는 제너럴리스트 엔지니어 철학을 구현합니다 — 여러 도메인에 걸쳐 문제를 해결합니다
  • Claude Code 아키텍처는 의도적으로 단순하게 유지되며, 복잡한 파일 조작 도구 대신 Bash 도구를 사용합니다
  • Anthropic 내부에서는 에이전트 검색(Agentic Search)(glob/grep)을 사용하여 RAG를 완전히 대체합니다
  • Boris는 매일 20-30개의 PR을 제출하며, 병렬 Agent를 사용하여 여러 작업을 동시에 처리합니다
  • 코드 리뷰 중에는 AI가 "반대자" 역할을 하여 이의를 제기하도록 합니다
  • 프로토타입 문화가 핵심입니다 — 빠르게 구축하고, 빠르게 반복하며, 작동하지 않는 접근 방식은 빠르게 폐기합니다
Boris × Ryan Peterman — E4에서 E8 엔지니어로의 성장
  • Meta 승진의 핵심은 "잠재적 수요" 기회를 찾는 것입니다 — Groups, Marketplace, Dating이 모두 대표적인 사례입니다
  • 사이드 프로젝트(Undux ORM, TypeScript 실용 핸드북)는 기술적 성장을 위한 중요한 경로입니다
  • 제너럴리스트 철학: "프론트엔드"나 "백엔드"로 자신을 정의하지 말고, 여러 도메인의 문제를 해결할 수 있어야 합니다
  • Claude Code는 Codex와의 경쟁 압력 속에서 탄생했으며, 극히 짧은 시간 안에 프로토타입에서 제품으로 발전했습니다
  • 대규모 조직에서 가장 좋은 영향력은 도구와 시스템을 통해 전체 팀의 효율성을 증폭시키는 것입니다
  • "개도 먹지 않는 자신의 밥먹기(Anti-Eating Own Dog Food)"(내부에서 대규모로 자체 제품 사용)는 문제를 발견하는 가장 좋은 방법입니다
Boris × Y Combinator — CLI의 예상치 못한 부상과 AI 에이전트 토폴로지
  • Claude Code가 IDE 플러그인 대신 CLI를 선택한 것은 계획된 것이 아니라 우연이었습니다 — CLI의 단순함이 장점이 되었습니다
  • 에이전트 토폴로지는 다양합니다: 단일 에이전트, 병렬 에이전트, 계층적 에이전트, 각 작업에 맞는 토폴로지가 다릅니다
  • 여러 에이전트의 컨텍스트 윈도우는 상관관계가 없습니다 — 이것이 병렬 실행의 이론적 기반입니다
  • CLAUDE.md는 최소한으로 유지해야 합니다 — 모델이 추론할 수 없는 프로젝트 고유의 정보만 작성하세요
  • Plan Mode는 임시 도구이며, 모델 능력이 향상되면 전용 계획 모드는 더 이상 필요하지 않을 것입니다
  • 플러그인 생태계는 "떼(swarm)" 개발에 의해 구축됩니다 — 많은 외부 기여자가 동시에 다양한 플러그인을 구축합니다
Cat & Boris × Every — 듀얼 유즈 도구 설계 및 복리 엔지니어링
  • 듀얼 유즈 도구: Claude Code는 인간과 AI 모두에게 서비스를 제공하며, 슬래시 명령어는 인간-AI 공유 인터페이스입니다
  • "반대자 하위 에이전트(Adversary Subagent)" 패턴: 한 에이전트는 비용을 제출하고, 다른 에이전트는 감사자 역할을 하여 이의를 제기합니다
  • 복리 엔지니어링(Compounding Engineering): 모든 코드 변경이 후속 변경을 더 쉽게 만듭니다
  • "언십핑(Unshipping)" 전략: 거의 사용되지 않는 기능을 제거하는 것이 새로운 기능을 추가하는 것보다 집중력을 더 높입니다
  • 하위 에이전트 아키텍처는 복잡한 작업을 집중적인 소규모 작업으로 분할하여 병렬 실행합니다
Dex Horthy × MLOps — RPI에서 Crispy 방법론까지의 진화
  • RPI에서 가장 흔한 실수는 Research를 건너뛰고 바로 Plan으로 넘어가는 것입니다
  • "계획이 아닌 코드를 읽어라" — 계획하기 전에 기존 코드베이스를 깊이 이해해야 합니다
  • 명령어 예산은 150-200줄 이내로 유지해야 하며, 이를 초과하면 모델 준수도가 크게 떨어집니다
  • 컨텍스트 윈도우에는 "스마트 존(Smart Zone)"과 "덤 존(Dumb Zone)"이 있습니다 — 전반부는 잘 이해되지만, 후반부는 자주 무시됩니다
  • 수직 슬라이스(Vertical Slices) 계획이 수평 레이어보다 우수합니다 — 각 납품물은 엔드투엔드 검증 가능한 기능입니다
  • "Crispy" 방법론의 7단계, 핵심은 각 단계에 명확한 완료 기준이 있다는 것입니다
  • 설계 논의는 1000줄의 장황한 문서가 아닌 200줄의 정제된 계획을 산출해야 합니다
  • "2026년에는 허술함 금지(No slop in 2026)" — AI가 생성한 불필요한 코드와 일반적인 표현을 용인하지 마세요
  • 생각을 아웃소싱하지 마세요 — AI 출력의 모든 줄을 이해해야 하며, 그렇지 않으면 검증할 수 없습니다
  • CRISPY 방법론 진화 — RPI(Research→Plan→Implement)에서 더 정밀한 7단계 프로세스로 진화했으며, 각 단계에는 크리스피한(명확한) 완료 기준이 있습니다
Karpathy × AI Engineer — 소프트웨어 3.0 및 검증 가능성 원칙
  • 소프트웨어 1.0(직접 작성한 코드), 2.0(신경망 가중치), 3.0(LLM 프롬프트) 세 가지 패러다임이 공존합니다
  • "들쭉날쭉한 지능(Jagged Intelligence)": LLM은 일부 작업에서는 인간을 능가하면서도 더 간단한 작업에서는 오류를 범합니다
  • 검증 가능성(Verifiability)은 AI 코딩의 핵심 원칙입니다 — 자동으로 검증할 수 있는 작업만 AI에게 맡기세요
  • 바이브 코딩은 빠른 프로토타이핑에 적합하고, 에이전트 엔지니어링은 프로덕션 코드에 적합합니다
  • "동물 vs 유령" 프레임워크: 코드가 관찰 가능한 "동물"인지 포착하기 어려운 "유령"인지 이해합니다
  • 교육 철학: "생각은 아웃소싱하되, 이해는 아웃소싱하지 마세요"
Matt Pocock 워크샵 — 스마트/덤 존, 수직 슬라이스 및 TDD
  • 스마트/덤 존: 컨텍스트 전반부가 효율적인 처리 영역이므로, 핵심 지침을 여기에 배치하세요
  • "Grill Me" 스킬: 코딩 전 Q&A를 통해 AI가 요구사항을 진정으로 이해했는지 확인합니다
  • PRD 목표 문서: 요구사항을 명확한 "목적지 문서"로 변환하여 AI가 성공 기준을 알게 합니다
  • 수직 슬라이스(Tracer Bullets): 각 슬라이스는 UI에서 데이터베이스까지 완전한 기능입니다
  • AFK 에이전트 루프("Ralph Loop"): 무인 상태에서 에이전트가 루프를 돌며 계속 작업합니다
  • AI를 활용한 TDD 레드-그린-리팩토링: 먼저 실패하는 테스트를 작성하고(레드), AI가 구현하고(그린), AI가 리팩토링합니다
  • 깊은 모듈과 얕은 모듈: 간단한 인터페이스를 가진 깊은 모듈을 설계하여 AI가 이해해야 할 표면적을 줄이세요
  • 모래성 병렬성(Sand Castle Parallelism): 독립적인 작업을 여러 에이전트에 할당하여 점진적으로 쌓아올립니다

치트 시트

공통 명령어 · CLI 플래그 · 환경 변수 · 설정 템플릿

공통 명령어 (82개 내장)

세션 관리
명령어설명
/clear컨텍스트를 지우고 새 대화 시작 (별칭 /reset, /new)
/compact [instructions]컨텍스트 압축, 선택적으로 포커스 지시사항 포함
/resume [session]세션 이어서 진행 (별칭 /continue)
/branch [name]현재 대화 분기 (별칭 /fork)
/rewind대화 및 코드 되감기 (별칭 /checkpoint, /undo)
/goal [condition]영구 목표 설정, 제거하려면 비워두기
/stop백그라운드 세션 중지
/exitCLI 종료 (별칭 /quit)
/background [prompt]세션을 백그라운드로 분리 (별칭 /bg)
/rename [name]세션 이름 변경
/recap현재 세션의 한 줄 요약 생성
/btw <question>빠른 보조 질문, 대화에 추가되지 않음
/workflows워크플로 진행 상황 보기/관리
모델 (Model)
명령어설명
/model [model]모델 전환, ← → 로 노력도 조절
/effort [level]추론 노력도 설정 low~max/ultracode
/fast [on|off]빠른 모드 토글
/plan [description]계획 모드 진입
/ultraplan <prompt>브라우저에서 계획 초안 작성, 원격 또는 로컬에서 실행
/passesClaude Code 1주 무료 공유 (대상 사용자만)
설정 (Configure)
명령어설명
/config설정 인터페이스 (별칭 /settings)
/permissions권한 규칙 관리 (별칭 /allowed-tools)
/sandbox샌드박스 모드 토글
/statusline상태 표시줄 구성
/keybindings사용자 정의 키 바인딩
/theme테마 전환 (라이트/다크/색각 보정/사용자 정의 포함)
/tui [default|fullscreen]렌더링 모드
/voice [hold|tap|off]음성 받아쓰기
/focus포커스 보기 (중간 단계 숨기기)
/color [color|default]프롬프트 바 색상 설정 (red/blue/green 등)
/radio브라우저에서 Claude FM 로파이 라디오 열기
/scroll-speed마우스 스크롤 속도 대화형 조절
/stickersClaude Code 스티커 주문
/terminal-setup터미널 단축키 구성 (Shift+Enter 등)
/privacy-settings개인정보 설정 보기 및 업데이트 (Pro/Max)
컨텍스트 및 비용
명령어설명
/context컨텍스트 사용량 시각화
/usage세션 비용 및 사용량 (별칭 /cost, /stats)
/usage-credits사용량 크레딧 구성
/insights사용 패턴 분석 보고서
/status버전, 모델, 계정 상태
확장
명령어설명
/agents에이전트 구성 관리
/mcpMCP 서버 관리
/plugin플러그인 관리
/reload-plugins모든 활성 플러그인 다시 로드 (재시작 불필요)
/reload-skillsskills/commands 디렉토리 다시 스캔
/skills사용 가능한 스킬 목록 (t로 토큰 수 정렬)
/hooks훅 구성 보기
/ideIDE 통합 관리
/chromeChrome 설정
/memoryCLAUDE.md 및 자동 메모리 편집
프로젝트
명령어설명
/init프로젝트 CLAUDE.md 초기화
/diff대화형 diff 뷰어
/review로컬 PR 리뷰
/ultrareview [PR]클라우드 기반 심층 다중 에이전트 리뷰
/security-review보안 취약점 분석
/add-dir <path>작업 디렉토리 추가
/team-onboarding팀 온보딩 가이드 생성
원격 및 자동화
명령어설명
/teleport웹 세션을 로컬로 가져오기 (별칭 /tp)
/remote-control원격 제어 세션 (별칭 /rc)
/schedule예약 작업 생성/관리 (별칭 /routines)
/desktop데스크톱 앱에서 계속하기 (별칭 /app)
/mobile모바일 앱 다운로드 (별칭 /ios, /android)
/autofix-prPR CI 실패 자동 수정
/remote-env기본 원격 환경 구성
/web-setupgh CLI를 통해 GitHub를 웹에 연결
/install-github-appGitHub Actions 앱 설정
/install-slack-appSlack 앱 설치
디버그 및 인증
명령어설명
/doctor환경 진단 (자동 수정을 위해 f 누르기)
/loginAnthropic 계정에 로그인
/logout로그아웃
/setup-bedrockBedrock 인증 구성 (환경 변수 필요)
/setup-vertexVertex AI 인증 구성 (환경 변수 필요)
/upgrade상위 플랜으로 업그레이드
/help도움말 정보
/feedback피드백 제출 또는 버그 보고 (별칭 /bug, /share)
/heapdumpJS 힙 스냅샷을 ~/Desktop에 내보내기
/powerup대화형 기능 탐색 코스
/release-notes대화형 릴리스 노트 뷰어
/tasks백그라운드 작업 관리 (별칭 /bashes)
내보내기
명령어설명
/copy [N]최근 응답을 클립보드에 복사 (N=몇 번째 응답)
/export [filename]대화를 일반 텍스트로 내보내기
하위 명령어 (터미널에서 직접 실행)
명령어설명
claude대화형 REPL 시작
claude "question"초기 프롬프트로 시작
claude agents구성된 에이전트 목록
claude auth인증 관리
claude install네이티브 빌드 설치 또는 전환
claude remote-control원격 제어 세션 관리
claude doctorCLI 진단
claude mcpMCP 구성 (add/remove/list/get/enable)
claude plugin플러그인 관리
claude setup-token장기 토큰 생성
claude update버전 업데이트

CLI 플래그 (16개 카테고리)

기능별로 정리된 전체 CLI 시작 플래그 참고 자료입니다.

세션 관리
플래그단축설명
--continue-c가장 최근 대화 계속하기
--resume-rID/이름으로 세션 재개
--from-prPR과 연관된 세션 재개
--fork-session재개 시 새 세션 ID 생성
--session-id세션 UUID 지정
--no-session-persistence세션 지속성 비활성화 (인쇄 모드 전용)
--remoteclaude.ai 웹 세션 생성
--teleport웹 세션을 로컬 터미널로 가져오기
모델 및 구성
플래그설명
--model <NAME>모델 설정 (sonnet/opus/haiku 또는 전체 ID)
--fallback-model기본 모델 과부하 시 대체 모델 (인쇄 모드)
--betas <LIST>베타 기능 헤더 (API 키 사용자)
권한 및 보안
플래그설명
--dangerously-skip-permissions모든 권한 프롬프트 건너뛰기 (매우 주의하여 사용)
--allow-dangerously-skip-permissions권한 건너뛰기 허용 (활성화하지 않고 옵션만 활성화)
--permission-mode <MODE>권한 모드: default/plan/acceptEdits/bypassPermissions
--permission-prompt-tool <TOOL>비대화형 모드에서 권한 프롬프트에 MCP 도구 사용
--allowedTools사전 승인된 도구 목록
--disallowedTools완전히 제거된 도구
--tools사용 가능한 도구 세트 제한
출력 및 형식
플래그단축설명
--print-p비대화형 / 헤드리스 모드
--output-formattext / json / stream-json
--input-formattext / stream-json
--json-schemaJSON Schema 일치 출력 (인쇄 모드)
--verbose상세 로깅
--include-partial-messages스트리밍 부분 이벤트 포함 (--print + stream-json 필요)
시스템 프롬프트
플래그설명
--system-prompt <TEXT>전체 시스템 프롬프트 교체
--system-prompt-file <PATH>파일에서 시스템 프롬프트 로드
--append-system-prompt <TEXT>기본 프롬프트에 추가
--append-system-prompt-file <PATH>파일에서 프롬프트 추가
에이전트 및 하위 에이전트
플래그설명
--agent <NAME>에이전트 지정
--agents <JSON>하위 에이전트 동적 정의
--teammate-mode <MODE>에이전트 표시: auto/in-process/tmux
MCP 및 플러그인
플래그설명
--mcp-config <PATH|JSON>MCP 서버 구성 로드
--strict-mcp-config지정된 MCP 구성만 사용
--plugin-dir <PATH>플러그인 디렉터리 로드 (반복 가능)
디렉터리 및 워크스페이스
플래그설명
--add-dir <PATH>작업 디렉터리 추가
--worktree / -w격리된 워크트리에서 시작
예산 및 제한
플래그설명
--max-budget-usd최대 비용 (인쇄 모드)
--max-turns최대 턴 수 (인쇄 모드)
연동
플래그설명
--chrome / --no-chrome브라우저 연동 토글
--ideIDE 자동 연결
초기화 및 유지 관리
플래그설명
--init초기화 훅 실행 및 대화형 모드 시작
--init-only초기화 훅 실행 후 종료 (대화형 없음)
--maintenance유지 관리 훅 실행 후 종료
디버그 및 설정 재정의
플래그설명
--debug <CATS>디버그 카테고리 (예: "api,hooks")
--settings <PATH|JSON>설정 재정의
--setting-sources <LIST>로드 소스 지정: user,project,local
--disable-slash-commands모든 스킬 및 슬래시 명령 비활성화
버전 및 도움말
플래그단축설명
--version-v버전 번호 출력
--help-h도움말 표시

환경 변수

시작 환경 변수 (셸 설정)
변수설명
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1실험적 에이전트 팀 활성화
CLAUDE_CODE_TMPDIR임시 파일 디렉토리 재정의
DISABLE_AUTOUPDATER=1자동 업데이트 비활성화
CLAUDE_CODE_EFFORT_LEVEL추론 깊이 제어
USE_BUILTIN_RIPGREP=0시스템 ripgrep 사용 (Alpine)
CLAUDE_CODE_SIMPLE심플 모드 (Bash + Edit만)
CLAUDE_BASH_NO_LOGIN=1로그인 셸 건너뛰기
CCR_FORCE_BUNDLE=1번들 업로드 강제 (--remote)
인증 및 모델 및 제공자
변수설명
ANTHROPIC_API_KEYAPI 키 (직접 인증)
ANTHROPIC_AUTH_TOKENOAuth 토큰
CLAUDE_CODE_USE_BEDROCK=1AWS Bedrock 사용
CLAUDE_CODE_USE_VERTEX=1Google Vertex 사용
CLAUDE_CODE_MODEL기본 모델 ID
CLAUDE_CODE_SMALL_FAST_MODEL빠른/소형 모델 ID
MAX_THINKING_TOKENS최대 사고 토큰 수
샌드박스 및 보안 및 성능
변수설명
CLAUDE_CODE_SANDBOX_MODE샌드박스 모드 (docker/macOS/docker-arm)
CLAUDE_CODE_MAX_TURNS기본 최대 턴 수
CLAUDE_CODE_ENABLE_TASKS=1작업 시스템 활성화
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1백그라운드 작업 비활성화
CLAUDE_CODE_USE_POWERSHELL_TOOLPowerShell 도구 활성화
CLAUDE_CODE_SHELL사용자 정의 셸 경로
디스플레이 및 MCP 및 플러그인 및 원격 측정
변수설명
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1필수 외 네트워크 요청 비활성화
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1실험적 베타 비활성화
CLAUDE_MCP_TIMEOUTMCP 도구 시간 초과 (ms)
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1추가 디렉토리 CLAUDE.md 로드
CLAUDE_CODE_SKIP_DOCTOR_CHECK시작 진단 건너뛰기
CLAUDE_CODE_NO_ATTRIBUTION=1커밋 기여 표시 건너뛰기

설정 템플릿

CLAUDE.md 템플릿
# Project Name

## Tech Stack
- Frontend: React + TypeScript
- Backend: Node.js + Express

## Coding Conventions
- File naming: kebab-case
- Components: functional + hooks
- Testing: Vitest

## Constraints
- Do not use any type
- Do not skip tests
- API must have error handling
.claude/settings.json 템플릿
{
  "permissions": {
    "allow": ["Bash(npm run *)","Bash(git status)","Read","Grep","Glob"],
    "deny": ["Bash(rm -rf *)","Bash(git push --force)"]
  }
}
에이전트 정의 템플릿
---
name: my-agent
description: Perform specific task
tools: "Bash,Read,Write,Edit,Grep"
model: sonnet
maxTurns: 20
memory: project
---

# My Agent
1. Read relevant files
2. Analyze code
3. Implement changes
4. Verify results
스킬 정의 템플릿
---
name: my-skill
description: What to do
arguments: filename
allowed-tools: "Read,Write,Edit"
paths: "src/**/*.ts"
---

Process $filename: 
1. Read → 2. Transform → 3. Write back

워크플로 치트시트

RPI 워크플로
  1. /rpi:research REQUEST.md
  2. GO/NO-GO 확인
  3. /rpi:plan feature-name
  4. /rpi:implement feature-name
교차 모델 협업
  1. Claude Code 계획 모드
  2. Codex CLI QA 리뷰
  3. Claude Code 구현
  4. Codex CLI 검증
일일 개발
  1. /plan으로 계획
  2. 접근 방식 확인
  3. 구현
  4. /code-review로 리뷰
  5. /verify로 검증
문제 해결
  1. /doctor으로 확인
  2. /debug로 디버그
  3. /undo로 되돌리기
  4. /compact으로 정리