Claude Code의 사용자 정의 서브에이전트는 특정 유형의 작업을 처리하기 위해 호출할 수 있는 전문화된 AI 어시스턴트입니다. 이들은 사용자 정의 시스템 프롬프트, 도구 및 별도의 컨텍스트 창을 가진 작업별 구성을 제공하여 더 효율적인 문제 해결을 가능하게 합니다.

서브에이전트란 무엇인가요?

서브에이전트는 Claude Code가 작업을 위임할 수 있는 사전 구성된 AI 개성입니다. 각 서브에이전트는:
  • 특정 목적과 전문 영역을 가집니다
  • 메인 대화와 분리된 자체 컨텍스트 창을 사용합니다
  • 사용이 허용된 특정 도구로 구성될 수 있습니다
  • 행동을 안내하는 사용자 정의 시스템 프롬프트를 포함합니다
Claude Code가 서브에이전트의 전문 영역과 일치하는 작업을 만나면, 해당 작업을 전문화된 서브에이전트에게 위임할 수 있으며, 서브에이전트는 독립적으로 작업하고 결과를 반환합니다.

주요 이점

컨텍스트 보존

각 서브에이전트는 자체 컨텍스트에서 작동하여 메인 대화의 오염을 방지하고 고수준 목표에 집중할 수 있게 합니다.

전문화된 전문성

서브에이전트는 특정 도메인에 대한 세부 지침으로 미세 조정될 수 있어 지정된 작업에서 더 높은 성공률을 달성할 수 있습니다.

재사용성

한 번 생성되면 서브에이전트는 다양한 프로젝트에서 사용할 수 있고 일관된 워크플로우를 위해 팀과 공유할 수 있습니다.

유연한 권한

각 서브에이전트는 서로 다른 도구 액세스 수준을 가질 수 있어 강력한 도구를 특정 서브에이전트 유형으로 제한할 수 있습니다.

빠른 시작

첫 번째 서브에이전트를 생성하려면:
1

서브에이전트 인터페이스 열기

다음 명령을 실행하세요:
/agents
2

'Create New Agent' 선택

프로젝트 수준 또는 사용자 수준 서브에이전트를 생성할지 선택하세요
3

서브에이전트 정의

  • 권장: 먼저 Claude로 생성한 다음 사용자 정의하여 자신만의 것으로 만드세요
  • 서브에이전트를 자세히 설명하고 언제 사용해야 하는지 명시하세요
  • 액세스 권한을 부여할 도구를 선택하세요 (또는 모든 도구를 상속받으려면 비워두세요)
  • 인터페이스는 모든 사용 가능한 도구를 보여주어 선택을 쉽게 만듭니다
  • Claude로 생성하는 경우 e를 눌러 자체 편집기에서 시스템 프롬프트를 편집할 수도 있습니다
4

저장 및 사용

이제 서브에이전트를 사용할 수 있습니다! Claude는 적절할 때 자동으로 사용하거나 명시적으로 호출할 수 있습니다:
> code-reviewer 서브에이전트를 사용하여 최근 변경사항을 확인해주세요

서브에이전트 구성

파일 위치

서브에이전트는 YAML 프론트매터가 있는 Markdown 파일로 두 가지 가능한 위치에 저장됩니다:
유형위치범위우선순위
프로젝트 서브에이전트.claude/agents/현재 프로젝트에서 사용 가능최고
사용자 서브에이전트~/.claude/agents/모든 프로젝트에서 사용 가능낮음
서브에이전트 이름이 충돌할 때 프로젝트 수준 서브에이전트가 사용자 수준 서브에이전트보다 우선합니다.

플러그인 에이전트

플러그인은 Claude Code와 원활하게 통합되는 사용자 정의 서브에이전트를 제공할 수 있습니다. 플러그인 에이전트는 사용자 정의 에이전트와 동일하게 작동하며 /agents 인터페이스에 나타납니다. 플러그인 에이전트 위치: 플러그인은 agents/ 디렉토리(또는 플러그인 매니페스트에 지정된 사용자 정의 경로)에 에이전트를 포함합니다. 플러그인 에이전트 사용:
  • 플러그인 에이전트는 사용자 정의 에이전트와 함께 /agents에 나타납니다
  • 명시적으로 호출할 수 있습니다: “security-plugin의 code-reviewer 에이전트를 사용하세요”
  • 적절할 때 Claude가 자동으로 호출할 수 있습니다
  • /agents 인터페이스를 통해 관리(보기, 검사)할 수 있습니다
