|

클로드 코드 출력 스타일 4종, 매번 짧게 써 달라고 부탁하지 않아도 되는 이유

3줄 요약
- 클로드 코드는 기본(Default) 외에 4종의 내장 출력 스타일을 제공한다 — Proactive(바로 착수)·Concise(간결)·Explanatory(설명 추가)·Learning(직접 코딩 유도)이다.
- 매 프롬프트마다 "짧게 답해줘"를 반복하는 대신 /output-style concise 한 번으로 세션 전체의 응답 방식을 바꿀 수 있다.
- 직접 Markdown 파일을 써서 나만의 스타일도 만들 수 있다. keep-coding-instructions: true를 안 넣으면 클로드 코드의 기본 소프트웨어 엔지니어링 지침이 통째로 빠진다.

질문 답
출력 스타일이 바꾸는 것은 무엇인가 세션 전체 응답의 역할·어조·형식. 매 프롬프트 반복 지시를 없앤다
내장 스타일은 몇 종인가 Default 포함 5종. Default 외 4종이 Proactive·Concise·Explanatory·Learning
어떻게 바꾸나 /output-style <이름>, /config 메뉴, VS Code 확장 메뉴, 설정 파일의 outputStyle 필드
CLAUDE.md·훅과 뭐가 다른가 CLAUDE.md는 프로젝트 지식, 훅은 예외 없이 강제되는 동작, 출력 스타일은 "따르는 지시"일 뿐 강제되지 않는다
서브에이전트에도 적용되나 현재 대화를 복제하는 포크(fork)만 부모 시스템 프롬프트를 물려받아 적용된다. 그 외 서브에이전트는 자기 시스템 프롬프트로 돈다

이 글대로 하면 무엇이 달라지는가: "간결하게 답해줘", "설명 좀 붙여줘" 같은 말을 매 프롬프트마다 반복하지 않고, 세션 시작 시 명령 한 번으로 응답 방식을 고정할 수 있게 된다.

클로드 코드 출력 스타일이란 무엇인가?

출력 스타일(output style)은 세션 안의 모든 응답에 적용되는 역할·어조·형식 지시다. 클로드 코드 공식 문서는 이를 "Claude의 역할, 어조, 응답 형식을 세션 전체에 걸쳐 바꾸는 지시 묶음"으로 정의한다. 예를 들어 응답을 짧게 만들거나, 각 변경에 설명을 붙이거나, 클로드를 소프트웨어 엔지니어가 아닌 다른 역할(글쓰기 도우미, 데이터 분석가 등)로 바꾸는 데 쓴다.

핵심은 "매 프롬프트 반복"을 없애는 것이다. 스타일을 한 번 고르면 그 세션의 모든 응답에 같은 지시가 계속 실린다. 반대로 출력 스타일은 강제 장치가 아니라 클로드가 따르는 지시일 뿐이라는 점도 문서가 명시한다 — "항상 일어난다" 또는 "절대 일어나지 않는다"를 보장하고 싶다면 다른 기능(훅)을 써야 한다.

기본 제공 출력 스타일 4종은 각각 무엇을 바꾸는가?

Default(스타일 미선택 상태)를 제외하면 내장 스타일은 4종이고, 각 스타일은 Default의 소프트웨어 엔지니어링 지침 위에 자기 지시를 더한다.

스타일 무엇이 바뀌나 언제 쓰나
Proactive 바로 작업을 시작하고 사소한 판단은 스스로 내린다(질문 대신 진행) 판단을 맡기고 틀리면 그때 고치고 싶을 때
Concise 응답이 결과부터 말하고 서두·과정 설명·마무리 요약을 생략한다 기본 응답이 너무 길게 느껴질 때
Explanatory 코드 작성 이유를 짧은 Insight 블록으로 덧붙인다 코드베이스를 익히거나 판단 근거를 같이 보고 싶을 때
Learning Explanatory처럼 설명하되, 일부 코드는 TODO(human)으로 남겨 직접 쓰게 한다 작업은 진행시키면서 직접 코딩 연습도 하고 싶을 때

