이 페이지의 목차
확인 2026-06-18근거 자료 10건갱신 2026-10-26언급 24곳
이 페이지의 목차
확인 날짜 안내

확인 날짜가 섞인 페이지다. Steering Claude Code 부분은 발행일(2026-06-18) 기준, 공식 문서(Claude Code 출력 스타일, Claude Code 확장 기능 개요, Claude Code 메모리, Claude Code 컨텍스트 창, Claude Code 작동 방식, Claude Code 권한 모드) 부분은 원본 날짜 미상이라 수집일(2026-10-18) 기준, 공식 CLI 문서 Claude Code CLI 레퍼런스(원본 날짜 미상, 서버 Last-Modified 2026-10-20, 수집 2026-10-21) 부분은 2026-10-21 기준이다. 블로그의 비용 등급과 "지시 준수 가중치가 가장 높다"는 권위 평가는 "(블로그 평가)"로 표시하고, --append-system-prompt의 적용 범위는 공식 CLI 문서 기준으로 정리한 상충(정리됨 콜아웃)이라 블로그 쪽 주장과 함께 날짜 계산에서 뺀다. 페이지 확인 날짜는 2026-06-18이다. 기본 지시 목록의 "보안 우려에 대한 대응" 항목이 아직 블로그에만 근거하기 때문이다. 덧붙이기의 프롬프트 캐싱은 2026-10-26 수집한 공식 Prompt caching 문서 Claude Code 프롬프트 캐싱이 확인했다.

정의#

Claude Code 세션(용어 사전)의 모든 응답에 Claude의 역할·톤·응답 형식을 정하는 지시 묶음이다. 매 프롬프트마다 같은 요청을 되풀이하지 않도록 세션 전체에 걸어 둔다. 내장 스타일로 응답을 짧게 하거나, 변경마다 설명을 붙이거나, 일상적인 질문 없이 바로 일하게 할 수 있고, 커스텀 스타일로는 글쓰기 도우미나 데이터 분석가처럼 소프트웨어 엔지니어가 아닌 역할을 줄 수도 있다. Claude Code 출력 스타일

  • 공식 문서의 단서: 출력 스타일은 Claude가 따를 지시를 줄 뿐, 어떤 일이 항상 일어나거나 절대 일어나지 않음을 보장하지 않는다. Claude Code 출력 스타일 → 훅
  • 블로그 글은 파일을 .claude/output-styles/에 두고 지시를 시스템 프롬프트에 주입한다고 쓴다. Steering Claude Code (2026-06-18 기준) 공식 문서는 위치를 사용자·프로젝트·managed policy 세 레벨로 적는다(아래 "커스텀 스타일"). Claude Code 출력 스타일

내장 스타일 (2026-10-18 기준)#

Claude Code는 Default로 시작한다. Default는 스타일을 고르지 않은 상태로, 스타일 지시 없이 소프트웨어 엔지니어링용 표준 시스템 프롬프트로 일한다. 나머지 내장 네 가지는 Default의 지시를 유지하고 자기 지시를 더한다. Claude Code 출력 스타일

스타일무엇이 바뀌나언제 맞나
Proactive바로 작업을 시작하고 일상적인 결정은 묻지 않고 합리적으로 가정한다일상적 결정을 Claude가 계속 처리하고, 가정이 틀리면 사용자가 바로잡을 때
Concise결과부터 말하고 서론·진행 설명·마무리 요약을 뺀다기본 응답이 원하는 것보다 길 때
Explanatory작성한 코드의 선택 이유를 짧은 Insight 블록으로 덧붙인다코드베이스를 익히는 중이거나 변경과 함께 이유를 보고 싶을 때
Learning선택을 설명하고 작은 코드 조각을 사용자가 직접 쓰게 남긴다작업을 끝내면서 직접 코딩 연습도 하고 싶을 때