플러그인 에이전트 생성에 대한 자세한 내용은 플러그인 구성 요소 참조를 참조하세요.

CLI 기반 구성

JSON 객체를 허용하는 --agents CLI 플래그를 사용하여 서브에이전트를 동적으로 정의할 수도 있습니다:
claude --agents '{
  "code-reviewer": {
    "description": "전문 코드 리뷰어. 코드 변경 후 적극적으로 사용하세요.",
    "prompt": "당신은 시니어 코드 리뷰어입니다. 코드 품질, 보안 및 모범 사례에 집중하세요.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  }
}'
우선순위: CLI 정의 서브에이전트는 프로젝트 수준 서브에이전트보다 낮은 우선순위를 가지지만 사용자 수준 서브에이전트보다는 높은 우선순위를 가집니다. 사용 사례: 이 접근 방식은 다음과 같은 경우에 유용합니다:
  • 서브에이전트 구성의 빠른 테스트
  • 저장할 필요가 없는 세션별 서브에이전트
  • 사용자 정의 서브에이전트가 필요한 자동화 스크립트
  • 문서나 스크립트에서 서브에이전트 정의 공유
JSON 형식과 모든 사용 가능한 옵션에 대한 자세한 정보는 CLI 참조 문서를 참조하세요.

파일 형식

각 서브에이전트는 다음 구조를 가진 Markdown 파일로 정의됩니다:
---
name: your-sub-agent-name
description: 이 서브에이전트가 언제 호출되어야 하는지에 대한 설명
tools: tool1, tool2, tool3  # 선택사항 - 생략하면 모든 도구를 상속받음
model: sonnet  # 선택사항 - 모델 별칭 또는 'inherit' 지정
---

서브에이전트의 시스템 프롬프트가 여기에 들어갑니다. 이는 여러 단락이 될 수 있으며
서브에이전트의 역할, 능력 및 문제 해결 접근 방식을 명확히 정의해야 합니다.

서브에이전트가 따라야 할 구체적인 지침, 모범 사례 및 제약 사항을
포함하세요.

구성 필드

필드필수설명
name소문자와 하이픈을 사용한 고유 식별자
description서브에이전트의 목적에 대한 자연어 설명
tools아니오특정 도구의 쉼표로 구분된 목록. 생략하면 메인 스레드의 모든 도구를 상속받음
model아니오이 서브에이전트에 사용할 모델. 모델 별칭(sonnet, opus, haiku) 또는 메인 대화의 모델을 사용하는 'inherit'이 될 수 있음. 생략하면 구성된 서브에이전트 모델을 기본값으로 사용

모델 선택

model 필드를 사용하면 서브에이전트가 사용할 AI 모델을 제어할 수 있습니다:
  • 모델 별칭: 사용 가능한 별칭 중 하나를 사용하세요: sonnet, opus, 또는 haiku
  • 'inherit': 메인 대화와 동일한 모델을 사용합니다 (일관성을 위해 유용)
  • 생략: 지정하지 않으면 서브에이전트에 대해 구성된 기본 모델(sonnet)을 사용합니다
'inherit'를 사용하는 것은 서브에이전트가 메인 대화의 모델 선택에 적응하도록 하여 세션 전반에 걸쳐 일관된 능력과 응답 스타일을 보장하고자 할 때 특히 유용합니다.

사용 가능한 도구

서브에이전트는 Claude Code의 모든 내부 도구에 대한 액세스 권한을 부여받을 수 있습니다. 사용 가능한 도구의 전체 목록은 도구 문서를 참조하세요.
권장: 도구 액세스를 수정하려면 /agents 명령을 사용하세요 - 연결된 MCP 서버 도구를 포함하여 모든 사용 가능한 도구를 나열하는 대화형 인터페이스를 제공하여 필요한 도구를 더 쉽게 선택할 수 있습니다.
도구 구성에는 두 가지 옵션이 있습니다:
  • tools 필드를 생략하여 메인 스레드의 모든 도구를 상속받습니다 (기본값), MCP 도구 포함
  • 개별 도구를 지정하여 더 세밀한 제어를 위해 쉼표로 구분된 목록으로 지정합니다 (수동으로 편집하거나 /agents를 통해 편집 가능)
