가이드

Claude Code 서브에이전트

서브에이전트는 고유한 시스템 프롬프트와 권한을 가진 "전담 작업자"를 Claude Code 안에 정의하는 장치입니다. 정의 파일은 프로젝트용이 `.claude/agents/`, 개인용이 `~/.claude/agents/`입니다. YAML 프런트매터에서 필수는 `name`과 `description` 둘뿐이고 나머지는 선택입니다. 위임은 자동으로도 일어나지만 확실히 쓰게 하려면 `@"code-reviewer (agent)"` 형태로 지목합니다.

한국어 · 최종 확인: 2026-09-05 · 영문 전체 버전: English

위치와 우선순위

위치적용 범위우선순위
관리 설정(managed settings)조직 전체1(최우선)
--agents CLI 플래그현재 세션2
.claude/agents/현재 프로젝트3
~/.claude/agents/본인의 모든 프로젝트4
플러그인의 agents/ 디렉터리해당 플러그인이 활성인 범위5(최하)
프로젝트용(.claude/agents/)은 버전 관리에 넣어 팀과 공유하는 것이 공식 권장입니다.

정의 파일의 형태

---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.
.claude/agents/code-reviewer.md. 프런트매터가 메타데이터, 본문이 그대로 시스템 프롬프트가 됩니다.

본문이 중요합니다. 서브에이전트는 Claude Code의 일반 시스템 프롬프트를 받지 않고, 여기에 적은 내용과 환경 정보만으로 동작합니다. "리뷰해 주세요"라고만 적힌 서브에이전트가 기대에 못 미치는 것은 모델 탓이 아니라 지시가 비어 있기 때문입니다.

주요 프런트매터 항목

  • `name`: 식별자. 소문자와 하이픈만 쓰며 콜론은 사용할 수 없습니다.
  • `description`: 어떤 상황에서 위임해야 하는지 적습니다. 자동 위임의 판단 재료가 되는 것이 이 항목입니다.
  • `tools`: 허용할 도구(Read, Glob, Grep, Bash 등). 읽기 전용으로 만들고 싶으면 여기서 좁힙니다.
  • `model`: `sonnet` / `opus` / `haiku` / `fable`, 또는 전체 모델 ID.
  • `memory`: `user` / `project` / `local`. 서브에이전트 자체의 지속 메모리를 둘 때 지정합니다.
  • `permissionMode`: `default` / `acceptEdits` / `auto` / `dontAsk` / `bypassPermissions` / `plan`.
description을 너무 길게 쓰지 마세요

공식은 모든 서브에이전트의 description을 합친 상한이 15,000 토큰이라고 명시합니다. 하나하나를 정성껏 길게 쓰면 개수가 늘었을 때 여기서 막힙니다. 판단에 필요한 한 문장으로 줄이는 것이 정답입니다.

만드는 법: v2.1.198에서 바뀐 점

예전에는 `/agents`가 대화형 마법사를 열었지만 v2.1.198부터는 열리지 않습니다. 대신 Claude에게 직접 부탁합니다 — "~/.claude/agents/ 에 가독성과 성능 개선을 제안하는 읽기 전용 code-improver 서브에이전트를 Sonnet으로 만들어 줘"처럼요. Claude가 파일을 쓰고, 파일 감시가 동작하므로 몇 초 안에 반영됩니다(새 agents/ 디렉터리에 첫 번째를 만들 때만 재시작이 필요합니다).

호출하는 세 가지 방법

# 1. 자연어(자동 위임)
Use the code-reviewer subagent to look at my recent changes

# 2. @멘션(확실하게 위임됨)
@"code-reviewer (agent)" look at the auth changes

# 3. 세션 전체 고정
claude --agent code-reviewer
설정 파일로 고정하려면 .claude/settings.json에 {"agent": "code-reviewer"}를 씁니다.

메모리 취급에 주의

메인 대화의 자동 메모리는 서브에이전트에 로드되지 않습니다(예외는 fork로, 부모 대화와 시스템 프롬프트를 상속합니다). 서브에이전트에 `memory`를 지정한 경우에도 그것은 별도 디렉터리의 독립된 메모리입니다. "메인에서 설명했는데 서브에이전트가 모른다"는 현상은 버그가 아니라 사양입니다. 필요한 전제는 description이나 본문에 적어야 합니다.

자주 묻는 질문

서브에이전트 파일은 어디에 두나요?
프로젝트용은 .claude/agents/, 개인용은 ~/.claude/agents/입니다. 프로젝트용은 버전 관리에 넣어 팀과 공유하는 것이 공식 권장입니다. 우선순위는 관리 설정 > --agents 플래그 > .claude/agents/ > ~/.claude/agents/ > 플러그인 순입니다.
프런트매터에서 필수 항목은 무엇인가요?
`name`과 `description` 둘뿐입니다. name은 소문자와 하이픈만 쓰고 콜론은 불가합니다. description에는 "어떤 상황에서 이 서브에이전트에 위임해야 하는지"를 적으며 자동 위임의 판단 재료가 됩니다. tools, model, memory, permissionMode 등은 모두 선택입니다.
/agents 명령을 실행해도 마법사가 열리지 않습니다.
사양 변경입니다. v2.1.198부터 /agents는 대화형 마법사를 열지 않습니다. 대신 Claude에게 "~/.claude/agents/ 에 읽기 전용 code-improver 서브에이전트를 만들어 줘"처럼 직접 부탁하면 Claude가 정의 파일을 씁니다. 파일 감시로 몇 초 안에 반영됩니다.
서브에이전트가 대화 내용을 이어받나요?
메인 대화의 자동 메모리는 이어받지 않습니다. 예외는 fork로, 부모 대화와 시스템 프롬프트를 상속합니다. 서브에이전트에 memory를 설정한 경우에도 별도 디렉터리의 독립된 메모리입니다. 필요한 전제는 description이나 본문에 명시하세요.

출처