Skip to content

03. 슬래시 명령어 & 모델 설정

개요

Claude Code에서 /를 입력하면 슬래시 명령어 목록이 나타난다. Tab 키로 자동완성이 가능하며, 이 명령어들을 통해 세션 관리, 모델 변경, 출력 스타일 조정 등 Claude Code의 다양한 기능을 빠르게 제어할 수 있다.

슬래시 명령어는 대화 중 언제든 사용할 수 있고, 프롬프트를 작성하는 것보다 훨씬 빠르고 정확하게 Claude Code의 동작을 바꿀 수 있다.

사용자 입력: /
→ 자동완성 목록 표시
→ Tab으로 선택
→ 명령어 실행

1. 슬래시 명령어 전체 구조

아래 마인드맵은 슬래시 명령어를 기능 카테고리별로 분류한 것이다.


2. 명령어 카테고리별 상세 설명

2.1 프로젝트 관리

명령어설명사용 시점
/init프로젝트 초기화. CLAUDE.md 파일을 생성하고 프로젝트 구조를 분석한다새 프로젝트에서 Claude Code를 처음 사용할 때
/status현재 설정 상태를 한눈에 확인. 사용 중인 모델, 권한 모드, 컨텍스트 사용량 등을 보여준다현재 환경이 어떻게 설정되어 있는지 확인하고 싶을 때

/init 사용 예시:

> /init

Claude가 프로젝트 구조를 분석하고 CLAUDE.md를 생성합니다.
- 사용 언어, 프레임워크 감지
- 빌드/테스트 명령어 파악
- 코딩 컨벤션 추론

2.2 세션 관리

명령어설명사용 시점
/clear대화 기록을 완전히 초기화한다. 컨텍스트 윈도우가 리셋된다완전히 새로운 주제로 전환할 때, 잘못된 맥락이 누적되었을 때
/compact기존 대화를 요약 압축한다. 핵심 정보는 유지하면서 토큰을 절약한다대화가 길어져 컨텍스트가 부족해질 때 (가장 자주 사용하는 명령어 중 하나)
/context현재 컨텍스트 윈도우 사용량을 보여준다토큰 사용량을 확인하고 /compact 필요 여부를 판단할 때

/compact/clear의 차이:

/compact: 대화 내용을 "요약"해서 유지
  - 이전 맥락의 핵심 정보가 남아있음
  - 진행 중인 작업을 이어갈 수 있음
  - 토큰을 절약하면서 작업 연속성 유지

/clear: 대화 내용을 완전히 "삭제"
  - 모든 맥락이 사라짐
  - 완전히 새로운 시작
  - 잘못된 맥락이 쌓였을 때 유용

실전 팁: /compact에 커스텀 요약 지시를 추가할 수 있다. 예를 들어 /compact 현재 auth 모듈 리팩토링 작업 중이며 3개 파일 수정 완료처럼 입력하면, 해당 내용이 요약에 반영된다.

2.3 모드 제어

명령어설명사용 시점
/permission권한 모드를 변경한다 (Plan, Auto Accept 등)작업 성격에 따라 자율성 수준을 조절할 때
/model사용할 AI 모델을 변경한다Opus/Sonnet/Haiku 사이를 전환할 때
/output-style출력 스타일을 변경한다코드만 받고 싶을 때 vs 설명이 필요할 때

2.4 IDE 통합

명령어설명사용 시점
/ide코드 편집기와 연결한다 (VS Code, JetBrains 등)터미널과 IDE를 연동해서 사용하고 싶을 때

2.5 기타

명령어설명사용 시점
/exitClaude Code를 종료한다작업을 마칠 때 (Ctrl+C 두 번으로도 가능)
/resume이전 대화를 복원한다실수로 터미널을 닫았거나 이전 작업을 이어가고 싶을 때
/mcpMCP(Model Context Protocol) 서버를 관리한다외부 도구 연동 상태를 확인하거나 재시작할 때
/agent서브에이전트를 실행한다독립적인 하위 작업을 별도 에이전트에 위임할 때
/bashs백그라운드로 실행 중인 프로세스를 관리한다장시간 실행되는 명령어(빌드, 테스트 등)를 확인할 때

