서브에이전트란 무엇인가요?
서브에이전트는 Claude Code가 작업을 위임할 수 있는 사전 구성된 AI 개성입니다. 각 서브에이전트는:- 특정 목적과 전문 영역을 가집니다
- 메인 대화와 분리된 자체 컨텍스트 창을 사용합니다
- 사용이 허용된 특정 도구로 구성될 수 있습니다
- 행동을 안내하는 사용자 정의 시스템 프롬프트를 포함합니다
주요 이점
컨텍스트 보존
각 서브에이전트는 자체 컨텍스트에서 작동하여 메인 대화의 오염을 방지하고 고수준 목표에 집중할 수 있게 합니다.
전문화된 전문성
서브에이전트는 특정 도메인에 대한 세부 지침으로 미세 조정될 수 있어 지정된 작업에서 더 높은 성공률을 달성할 수 있습니다.
재사용성
한 번 생성되면 서브에이전트는 다양한 프로젝트에서 사용할 수 있고 일관된 워크플로우를 위해 팀과 공유할 수 있습니다.
유연한 권한
각 서브에이전트는 서로 다른 도구 액세스 수준을 가질 수 있어 강력한 도구를 특정 서브에이전트 유형으로 제한할 수 있습니다.
빠른 시작
첫 번째 서브에이전트를 생성하려면:1
서브에이전트 인터페이스 열기
다음 명령을 실행하세요:
2
'Create New Agent' 선택
프로젝트 수준 또는 사용자 수준 서브에이전트를 생성할지 선택하세요
3
서브에이전트 정의
- 권장: 먼저 Claude로 생성한 다음 사용자 정의하여 자신만의 것으로 만드세요
- 서브에이전트를 자세히 설명하고 언제 사용해야 하는지 명시하세요
- 액세스 권한을 부여할 도구를 선택하세요 (또는 모든 도구를 상속받으려면 비워두세요)
- 인터페이스는 모든 사용 가능한 도구를 보여주어 선택을 쉽게 만듭니다
- Claude로 생성하는 경우
e를 눌러 자체 편집기에서 시스템 프롬프트를 편집할 수도 있습니다
4
저장 및 사용
이제 서브에이전트를 사용할 수 있습니다! Claude는 적절할 때 자동으로 사용하거나 명시적으로 호출할 수 있습니다:
서브에이전트 구성
파일 위치
서브에이전트는 YAML 프론트매터가 있는 Markdown 파일로 두 가지 가능한 위치에 저장됩니다:| 유형 | 위치 | 범위 | 우선순위 |
|---|---|---|---|
| 프로젝트 서브에이전트 | .claude/agents/ | 현재 프로젝트에서 사용 가능 | 최고 |
| 사용자 서브에이전트 | ~/.claude/agents/ | 모든 프로젝트에서 사용 가능 | 낮음 |
플러그인 에이전트
플러그인은 Claude Code와 원활하게 통합되는 사용자 정의 서브에이전트를 제공할 수 있습니다. 플러그인 에이전트는 사용자 정의 에이전트와 동일하게 작동하며/agents 인터페이스에 나타납니다.
플러그인 에이전트 위치: 플러그인은 agents/ 디렉토리(또는 플러그인 매니페스트에 지정된 사용자 정의 경로)에 에이전트를 포함합니다.
플러그인 에이전트 사용:
- 플러그인 에이전트는 사용자 정의 에이전트와 함께
/agents에 나타납니다 - 명시적으로 호출할 수 있습니다: “security-plugin의 code-reviewer 에이전트를 사용하세요”
- 적절할 때 Claude가 자동으로 호출할 수 있습니다
/agents인터페이스를 통해 관리(보기, 검사)할 수 있습니다
CLI 기반 구성
JSON 객체를 허용하는--agents CLI 플래그를 사용하여 서브에이전트를 동적으로 정의할 수도 있습니다:
- 서브에이전트 구성의 빠른 테스트
- 저장할 필요가 없는 세션별 서브에이전트
- 사용자 정의 서브에이전트가 필요한 자동화 스크립트
- 문서나 스크립트에서 서브에이전트 정의 공유
파일 형식
각 서브에이전트는 다음 구조를 가진 Markdown 파일로 정의됩니다:구성 필드
| 필드 | 필수 | 설명 |
|---|---|---|
name | 예 | 소문자와 하이픈을 사용한 고유 식별자 |
description | 예 | 서브에이전트의 목적에 대한 자연어 설명 |
tools | 아니오 | 특정 도구의 쉼표로 구분된 목록. 생략하면 메인 스레드의 모든 도구를 상속받음 |
model | 아니오 | 이 서브에이전트에 사용할 모델. 모델 별칭(sonnet, opus, haiku) 또는 메인 대화의 모델을 사용하는 'inherit'이 될 수 있음. 생략하면 구성된 서브에이전트 모델을 기본값으로 사용 |
모델 선택
model 필드를 사용하면 서브에이전트가 사용할 AI 모델을 제어할 수 있습니다:
- 모델 별칭: 사용 가능한 별칭 중 하나를 사용하세요:
sonnet,opus, 또는haiku 'inherit': 메인 대화와 동일한 모델을 사용합니다 (일관성을 위해 유용)- 생략: 지정하지 않으면 서브에이전트에 대해 구성된 기본 모델(
sonnet)을 사용합니다
'inherit'를 사용하는 것은 서브에이전트가 메인 대화의 모델 선택에 적응하도록 하여 세션 전반에 걸쳐 일관된 능력과 응답 스타일을 보장하고자 할 때 특히 유용합니다.사용 가능한 도구
서브에이전트는 Claude Code의 모든 내부 도구에 대한 액세스 권한을 부여받을 수 있습니다. 사용 가능한 도구의 전체 목록은 도구 문서를 참조하세요.권장: 도구 액세스를 수정하려면
/agents 명령을 사용하세요 - 연결된 MCP 서버 도구를 포함하여 모든 사용 가능한 도구를 나열하는 대화형 인터페이스를 제공하여 필요한 도구를 더 쉽게 선택할 수 있습니다.tools필드를 생략하여 메인 스레드의 모든 도구를 상속받습니다 (기본값), MCP 도구 포함- 개별 도구를 지정하여 더 세밀한 제어를 위해 쉼표로 구분된 목록으로 지정합니다 (수동으로 편집하거나
/agents를 통해 편집 가능)
tools 필드가 생략되면 서브에이전트는 메인 스레드에서 사용 가능한 모든 MCP 도구를 상속받습니다.
서브에이전트 관리
/agents 명령 사용 (권장)
/agents 명령은 서브에이전트 관리를 위한 포괄적인 인터페이스를 제공합니다:
- 모든 사용 가능한 서브에이전트 보기 (내장, 사용자 및 프로젝트)
- 안내된 설정으로 새 서브에이전트 생성
- 도구 액세스를 포함하여 기존 사용자 정의 서브에이전트 편집
- 사용자 정의 서브에이전트 삭제
- 중복이 있을 때 어떤 서브에이전트가 활성화되어 있는지 확인
- 사용 가능한 도구의 전체 목록으로 도구 권한을 쉽게 관리
직접 파일 관리
서브에이전트 파일을 직접 작업하여 서브에이전트를 관리할 수도 있습니다:서브에이전트 효과적으로 사용하기
자동 위임
Claude Code는 다음을 기반으로 작업을 적극적으로 위임합니다:- 요청의 작업 설명
- 서브에이전트 구성의
description필드 - 현재 컨텍스트 및 사용 가능한 도구
더 적극적인 서브에이전트 사용을 장려하려면
description 필드에 “적극적으로 사용” 또는 “반드시 사용해야 함”과 같은 문구를 포함하세요.명시적 호출
명령에서 특정 서브에이전트를 언급하여 요청하세요:예시 서브에이전트
코드 리뷰어
디버거
데이터 사이언티스트
모범 사례
- Claude 생성 에이전트로 시작: 초기 서브에이전트를 Claude로 생성한 다음 반복하여 개인적으로 만드는 것을 강력히 권장합니다. 이 접근 방식은 최상의 결과를 제공합니다 - 특정 요구사항에 맞게 사용자 정의할 수 있는 견고한 기반을 제공합니다.
- 집중된 서브에이전트 설계: 하나의 서브에이전트가 모든 것을 하도록 하려고 하지 말고 단일하고 명확한 책임을 가진 서브에이전트를 생성하세요. 이는 성능을 향상시키고 서브에이전트를 더 예측 가능하게 만듭니다.
- 상세한 프롬프트 작성: 시스템 프롬프트에 구체적인 지침, 예시 및 제약사항을 포함하세요. 더 많은 안내를 제공할수록 서브에이전트가 더 잘 수행됩니다.
- 도구 액세스 제한: 서브에이전트의 목적에 필요한 도구만 부여하세요. 이는 보안을 향상시키고 서브에이전트가 관련 작업에 집중하도록 도와줍니다.
- 버전 관리: 팀이 혜택을 받고 협력적으로 개선할 수 있도록 프로젝트 서브에이전트를 버전 관리에 체크인하세요.
고급 사용법
서브에이전트 체이닝
복잡한 워크플로우의 경우 여러 서브에이전트를 체이닝할 수 있습니다:동적 서브에이전트 선택
Claude Code는 컨텍스트를 기반으로 서브에이전트를 지능적으로 선택합니다. 최상의 결과를 위해description 필드를 구체적이고 행동 지향적으로 만드세요.
성능 고려사항
- 컨텍스트 효율성: 에이전트는 메인 컨텍스트를 보존하는 데 도움이 되어 더 긴 전체 세션을 가능하게 합니다
- 지연시간: 서브에이전트는 호출될 때마다 깨끗한 상태로 시작하며 작업을 효과적으로 수행하는 데 필요한 컨텍스트를 수집하면서 지연시간을 추가할 수 있습니다.