SOURCE

Steering Claude Code

Anthropic 블로그 "Steering Claude Code". 지시 전달 7가지 방법을 로드 시점·컴팩션·권위로 비교

확인 2026-06-18원본 자료 1건의 요약갱신 2026-10-21언급 24곳
이 페이지의 목차

한 줄 요약: Anthropic 블로그 글 "Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents"(2026-06-18). Claude Code에 지시를 전달하는 일곱 가지 방법(CLAUDE.md, rules, 스킬, 서브에이전트, 훅, 출력 스타일, 시스템 프롬프트 덧붙이기)을 "언제 컨텍스트에 로드되나 / 긴 세션의 압축(컴팩션) 뒤에도 남나 / 얼마나 권위를 갖나" 세 축으로 비교하고, 지시를 어디에 둘지 판단하는 기준을 준다. Claude Code 확장 기능 개요(공식 문서)의 해설판 성격이다. 공식 확장 기능 개요가 비슷한 기능을 구분하는 절에서 이 글을 더 깊은 해설(deeper walkthrough)로 링크한다. Claude Code 확장 기능 개요

원본 정보#

핵심 주장#

  1. 지시를 전달하는 방법은 일곱 가지이고, 각각 세 가지를 정한다. 지시가 언제 컨텍스트에 로드되는지, 긴 세션에서 유지되는지(컴팩션 동작), 얼마나 권위를 갖는지다. 원본은 각 방법이 컨텍스트 비용과 권위를 맞바꾼다고 본다. 모델과 effort 수준은 이와 별개의 두 다이얼로, 얼마나 유능하게·얼마나 열심히 일할지를 정한다. → Claude Code 확장 기능 고르기, 컨텍스트 비용
  2. 컴팩션 뒤 무엇이 남는지는 방법마다 다르다. 루트 CLAUDE.md는 컴팩션 뒤 다시 읽히고, unscoped rules는 다시 주입되며, 호출된 스킬은 공유 예산 안에서 다시 주입되고(오래된 것부터 빠짐), 하위 디렉터리 CLAUDE.md와 경로별 규칙은 그 디렉터리를 다시 건드릴 때까지 빠진다. 훅은 컴팩션과 무관하고, 출력 스타일과 시스템 프롬프트 덧붙이기는 압축되지 않는다. → 장기 작업 컨텍스트 관리
  3. 반드시 일어나야 하거나 절대 일어나면 안 되는 일은 지시가 아니라 결정론적 장치로. "매번 X면 항상 Y"는 훅으로, "절대 하지 마라"는 훅과 권한(permissions)으로 둔다. 모델은 압박, 긴 세션, 모호한 상황, 작업 중 읽은 파일의 프롬프트 인젝션 때문에 프롬프트 규칙을 따르지 못할 수 있다. 조직 전체의 결정론적 가드레일은 managed settings가 유일한 방법이다(블로그 평가). → 훅, 권한 모드
  4. CLAUDE.md는 항상 들고 있을 사실만, 절차는 스킬로, 일부에만 해당하는 규칙은 경로별 rules로. 공유 저장소의 CLAUDE.md는 주인 없는 설정 파일처럼 계속 불어나며, 모든 줄이 모든 엔지니어의 모든 세션에 로드돼 토큰을 쓰고 중요한 지시의 준수를 희석한다. 200줄 이하, 주인 지정, 코드처럼 리뷰가 원본의 팁이다. → 메모리(CLAUDE.md), CLAUDE.md 작성·구성
  5. 출력 스타일은 가장 강하지만 기본 지시를 지운다. 시스템 프롬프트에 들어가 지시 준수 가중치가 가장 높지만(블로그 평가), 커스텀 스타일은 기본 출력 스타일을 대체해 소프트웨어 엔지니어링용 기본 지시(변경 범위, 주석, 보안, 테스트 후 완료 선언)가 빠진다. 시스템 프롬프트 덧붙이기는 기본 역할을 바꾸지 않고 더하기만 한다. → 출력 스타일 (참고: 공식 출력 스타일 문서 Claude Code 출력 스타일 기준으로는 커스텀 스타일만 빼고 내장 네 스타일은 기본 지시를 유지한다. 편집·실무는 공식 기준)

원본의 비교 표 (2026-06-18 기준)#

원본 요약표를 열 이름과 표현 그대로 옮겼다. 위키의 다른 페이지는 이 표의 칸을 나눠 인용한다.