MCP 도구: 서브에이전트는 구성된 MCP 서버의 MCP 도구에 액세스할 수 있습니다. tools 필드가 생략되면 서브에이전트는 메인 스레드에서 사용 가능한 모든 MCP 도구를 상속받습니다.

서브에이전트 관리

/agents 명령 사용 (권장)

/agents 명령은 서브에이전트 관리를 위한 포괄적인 인터페이스를 제공합니다:
/agents
이는 다음을 수행할 수 있는 대화형 메뉴를 엽니다:
  • 모든 사용 가능한 서브에이전트 보기 (내장, 사용자 및 프로젝트)
  • 안내된 설정으로 새 서브에이전트 생성
  • 도구 액세스를 포함하여 기존 사용자 정의 서브에이전트 편집
  • 사용자 정의 서브에이전트 삭제
  • 중복이 있을 때 어떤 서브에이전트가 활성화되어 있는지 확인
  • 사용 가능한 도구의 전체 목록으로 도구 권한을 쉽게 관리

직접 파일 관리

서브에이전트 파일을 직접 작업하여 서브에이전트를 관리할 수도 있습니다:
# 프로젝트 서브에이전트 생성
mkdir -p .claude/agents
echo '---
name: test-runner
description: 테스트를 실행하고 실패를 수정하기 위해 적극적으로 사용
---

당신은 테스트 자동화 전문가입니다. 코드 변경을 보면 적절한 테스트를 적극적으로 실행하세요. 테스트가 실패하면 실패를 분석하고 원래 테스트 의도를 보존하면서 수정하세요.' > .claude/agents/test-runner.md

# 사용자 서브에이전트 생성
mkdir -p ~/.claude/agents
# ... 서브에이전트 파일 생성

서브에이전트 효과적으로 사용하기

자동 위임

Claude Code는 다음을 기반으로 작업을 적극적으로 위임합니다:
  • 요청의 작업 설명
  • 서브에이전트 구성의 description 필드
  • 현재 컨텍스트 및 사용 가능한 도구
더 적극적인 서브에이전트 사용을 장려하려면 description 필드에 “적극적으로 사용” 또는 “반드시 사용해야 함”과 같은 문구를 포함하세요.

명시적 호출

명령에서 특정 서브에이전트를 언급하여 요청하세요:
> test-runner 서브에이전트를 사용하여 실패한 테스트를 수정하세요
> code-reviewer 서브에이전트가 최근 변경사항을 살펴보도록 하세요
> debugger 서브에이전트에게 이 오류를 조사하도록 요청하세요

예시 서브에이전트

코드 리뷰어

---
name: code-reviewer
description: 전문 코드 리뷰 전문가. 코드의 품질, 보안 및 유지보수성을 적극적으로 검토합니다. 코드를 작성하거나 수정한 직후에 사용하세요.
tools: Read, Grep, Glob, Bash
model: inherit
---

당신은 높은 수준의 코드 품질과 보안을 보장하는 시니어 코드 리뷰어입니다.

호출될 때:
1. git diff를 실행하여 최근 변경사항을 확인
2. 수정된 파일에 집중
3. 즉시 리뷰 시작

리뷰 체크리스트:
- 코드가 간단하고 읽기 쉬운가
- 함수와 변수가 잘 명명되었는가
- 중복된 코드가 없는가
- 적절한 오류 처리가 되어 있는가
- 노출된 비밀이나 API 키가 없는가
- 입력 검증이 구현되어 있는가
- 좋은 테스트 커버리지가 있는가
- 성능 고려사항이 다뤄졌는가

우선순위별로 정리된 피드백 제공:
- 중요한 문제 (반드시 수정)
- 경고 (수정해야 함)
- 제안 (개선 고려)

문제를 해결하는 방법의 구체적인 예시를 포함하세요.

디버거

---
name: debugger
description: 오류, 테스트 실패 및 예상치 못한 동작을 위한 디버깅 전문가. 문제가 발생할 때 적극적으로 사용하세요.
tools: Read, Edit, Bash, Grep, Glob
---

당신은 근본 원인 분석을 전문으로 하는 전문 디버거입니다.

호출될 때:
1. 오류 메시지와 스택 트레이스 캡처
2. 재현 단계 식별
3. 실패 위치 격리
4. 최소한의 수정 구현
5. 솔루션이 작동하는지 확인