근거: Claude Code 출력 스타일 (원본 표의 열을 그대로 옮겼다)

  • Proactive와 권한: 스타일 지시는 데이터를 지우거나 공유·운영 시스템을 바꾸기 전에 대화로 확인하라고 하지만, 이 확인은 Claude가 따르는 지시이고 권한 확인 창과는 별개다. Proactive로 바꿔도 권한 모드는 그대로이고, 어떤 도구 호출을 묻지 않고 실행할지는 계속 권한 모드가 정한다. 계획을 요청하지 않으면 plan 모드로 바꾸지 않는다. Claude Code 출력 스타일 공식 권한 모드 문서는 확인 창은 그대로 두는 모드에서 더 자율적으로 움직이게 하려면 Proactive를 쓰라고 한다. Claude Code 권한 모드 → 권한 모드
  • Concise: 단순한 질문에는 1~3문장으로 답하고 엔지니어링 작업은 Default만큼 철저히 한다. 사용자가 설명·세부를 요청할 때와, 오류 보고·실패한 테스트 출력·보안 경고·파괴적 동작 확인은 전체 길이로 쓴다. v2.1.237 이상. Claude Code 출력 스타일
  • Explanatory·Learning: Insight 블록은 대화에 나오고 파일에 주석으로 쓰이지 않는다. Learning은 실제 설계 결정이 있는 곳에 TODO(human) 주석을 달고 멈춰 사용자가 코드를 쓰기를 기다린다. Claude Code 출력 스타일
  • 블로그 글도 커스텀 스타일을 쓰기 전에 내장 스타일을 먼저 보라고 하고, Proactive, Explanatory, Learning이 가장 흔한 필요(자율성, 가르치는 모드, 협업 코딩)를 스타일 파일 관리 없이 채운다고 한다. Steering Claude Code 공식 확장 기능 개요는 내장 Concise를 예로 든다. Claude Code 확장 기능 개요

바꾸는 방법(/output-style, /config, VS Code 메뉴, outputStyle 설정)과 커스텀 스타일 만드는 단계는 Claude Code 출력 스타일 설정·만들기.

작동 방식 (2026-10-18 기준)#

  • Claude Code는 활성 스타일의 지시를 매 요청에 보낸다. Claude Code 출력 스타일
  • 세션 중 바꾸면 다음 메시지부터 새 스타일을 쓴다. v2.1.251 이전에는 /clear나 새 세션 뒤에야 적용됐다. Claude Code 출력 스타일 공식 확장 기능 개요도 로드 시점을 "세션 시작, 그리고 스타일을 바꿀 때 다시"로 적는다. Claude Code 확장 기능 개요
  • 적용 범위: 메인 대화와 포크(부모의 대화 전체와 시스템 프롬프트를 물려받음)에 적용된다. 다른 서브에이전트는 자기 시스템 프롬프트로 돌아 스타일이 응답을 바꾸지 않는다. Claude Code 출력 스타일 → 서브에이전트
  • (2026-10-18 기준) 공식 서브에이전트 문서도 같은 규칙을 확인한다: 서브에이전트는 자기 시스템 프롬프트로 돌아 출력 스타일이 응답을 바꾸지 않고, 예외는 포크다. Claude Code 서브에이전트
  • 공식 작동 방식 문서는 Claude Code가 대화에 스스로 더하는 컨텍스트(system reminder)로 CLAUDE.md 파일과 함께 "출력 스타일의 지시"를 든다. 사용자가 쓰지 않은 규칙을 Claude가 따르면 여기서 왔을 수 있다는 맥락이다. Claude Code 작동 방식 → CLAUDE.md 문제 해결