방법로드 시점 (When it's loaded)컴팩션 동작 (Compaction behavior)컨텍스트 비용 (Context cost, 블로그 평가)언제 쓰나 (When to use)
CLAUDE.md (루트)세션 시작, 세션 내내 컨텍스트에 남음Memoized. 한 번 읽어 세션 동안 캐시, 컴팩션 뒤 캐시를 비우고 다시 읽음High. 관련 여부와 상관없이 모든 줄이 토큰을 씀빌드 명령, 디렉터리 구조, 모노레포 구조, 코딩 관례, 팀 규범
CLAUDE.md (하위 디렉터리)필요할 때, Claude가 그 하위 디렉터리의 파일을 읽을 때그 하위 디렉터리를 다시 건드릴 때까지 사라짐Low. 관련 하위 디렉터리를 작업할 때만 컨텍스트를 씀하위 디렉터리 전용 관례
Rules세션 시작(사용자 수준 규칙) 또는 맞는 파일을 건드릴 때만(경로 범위)컴팩션 때 다시 주입Medium. 경로 범위가 없으면 항상 켜짐구체적 제약·관례 (예: 모든 API 핸들러는 Zod로 입력 검증)
스킬세션 시작 때 이름·설명, 호출 시 전체 본문호출된 스킬은 공유 예산까지 다시 주입, 오래된 것부터 빠짐Low. 호출 시에만 본문 로드, 호출된 스킬 전체가 공유 토큰 예산을 나눔절차형 워크플로 (배포·릴리스 체크리스트)
서브에이전트세션 시작 때 이름·설명·도구 목록, 본문은 Agent 도구로 부를 때만최종 메시지(요약과 메타데이터)만 메인 세션으로 돌아옴Low. 부르기 전까지 메인 컨텍스트 비용 0, 자기 격리 컨텍스트 창에서 실행병렬 작업, 격리해서 요약만 돌려받을 곁가지 작업 (깊은 검색, 로그 분석, 의존성 감사)
훅생명주기 이벤트에 실행컴팩션을 완전히 우회Low. 설정은 메인 컨텍스트 밖, 일부 출력은 돌아올 수 있음(예: 차단 오류)결정론적 자동화: 린터 실행, 완료 시 Slack 게시, 명령 차단, PreCompact에서 대화 기록 백업
출력 스타일세션 시작, 시스템 프롬프트에 주입압축되지 않음High. 컨텍스트 창을 차지하지만 기본 시스템 프롬프트를 덮어씀큰 역할 변경 (코드 어시스턴트 → 일반 어시스턴트)
시스템 프롬프트 덧붙이기세션 시작, CLI 플래그로 전달압축되지 않음, 그 실행에만 적용Moderate. 세션 첫 요청 뒤 캐시됨톤, 응답 길이, 서식 선호

(2026-10-21 참고: 시스템 프롬프트 덧붙이기 행의 "그 실행에만 적용"은 공식 CLI 문서 Claude Code CLI 레퍼런스와 다르다. 공식 문서는 기본 동작으로 첫 요청에서 만든 시스템 프롬프트를 세션에 기록해 컴팩션 전까지 --resume·--continue로 돌아온 나중 실행에서도 쓴다고 적는다. ‘원본끼리 달랐던 점’ 상자: Claude Code CLI 플래그.)

원본 안의 불일치: 출력 스타일의 컨텍스트 비용을 요약표는 "High", 본문은 "moderate context cost"(첫 요청 뒤 캐시되므로)라고 쓴다. 위키에는 두 표현을 함께 둔다.

원본의 숫자·설정값 (2026-06-18 기준)#

  • CLAUDE.md 권장 크기: 200줄 이하.
  • 서브에이전트 중첩: 최대 5단계(five levels deep). (2026-10-19 참고: 공식 서브에이전트 문서 Claude Code 서브에이전트는 이것을 v2.1.172~v2.1.216의 기본값으로 적고, 수집일 2026-10-18 기준 기본은 3층이다. → 서브에이전트)
  • Dynamic workflows: 수십~수백 개 백그라운드 에이전트를 조율. 조율 계획과 중간 결과는 Claude의 컨텍스트 창이 아니라 스크립트 변수에 산다.
  • 훅 종류: command, HTTP, mcp_tool, prompt, agent. PreToolUse 훅은 종료 코드 2로 호출을 막는다.
  • 설정 키·플래그: paths(rules frontmatter), claudeMdExcludes, keep-coding-instructions: true(출력 스타일 frontmatter), append-system-prompt 플래그.
  • 내장 출력 스타일로 든 이름: Proactive, Explanatory, Learning.

ORIGINAL

원문

원문은 원 저작자 사이트에서 읽을 수 있습니다.
claude.com

원문 열기 (새 창)

BACKLINKS

16곳 더 보기접기