Default는 "스타일 미선택"을 뜻하며, 이때는 클로드 코드의 표준 시스템 프롬프트(소프트웨어 엔지니어링 작업용)만 적용된다. Concise 스타일이라도 사용자가 명시적으로 설명을 요청하거나, 오류 로그·실패한 테스트 출력·보안 경고·파괴적 작업 확인처럼 안전하게 행동하는 데 필요한 내용은 그대로 전부 출력한다.

Explanatory·Learning은 응답 길이를 늘리는 방향으로 설계됐고, Concise는 반대로 줄이는 방향으로 설계됐다 — 셋 다 출력 토큰량에 그대로 반영된다.

출력 스타일은 어떻게 바꾸는가?

가장 빠른 방법은 명령어다. /output-style <스타일이름>을 치면 바로 전환되고, 예를 들어 /output-style concise라고 치면 된다. 인자 없이 /output-style만 치면 고를 수 있는 스타일 목록과 현재 스타일이 표시된다.

방법 어디서 비고
/output-style <이름> 명령 터미널 · 비대화형(headless) 모드 · Agent SDK · 모바일/웹 원격 제어 원격 제어에서는 내장 스타일만 목록·선택 가능
/config → Output style 메뉴 터미널 목록에서 고르는 방식
VS Code 확장의 / 명령 메뉴 → Output styles VS Code 커스텀 스타일도 여기서 고를 수 있다
설정 파일의 outputStyle 필드 직접 수정 데스크톱 앱 · 텍스트 편집기 예: .claude/settings.local.json에 {"outputStyle": "Explanatory"}

값은 대소문자를 구분한다 — 내장 스타일 이름은 Proactive·Concise·Explanatory·Learning로 정확히 써야 하고, explanatory처럼 대소문자가 틀리면 Default로 처리된다(단 /output-style 명령 자체는 대소문자를 가리지 않는다). /output-style 명령이나 메뉴로 고른 값은 .claude/settings.local.json(프로젝트 로컬 설정)에 저장된다. 모든 프로젝트에 기본으로 적용하고 싶으면 ~/.claude/settings.json에 outputStyle을 직접 넣으면 되고, 프로젝트 자체 설정이 있으면 그쪽이 우선한다.

설정 파일로 고정할 때는 아래 한 줄이면 된다. 프로젝트 로컬에만 두려면 .claude/settings.local.json, 모든 프로젝트에 두려면 ~/.claude/settings.json에 넣는다.

{
  "outputStyle": "Explanatory"
}

세션 도중 스타일을 바꾸면 다음에 보내는 메시지부터 새 스타일이 적용된다.

나만의 출력 스타일은 어떻게 만드는가?

커스텀 출력 스타일은 frontmatter와 지시문으로 이루어진 Markdown 파일이다. 저장 위치에 따라 적용 범위가 갈린다.

저장 위치 적용 범위
~/.claude/output-styles 사용자 전체(모든 프로젝트)
.claude/output-styles 이 프로젝트
관리형 정책(managed settings) 안의 .claude/output-styles 조직 정책으로 배포

파일 이름이 곧 스타일 이름이 되며, frontmatter에 name을 넣으면 그 이름이 우선한다. frontmatter 필드는 전부 선택이다.

필드 설명
name /config 목록에 표시될 이름(기본값: 파일명)
description /config 목록에 표시될 설명
keep-coding-instructions true로 하면 클로드 코드의 기본 소프트웨어 엔지니어링 지침을 유지한 채 내 지시를 더한다(기본값 false)
force-for-plugin 플러그인 배포 전용. true면 그 플러그인이 켜져 있는 동안 사용자 선택 없이 자동 적용된다