로드·컴팩션·비용#

  • 로드: 매 세션 시작 때 시스템 프롬프트에 주입된다. Steering Claude Code (2026-06-18 기준) 공식 문서 기준 로드 시점은 위 "작동 방식".
  • 컴팩션: 블로그는 압축되지 않는다(never compacted)고 쓴다. Steering Claude Code 공식 컨텍스트 창 문서(2026-10-18 기준)도 컴팩션 뒤 "시스템 프롬프트와 출력 스타일은 둘 다 계속 적용"된다고 확인한다. Claude Code 컨텍스트 창 → 장기 작업 컨텍스트 관리
  • 입력 비용: 스타일 지시가 입력 토큰을 더하지만 세션 첫 요청 뒤 프롬프트 캐싱이 이 비용을 줄인다(2026-10-18 기준). Claude Code 출력 스타일 블로그도 첫 요청 뒤 캐시된다고 하며, 본문에서는 이를 "moderate context cost"라 하고 요약표에서는 "High. 컨텍스트 창을 차지하지만 기본 시스템 프롬프트를 덮어씀"이라 쓴다(둘 다 블로그 평가). 원본 안에서 표현이 다르다. Steering Claude Code
  • 공식 확장 기능 개요 문서(수집 2026-10-18)는 활성 스타일의 전체 지시가 로드되고 매 요청 비용이 든다고 적는다. Default 스타일은 로드되는 지시가 없다. Claude Code 확장 기능 개요 → 컨텍스트 비용
  • 세션 중 스타일 바꾸기와 캐시(2026-10-26 기준): /output-style, /config, outputStyle 설정으로 세션 중 바꾸면 다음 메시지부터 새 스타일을 쓰고, 새 스타일 지시는 대화 메시지로 전달돼 시스템 프롬프트와 앞선 대화는 캐시에서 읽힌다. v2.1.251 이전에는 캐시는 지켰지만 /clear나 새 세션 전까지 새 스타일이 적용되지 않았다. Claude Code 프롬프트 캐싱 → 프롬프트 캐싱
  • 출력 비용(2026-10-18 기준): 내장 Explanatory·Learning은 설계상 Default보다 응답이 길어 출력 토큰이 늘고, Concise는 짧게 쓰라고 지시해 반대다. 커스텀 스타일의 출력 토큰은 지시가 무엇을 만들라고 하느냐에 달렸다. Claude Code 출력 스타일

권위: 가장 강하지만 기본 지시를 지울 수 있다#

  • 시스템 프롬프트에 들어가므로 원본이 다룬 방법 중 지시 준수 가중치(instruction-following weight)가 가장 높다. 그래서 신중하게 쓰라고 한다(블로그 평가, 2026-06-18 글). Steering Claude Code
  • 블로그는 출력 스타일을 바꾸면 기본 출력 스타일이 대체되고, 스타일 frontmatter에 keep-coding-instructions: true를 두면 예외라고 쓴다. Steering Claude Code (2026-06-18 기준)
  • 대체되면 소프트웨어 엔지니어링 작업을 돕는다는 지시와 다음 같은 기본 지시가 빠진다: 변경 범위를 정하는 법, 코드 주석을 넣을지 뺄지, 보안 우려에 대한 대응, 완료를 선언하기 전에 테스트를 돌리는 검증 습관. 기본적으로 커스텀 스타일을 쓰면 Claude Code는 소프트웨어 엔지니어 어시스턴트라기보다 일반 어시스턴트가 된다. Steering Claude Code (2026-06-18 기준)
  • 공식 문서(2026-10-18 기준)의 범위: 전체 시스템 프롬프트에서 커스텀 스타일은 Claude Code의 내장 소프트웨어 엔지니어링 지시 절(변경 범위 정하기, 주석 쓰기, 작업 검증 등)을 빼고, keep-coding-instructions: true면 남긴다. 짧은 시스템 프롬프트에는 그 절이 없어 이 필드가 효과가 없고, 필드에 기대려면 CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT를 0으로 두어 어떤 모델에서든 전체 프롬프트를 고른다. 내장 네 스타일은 Default 지시를 유지한다. Claude Code 출력 스타일
  • 공식 문서의 권고: 소통 방식만 바꾸고 코딩은 같은 방식으로 하게 하려면 keep-coding-instructions: true, Claude가 소프트웨어 엔지니어링을 하지 않을 거면 빼 둔다. Claude Code 출력 스타일