3. 모델 종류와 특징

Claude Code에서 사용할 수 있는 모델은 크게 세 가지다. 각 모델은 능력과 비용(토큰 소모량)이 다르므로, 작업 성격에 맞게 선택해야 한다.

3.1 Opus - 시니어 개발자

특징:

  • Claude 모델 중 가장 높은 지능 수준
  • Sonnet 대비 약 4~5배의 토큰을 소모한다
  • 복잡한 아키텍처 설계, 미묘한 버그 추적, 대규모 리팩토링에서 진가를 발휘한다

적합한 작업:

  • 시스템 아키텍처 설계 및 의사결정
  • 재현하기 어려운 버그 분석
  • 여러 파일에 걸친 대규모 리팩토링 계획
  • 복잡한 알고리즘 설계
  • 코드 리뷰에서 미묘한 논리 오류 발견

부적합한 작업:

  • 단순 파일 수정
  • 변수명 변경, 오타 수정
  • 일상적인 코딩 작업 (비용 낭비)

3.2 Sonnet - 중급 개발자

특징:

  • 능력과 비용의 균형이 가장 잘 맞는 모델
  • 대부분의 개발 작업을 무난하게 처리한다
  • Claude Code의 기본(default) 모델이다

적합한 작업:

  • 일반적인 기능 구현
  • 파일 수정, 코드 추가
  • 테스트 작성
  • 문서 작성
  • 일상적인 코드 리뷰

3.3 Haiku - 주니어 개발자

특징:

  • 가장 저렴하고 응답 속도가 빠르다
  • 단순하고 명확한 작업에 적합하다
  • 복잡한 추론이 필요한 작업에는 부족할 수 있다

적합한 작업:

  • 간단한 질문에 대한 빠른 답변
  • 파일 내용 검색 및 확인
  • 학습 목적의 가벼운 대화
  • 단순 포매팅, 변환 작업

4. 모델 별칭 (Model Alias)

모델을 단순히 하나만 선택하는 것 외에, 상황에 따라 자동으로 모델을 전환하는 별칭(alias) 시스템이 있다.

4.1 opus-plan (가장 추천하는 설정)

opus-plan
├── Plan 모드(계획 수립 단계): Opus 사용
└── 실행 모드(코드 작성 단계): Sonnet 자동 전환

동작 원리:

  1. Claude가 작업을 "계획"할 때 (어떤 파일을 수정할지, 어떤 순서로 작업할지 결정) -> Opus가 담당
  2. 실제 코드를 "작성"할 때 (파일 편집, 명령어 실행) -> Sonnet이 담당

이렇게 하면 계획의 품질은 Opus 수준으로 유지하면서, 실행 단계에서는 Sonnet의 효율적인 토큰 소모로 비용을 절약할 수 있다.

설정 방법:

# 대화 중 즉시 변경
> /model opus-plan

# settings.json에서 기본값으로 설정
{
  "model": "opus-plan"
}

4.2 sonnet[1m]

sonnet[1m]
└── Sonnet + 100만 토큰 컨텍스트 윈도우 (베타)

일반 Sonnet보다 훨씬 넓은 컨텍스트 윈도우(100만 토큰)를 사용한다. 대규모 코드베이스를 한 번에 분석해야 할 때 유용하다. 베타 기능이므로 안정성이 다소 떨어질 수 있다.

4.3 별칭 설정 방법 요약

방법명령어/설정적용 범위
대화 중 변경/model opus-plan현재 세션만
settings.json"model": "opus-plan"영구 적용

5. Effort Level (Opus 전용)

Opus 모델을 사용할 때, Effort Level을 조절하여 분석의 깊이를 제어할 수 있다. 같은 Opus 모델이라도 Effort Level에 따라 응답 품질과 토큰 소모량이 달라진다.

조작 방법:

  • /model로 모델 선택 화면에 진입한 후
  • 좌우 방향키로 Effort Level을 조절한다
Effort Level토큰 소모응답 속도분석 깊이
High많음느림매우 깊음 - 여러 접근법 비교, 예외 상황 검토
Medium보통보통적절함 - 표준적인 분석 수준
Low적음빠름얕음 - 최소한의 분석으로 빠르게