디버깅 프로세스:
- 오류 메시지와 로그 분석
- 최근 코드 변경사항 확인
- 가설 형성 및 테스트
- 전략적 디버그 로깅 추가
- 변수 상태 검사

각 문제에 대해 다음을 제공:
- 근본 원인 설명
- 진단을 뒷받침하는 증거
- 구체적인 코드 수정
- 테스트 접근 방식
- 예방 권장사항

증상이 아닌 근본적인 문제를 해결하는 데 집중하세요.

데이터 사이언티스트

---
name: data-scientist
description: SQL 쿼리, BigQuery 작업 및 데이터 인사이트를 위한 데이터 분석 전문가. 데이터 분석 작업과 쿼리에 적극적으로 사용하세요.
tools: Bash, Read, Write
model: sonnet
---

당신은 SQL과 BigQuery 분석을 전문으로 하는 데이터 사이언티스트입니다.

호출될 때:
1. 데이터 분석 요구사항 이해
2. 효율적인 SQL 쿼리 작성
3. 적절할 때 BigQuery  명령줄 도구(bq) 사용
4. 결과 분석 및 요약
5. 결과를 명확하게 제시

주요 관행:
- 적절한 필터가 있는 최적화된 SQL 쿼리 작성
- 적절한 집계 및 조인 사용
- 복잡한 로직을 설명하는 주석 포함
- 가독성을 위한 결과 형식 지정
- 데이터 기반 권장사항 제공

각 분석에 대해:
- 쿼리 접근 방식 설명
- 가정사항 문서화
- 주요 발견사항 강조
- 데이터를 기반으로 한 다음 단계 제안

항상 쿼리가 효율적이고 비용 효과적인지 확인하세요.

모범 사례

  • Claude 생성 에이전트로 시작: 초기 서브에이전트를 Claude로 생성한 다음 반복하여 개인적으로 만드는 것을 강력히 권장합니다. 이 접근 방식은 최상의 결과를 제공합니다 - 특정 요구사항에 맞게 사용자 정의할 수 있는 견고한 기반을 제공합니다.
  • 집중된 서브에이전트 설계: 하나의 서브에이전트가 모든 것을 하도록 하려고 하지 말고 단일하고 명확한 책임을 가진 서브에이전트를 생성하세요. 이는 성능을 향상시키고 서브에이전트를 더 예측 가능하게 만듭니다.
  • 상세한 프롬프트 작성: 시스템 프롬프트에 구체적인 지침, 예시 및 제약사항을 포함하세요. 더 많은 안내를 제공할수록 서브에이전트가 더 잘 수행됩니다.
  • 도구 액세스 제한: 서브에이전트의 목적에 필요한 도구만 부여하세요. 이는 보안을 향상시키고 서브에이전트가 관련 작업에 집중하도록 도와줍니다.
  • 버전 관리: 팀이 혜택을 받고 협력적으로 개선할 수 있도록 프로젝트 서브에이전트를 버전 관리에 체크인하세요.

고급 사용법

서브에이전트 체이닝

복잡한 워크플로우의 경우 여러 서브에이전트를 체이닝할 수 있습니다:
> 먼저 code-analyzer 서브에이전트를 사용하여 성능 문제를 찾은 다음 optimizer 서브에이전트를 사용하여 수정하세요

동적 서브에이전트 선택

Claude Code는 컨텍스트를 기반으로 서브에이전트를 지능적으로 선택합니다. 최상의 결과를 위해 description 필드를 구체적이고 행동 지향적으로 만드세요.

성능 고려사항

  • 컨텍스트 효율성: 에이전트는 메인 컨텍스트를 보존하는 데 도움이 되어 더 긴 전체 세션을 가능하게 합니다
  • 지연시간: 서브에이전트는 호출될 때마다 깨끗한 상태로 시작하며 작업을 효과적으로 수행하는 데 필요한 컨텍스트를 수집하면서 지연시간을 추가할 수 있습니다.

관련 문서

  • 플러그인 - 플러그인을 통해 사용자 정의 에이전트로 Claude Code 확장
  • 슬래시 명령 - 다른 내장 명령에 대해 알아보기
  • 설정 - Claude Code 동작 구성
  • - 이벤트 핸들러로 워크플로우 자동화