원본끼리 달랐던 점(정리됨)기본 코딩 지시를 빼는 범위
  • Steering Claude Code (2026-06-18): "Changes to the output style will replace the default output style"(출력 스타일을 바꾸면 기본 출력 스타일이 대체된다), 예외는 keep-coding-instructions: true. 같은 글의 다음 문단은 기본 지시를 빼는 주체를 "a custom output style"(커스텀 출력 스타일)로 적는다.
  • Claude Code 출력 스타일 (원본 날짜 미상, 수집 2026-10-18): 내장 네 스타일은 Default 지시를 "keeps"(유지)하고 자기 지시를 더한다. 빠지는 것은 커스텀 스타일이고, 그것도 전체 시스템 프롬프트 기준이다. keep-coding-instructions는 짧은 시스템 프롬프트에서 효과가 없다.
  • 문서·발표에서는 공식 문서 쪽 범위("커스텀 스타일이, 전체 시스템 프롬프트에서")로 말하는 편이 안전하다고 볼 수 있다(편집자 해석).
  • 편집·실무 기준은 공식 문서다. 커스텀 스타일만 (전체 시스템 프롬프트에서) 기본 소프트웨어 엔지니어링 지시를 빼고, 내장 네 스타일은 유지한다. 근거: "Each of the four other built-in styles keeps those instructions and adds its own", "custom output styles leave out Claude Code's section of built-in software engineering instructions ... unless keep-coding-instructions is set to true". 블로그 문장은 위에 출처와 함께 남긴다.
  • 가중치가 높다는 것과 강제된다는 것은 다르다. 공식 확장 기능 개요 문서는 CLAUDE.md와 출력 스타일 모두 지시로만 따르므로 어느 쪽도 강제되지 않는다고 말한다. Claude Code 확장 기능 개요 공식 출력 스타일 문서도 출력 스타일은 "아무것도 강제하지 않는다(nothing enforces it)"고 하고, 보장돼야 하는 일은 훅에 두라고 한다. Claude Code 출력 스타일 → 훅

언제 쓰는가#

다른 기능과 고르기 (2026-10-18 기준)#

공식 출력 스타일 문서의 표다. 출력 스타일은 세션의 모든 응답에 적용되는 지시라서, 원하는 것이 모든 응답보다 좁거나 반드시 일어나야 하면 다른 기능이 맞다고 한다. Claude Code 출력 스타일

원하는 것쓸 것맞는 이유
모든 응답을 특정 목소리·길이·형식으로, 또는 다른 역할의 Claude출력 스타일세션 전체에 적용되고 명령 하나로 바꾼다
프로젝트 관례·명령·구조를 Claude가 알기메모리(CLAUDE.md)코드베이스에 대해 알아야 할 것을 담고, 어떤 스타일을 고르든 계속 로드된다
릴리스 체크리스트·리뷰 절차처럼 한 종류 작업의 지시스킬부르거나 작업이 맞을 때만 로드돼 관련 없는 응답을 바꾸지 않는다
편집마다 포맷, 명령 차단처럼 예외 없이 매번 일어날 일훅Claude Code가 생명주기 이벤트에 직접 실행해 Claude가 지시를 따르는지에 기대지 않는다
집중된 작업용으로 자기 지시·모델·도구를 가진 도우미서브에이전트자기 시스템 프롬프트로 별도 컨텍스트에서 돌고 대화에 요약을 돌려준다
Claude Code를 시작할 때 넘기는 지시 추가--append-system-prompt아무것도 지우지 않고 시스템 프롬프트에 덧붙인다

기능은 조합된다. 원본 예: 알아야 할 것은 CLAUDE.md, 응답 방식은 출력 스타일, 보장돼야 하는 것은 훅. Claude Code 출력 스타일 나머지 확장 기능 비교는 Claude Code 확장 기능 고르기.

대안: 시스템 프롬프트 덧붙이기#