실전 팁: Opus를 쓸 때 모든 작업에 High를 사용하면 토큰 낭비가 심하다. 계획 단계에서는 High, 구현 단계에서는 Medium, 사소한 수정에는 Low로 유연하게 조절하자.


6. 플랜별 모델 전략

Claude Code는 구독 플랜에 따라 사용 가능한 모델과 사용량 한도가 다르다. 플랜에 맞는 모델 전략을 세우는 것이 매우 중요하다.

플랜별 상세 비교

항목Pro ($20)Max5 ($100)Max20 ($200)
Sonnet 사용량제한적자유롭게자유롭게
Opus 사용량극히 제한적하루 15~35시간자유롭게
추천 기본 모델Sonnetopus-planopus-plan
Opus 사용 전략정말 필요한 경우에만계획/복잡한 문제에자유롭게 (하지만 opus-plan이 효율적)

왜 Opus만 쓰면 안 되는가?

  1. 사용량 제한: Opus는 Sonnet 대비 4~5배 토큰을 소모한다. 같은 사용량 한도에서 Opus로만 작업하면 훨씬 빨리 한도에 도달한다.
  2. 작업 불가: 사용량 한도에 도달하면 해당 기간(보통 몇 시간) 동안 Claude Code를 아예 사용할 수 없다.
  3. 비효율성: 변수명 변경이나 파일 포매팅에 Opus를 쓰는 것은 시니어 개발자에게 복사-붙여넣기를 시키는 것과 같다.

핵심 전략: Sonnet을 일상적인 메인 모델로, Opus는 계획 수립(opus-plan)이나 정말 어려운 문제에만 투입한다. 이것이 장기적으로 가장 효율적인 전략이다.


7. 출력 스타일 (Output Style)

/output-style 명령어로 Claude Code의 응답 형식을 바꿀 수 있다. 같은 질문이라도 출력 스타일에 따라 응답의 구성과 상세도가 완전히 달라진다.

7.1 기본 제공 스타일