keep-coding-instructions를 빼면(기본값 false) 클로드 코드의 내장 지침(변경 범위를 어떻게 잡는지, 주석을 어떻게 쓰는지, 작업을 어떻게 검증하는지 등)이 전부 빠지고 내가 쓴 지시만 남는다. 그래서 소프트웨어 엔지니어링 작업을 그대로 시키면서 말투나 설명만 바꾸고 싶으면 이 필드를 반드시 true로 켜야 한다. YAML이 파싱에 실패하면 필드 없이 파일명만으로 스타일이 로드된다.

터미널에서는 클로드 코드가 시작할 때 스타일 파일을 읽으므로, 세션 도중에 파일을 새로 만들거나 고쳤다면 클로드 코드를 재시작해야 반영된다.

만드는 순서는 세 단계다.

  1. 프로젝트 폴더에 .claude/output-styles/ 디렉터리를 만들고 그 안에 diagrams-first.md 같은 Markdown 파일을 하나 둔다.
  2. 파일 맨 위에 frontmatter(name·description·keep-coding-instructions)를 쓰고, 그 아래에 클로드가 따를 지시문을 평문으로 적는다.
  3. 클로드 코드를 재시작한 뒤 /output-style diagrams-first로 고른다. 이후 파일을 고치면 다시 재시작해야 반영된다.

아래는 코딩 지침을 그대로 유지하면서 "설명할 때 도식부터 보여 달라"는 요구만 더한 예시다.

---
name: Diagrams first
description: 구조를 설명할 때 텍스트 도식을 먼저 보여 준다
keep-coding-instructions: true
---

구조·흐름·의존 관계를 설명할 때는 문단보다 먼저
텍스트 도식(화살표·트리)을 보여 준다.
도식 아래에는 세 문장 이내로 요점만 적는다.

출력 스타일과 CLAUDE.md·훅·스킬은 뭐가 다른가?

넷 다 클로드의 동작을 바꾸지만 적용 범위와 강제력이 다르다.

원하는 것 쓸 것 이유
세션 전체의 어조·길이·형식, 또는 역할 자체 변경 출력 스타일 세션 전체에 적용되고 명령 하나로 전환된다
프로젝트의 관례·명령어·구조를 알려주기 CLAUDE.md 어떤 스타일을 고르든 항상 로드된다
한 종류 작업의 절차(릴리스 체크리스트 등) 스킬 호출하거나 작업이 맞을 때만 로드되어 다른 응답에 영향을 안 준다
매번 예외 없이 일어나야 하는 것(편집 후 포맷팅, 특정 명령 차단) 훅 클로드 코드가 생명주기 이벤트에서 직접 실행하므로 클로드가 따르길 기대하지 않아도 된다
특정 작업 전용의 자기 지시·모델·도구를 가진 보조 서브에이전트 별도 컨텍스트에서 돌고 요약만 돌려준다

이 표에서 가장 중요한 줄은 훅이다. 출력 스타일은 "클로드가 따르는 지시"이고 아무것도 이를 강제하지 않는다. 반드시 지켜져야 하는 규칙이라면 출력 스타일이 아니라 훅으로 만들어야 한다.

출력 스타일을 바꾸면 토큰 비용이 달라지는가?

달라진다. 스타일 지시문 자체가 입력 토큰을 늘리지만, 세션 안에서 첫 요청 이후로는 프롬프트 캐싱이 그 비용을 줄여준다. 출력 쪽은 스타일마다 방향이 다르다 — Explanatory·Learning은 설명을 더 붙이도록 설계돼 출력 토큰이 늘고, Concise는 반대로 짧게 답하도록 지시해 출력 토큰이 준다. 커스텀 스타일의 출력 토큰량은 내가 쓴 지시 내용에 달려 있다.

세션 도중 스타일을 전환하는 첫 메시지는 캐시가 갈리는 지점이라 비용이 더 든다는 점도 문서가 별도로 언급한다. 압축이 누적이 아니라 한 턴에서 비롯된다는 실측에서 다룬 것과 같은 원리로, 세션 안에서 한 번에 크게 바뀌는 입력은 그 턴의 컨텍스트 비용을 끌어올린다. 스타일을 자주 왔다 갔다 전환하기보다 세션 시작 시 한 번 고르는 편이 비용 면에서 낫다.