append-system-prompt 플래그는 원래 시스템 프롬프트에 더하기만 한다. Claude의 역할을 바꾸지 않고 기본 역할에 지시를 보탠다. Steering Claude Code (2026-06-18 기준) 공식 출력 스타일 문서도 --append-system-prompt를 "Claude Code를 시작할 때 넘기는 지시 추가"용으로 두고, 아무것도 지우지 않고 시스템 프롬프트에 덧붙인다고 적는다(2026-10-18 기준). Claude Code 출력 스타일

  • 블로그 글은 실행할 때 넘기고 그 실행에만 적용되며, 파일로 세션을 넘어 유지되지 않는다고 쓴다. Steering Claude Code (2026-06-18 글)
  • (2026-10-21 기준) 공식 CLI 문서는 적용 범위를 다르게 적는다. 플래그 텍스트는 대화의 첫 요청에서 만든 시스템 프롬프트에 들어가 세션에 기록되고, 컴팩션 전까지는 --resume·--continue로 돌아온 나중 실행에서도 그 기록을 쓴다. 나중 실행에서 플래그를 바꾸거나 빼면 컴팩션 때나 새 대화에서 반영된다. 기록하지 않는 예외(--system-prompt-snapshot off, 클라우드 세션 밖의 --bare 등)와 버전 조건은 Claude Code CLI 플래그. Claude Code CLI 레퍼런스
  • 입력 토큰이 늘지만 세션 첫 요청 뒤 프롬프트 캐싱이 비용을 줄인다. 더 장황한 스타일을 지시하면 출력 토큰도 는다. Steering Claude Code (2026-06-18 기준. 공식 CLI 문서는 첫 요청 때 만든 프롬프트를 기록해 이후 요청에 다시 쓴다고 적지만, 덧붙인 텍스트의 캐싱 비용은 말하지 않는다. Claude Code CLI 레퍼런스) (2026-10-26 기준) 공식 Prompt caching 문서는 덧붙이기 텍스트 변경을 시스템 프롬프트 변경으로 다루고, 시스템 프롬프트 층은 다음 요청에서 캐시로 읽힌다고 적어 덧붙이기의 캐싱을 확인한다(두 문장을 함께 읽은 것, 한 문장으로 쓴 곳은 없음). Claude Code 프롬프트 캐싱 → 프롬프트 캐싱
원본끼리 달랐던 점(정리됨)--append-system-prompt 재개 동작
  • Steering Claude Code (2026-06-18): 시스템 프롬프트 덧붙이기는 "applies only to that invocation"(그 실행에만 적용), 파일로 세션을 넘어 유지되지 않는다.
  • Claude Code CLI 레퍼런스 (수집 2026-10-21): 기본 동작으로 첫 요청에서 만든 시스템 프롬프트를 세션에 기록하고, 컴팩션 전까지 --resume·--continue로 돌아온 나중 실행에서도 쓴다. 나중 실행의 다른 플래그 텍스트(또는 플래그 없음)는 컴팩션 때나 새 대화에서 반영된다.
  • 설명과 실무는 공식 CLI 문서 기준. 블로그 문장은 출처와 함께 남긴다. 원문 인용·예외: Claude Code CLI 플래그
  • 덧붙이기와 대체(--system-prompt) 중 고르는 기준(2026-10-21 기준): Claude가 코딩 도우미로 남되 추가 규칙을 따라야 하면 덧붙이기, 정체성·권한 모델이 Claude Code와 다르면 대체를 쓴다. 대체는 도구 안내와 안전 지시까지 모두 빼므로 그 작업에 필요한 것은 직접 책임진다. 프로젝트에서 바꿔 가며 공유할 지속 페르소나는 출력 스타일을 쓰라고 한다. Claude Code CLI 레퍼런스
  • 잘 맞는 용도: 특정 코딩 표준, 출력 서식, 도메인 지식. Steering Claude Code
  • 주의: 준수에 대해 수익이 줄어든다. 이 방법으로 지시를 많이 줄수록, 특히 서로 모순되면 덜 엄격하게 따른다. Steering Claude Code
  • 공식 메모리 문서는 이 플래그가 대화형보다 스크립트·자동화에 맞다고 한다(수집 2026-10-18). Claude Code 메모리 → 메모리(CLAUDE.md)

묶어서 배포#

출력 스타일도 스킬·서브에이전트·훅과 함께 플러그인으로 묶어 팀원이나 여러 프로젝트에 같은 셋업을 나눌 수 있다. Steering Claude Code 공식 출력 스타일 문서(2026-10-18 기준)는 플러그인이 output-styles/ 디렉터리로 스타일을 담고, 플러그인 스타일 frontmatter의 force-for-plugin: true면 플러그인이 켜져 있을 때 사용자가 고르지 않아도 자동 적용되며 사용자의 outputStyle 설정을 덮어쓴다고 적는다. 여러 플러그인이 설정하면 먼저 로드된 것을 쓴다. Claude Code 출력 스타일

비교 전체: Claude Code 확장 기능 고르기