스타일설명적합한 상황
Default간결하고 효율적인 응답. 불필요한 설명 없이 바로 코드를 작성한다일상적인 소프트웨어 개발 (가장 범용적)
Explanatory코드와 함께 교육적 인사이트를 제공한다. "왜 이렇게 했는지" 설명이 포함된다코드 리뷰, 새로운 기술 학습, 팀원 교육
Learning핵심 부분을 직접 구현하도록 유도한다. 완성 코드 대신 마커(// TODO: 여기를 구현하세요)를 남긴다학습 목적, 주니어 개발자 멘토링

7.2 동일 요청에 대한 스타일별 응답 차이

요청: "Express.js에 인증 미들웨어를 추가해줘"

Default 스타일 응답:

javascript
// auth.middleware.js
const jwt = require('jsonwebtoken');

module.exports = (req, res, next) => {
  const token = req.headers.authorization?.split(' ')[1];
  if (!token) return res.status(401).json({ error: 'No token' });
  try {
    req.user = jwt.verify(token, process.env.JWT_SECRET);
    next();
  } catch (e) {
    res.status(401).json({ error: 'Invalid token' });
  }
};

Explanatory 스타일 응답:

javascript
// auth.middleware.js
// JWT 인증 미들웨어
// Bearer 토큰 패턴을 사용하며, Authorization 헤더에서 토큰을 추출합니다.
// 검증 실패 시 401 Unauthorized를 반환합니다.
const jwt = require('jsonwebtoken');

module.exports = (req, res, next) => {
  // Bearer <token> 형식에서 실제 토큰만 추출
  const token = req.headers.authorization?.split(' ')[1];
  // ... (코드 + 각 단계별 설명)
};
// 이 미들웨어를 라우트에 적용하려면:
// app.get('/protected', authMiddleware, handler);

Learning 스타일 응답:

javascript
// auth.middleware.js
const jwt = require('jsonwebtoken');

module.exports = (req, res, next) => {
  // TODO: Authorization 헤더에서 Bearer 토큰을 추출하세요
  // 힌트: req.headers.authorization을 확인하고, 'Bearer ' 접두사를 제거합니다

  // TODO: 토큰이 없는 경우 401 응답을 반환하세요

  // TODO: jwt.verify()를 사용하여 토큰을 검증하세요
  // 성공 시 req.user에 디코딩된 정보를 저장하고 next()를 호출합니다
  // 실패 시 401 응답을 반환합니다
};

7.3 커스텀 출력 스타일

기본 제공 스타일 외에 자신만의 출력 스타일을 만들 수 있다.

커스텀 스타일 생성 방법:

  1. 프로젝트 루트에 .claude/output-styles/ 디렉토리를 만든다
  2. 마크다운 파일(.md)로 스타일 규칙을 작성한다
  3. /output-style에서 해당 스타일을 선택한다

예시: .claude/output-styles/team-review.md

markdown
# Team Review Style

모든 코드 변경에 대해 다음 형식으로 응답하세요:

## 변경 요약
- 무엇을 왜 변경했는지 1~2줄로 설명

## 변경된 파일
- 파일별 변경 내용 요약

## 주의 사항
- 이 변경으로 인해 영향받을 수 있는 부분

## 테스트 체크리스트
- [ ] 변경 사항에 대한 테스트 항목

7.4 keepCodingInstruction 옵션

커스텀 스타일을 만들 때 반드시 알아야 할 옵션이 있다.

json
{
  "outputStyle": {
    "name": "my-custom-style",
    "keepCodingInstruction": true
  }
}
옵션값동작
keepCodingInstruction: true커스텀 스타일 규칙 + Claude Code의 기본 코딩 지침을 모두 적용한다
keepCodingInstruction: false커스텀 스타일 규칙 적용한다 (기본 코딩 지침을 무시)

중요: 코딩 작업을 위한 커스텀 스타일을 만들 때는 반드시 keepCodingInstruction: true로 설정해야 한다. false로 하면 Claude Code의 기본 코딩 능력(파일 편집 방식, 도구 사용 패턴 등)이 약화될 수 있다. 코딩과 무관한 순수 텍스트 생성 스타일에만 false를 사용하자.


8. 실전 활용 가이드: 명령어 조합 패턴

패턴 1: 새 프로젝트 시작

/init                          # 프로젝트 초기화
/model opus-plan               # 최적 모델 설정
/output-style default          # 간결한 출력

패턴 2: 긴 작업 중 컨텍스트 관리

/context                       # 사용량 확인 → 80% 이상이면
/compact 현재 진행 상황 요약    # 맥락 유지하며 압축

패턴 3: 복잡한 설계 작업

/model opus                    # Opus로 전환
(아키텍처 설계 대화)
/model sonnet                  # 구현 단계에서 Sonnet으로 복귀
(실제 코드 작성)

패턴 4: 학습 모드

/model haiku                   # 빠르고 저렴한 모델
/output-style learning         # 직접 구현 유도

9. 요약 정리

가장 중요한 세 가지

  1. /model opus-plan을 기본으로 설정하자. 계획은 Opus가, 실행은 Sonnet이 담당하는 가장 효율적인 조합이다.

  2. /compact를 자주 사용하자. 대화가 길어지면 컨텍스트 윈도우가 부족해지고 성능이 떨어진다. 주기적으로 압축하면 토큰도 절약되고 응답 품질도 유지된다.

  3. 플랜에 맞는 전략을 세우자. Opus만 무작정 쓰다가 사용량 제한에 걸리면 가장 필요한 순간에 Claude Code를 쓸 수 없게 된다. Sonnet을 메인으로, Opus는 선별적으로 사용하는 습관을 들이자.

슬래시 명령어 빠른 참조

명령어한줄 요약사용 빈도
/model모델 변경높음
/compact컨텍스트 압축높음
/clear대화 초기화중간
/context사용량 확인중간
/output-style출력 형식 변경낮음
/init프로젝트 초기화프로젝트당 1회
/status상태 확인낮음
/resume이전 대화 복원필요시
/permission권한 모드 변경낮음
/mcpMCP 서버 관리낮음
/agent서브에이전트 실행낮음
/bashs백그라운드 프로세스낮음
/ideIDE 연결설정시 1회
/exit종료세션 종료시