서브에이전트에도 출력 스타일이 적용되는가?

메인 대화와 포크(fork)에는 적용되고, 그 외 서브에이전트에는 적용되지 않는다. 포크는 부모의 전체 대화와 시스템 프롬프트를 그대로 물려받으므로 현재 세션의 출력 스타일도 함께 물려받는다. 반면 일반 서브에이전트는 자기 자신의 시스템 프롬프트로 독립적으로 돌기 때문에, 부모 세션에서 어떤 출력 스타일을 골랐든 서브에이전트의 응답 방식에는 영향을 주지 않는다. 서브에이전트가 실제로 얼마나 토큰을 쓰는지는 서브에이전트의 실제 토큰 비용에서 따로 쟀다.

자주 묻는 질문

Q. 매번 "짧게 답해줘"라고 치는 대신 쓸 수 있는 설정이 있나?
A. 있다. /output-style concise를 한 번 실행하면 그 세션의 모든 응답이 결과부터 말하고 서두·과정 설명·마무리 요약을 생략하는 방식으로 바뀐다. 다만 오류·실패한 테스트·보안 경고·파괴적 작업 확인처럼 안전에 필요한 내용은 Concise 스타일에서도 전부 그대로 나온다.

Q. 출력 스타일 내장 종류는 몇 개인가?
A. Default를 빼면 4종이다 — Proactive(바로 착수)·Concise(간결)·Explanatory(설명 추가)·Learning(직접 코딩 유도). Default는 스타일을 아예 선택하지 않은 상태로, 클로드 코드의 표준 소프트웨어 엔지니어링 지침만 적용된다.

Q. 커스텀 출력 스타일을 만들면 기존 코딩 지침이 사라지나?
A. keep-coding-instructions: true를 frontmatter에 넣지 않으면 사라진다. 기본값이 false라서, 넣지 않으면 클로드 코드의 변경 범위 산정·주석 작성·검증 방식 같은 내장 지침이 빠지고 내가 쓴 지시만 적용된다. 코딩 방식은 그대로 두고 말투나 설명만 바꾸고 싶다면 이 필드를 반드시 켜야 한다.

Q. CLAUDE.md에 말투를 적으면 출력 스타일과 같은 효과인가?
A. 아니다. CLAUDE.md는 프로젝트에 대해 클로드가 알아야 할 정보(관례·명령어·구조)를 담는 자리이고, 어떤 출력 스타일을 고르든 항상 로드된다. 응답의 어조·길이·형식처럼 세션 전체의 "반응 방식"을 바꾸는 것은 출력 스타일의 역할이다.

Q. 서브에이전트를 시켰는데 왜 내가 고른 출력 스타일대로 안 답하나?
A. 일반 서브에이전트는 부모의 시스템 프롬프트를 물려받지 않고 자기 시스템 프롬프트로 독립적으로 돌기 때문이다. 현재 대화를 그대로 복제해 띄우는 포크(fork)만 부모의 대화와 시스템 프롬프트(따라서 출력 스타일도)를 그대로 물려받는다.

이 글이 도움이 됐다면

링크 하나면 필요한 사람에게 닿습니다.

네이버 블로그

설치 없이 바로 쓰는 무료 도구

입력값은 서버로 전송되지 않고 브라우저에서만 계산합니다.

글자수 세기 공백 포함·제외 글자수, 바이트, 원고지 매수를 한 번에 3.3% 계산기 프리랜서 원천징수 실수령액과 세전 금액 역산 실업급여 계산기 구직급여일액·소정급여일수·총 수령액을 한 번에 날짜 계산기 두 날짜 사이 일수, 며칠 뒤·며칠 전 날짜와 요일 주휴수당 계산기 주휴시간·주급 합계와 주휴 포함 시급

도구 모음 전체 보기 ›

Comments

Comments (0)

Leave a Comment

← Back to List