Claude Code 서브에이전트 활용 가이드 - 언제, 왜 사용해야 할까?

서브에이전트란 무엇인가

Claude Code에서 서브에이전트는 메인 에이전트가 특정 작업을 위임하기 위해 생성하는 독립된 에이전트 인스턴스입니다. 메인 에이전트와 별도의 컨텍스트 윈도우를 가지며, 작업을 마치면 요약된 결과만 메인 에이전트에게 돌려줍니다.

쉽게 비유하면, 여러분이 팀 리드이고 서브에이전트는 특정 업무를 맡긴 팀원입니다. 팀원이 조사를 마치고 핵심 내용만 보고하면, 여러분은 그 보고를 바탕으로 의사결정을 내리는 구조입니다.

서브에이전트 없이 작업하면 어떻게 될까

다음과 같은 요청을 생각해봅시다.

소스코드에서 퍼포먼스를 저해하는 로직을 찾고 이 부분을 개선해주세요.

이 경우 메인 에이전트가 모든 작업을 순차적으로 처리합니다.

[메인 에이전트의 컨텍스트 윈도우] 1. 파일 A 읽기 → 컨텍스트에 파일 A 내용 적재 2. 파일 B 읽기 → 컨텍스트에 파일 B 내용 적재 3. 파일 C 읽기 → 컨텍스트에 파일 C 내용 적재 ... (수십 개 파일 반복) 4. 분석 결과 도출 5. 코드 수정

파일을 읽을 때마다 그 내용이 메인 에이전트의 컨텍스트 윈도우에 누적됩니다. 프로젝트 규모가 작다면 문제없지만, 파일이 많아지면 컨텍스트 윈도우가 빠르게 차오릅니다. 컨텍스트가 가득 차면 이전 대화 내용이 압축되거나 유실되어 작업 품질이 떨어질 수 있습니다.

서브에이전트를 활용하면 어떻게 달라지는가

같은 작업을 서브에이전트에게 위임하면 구조가 달라집니다.

소스코드에서 퍼포먼스 분석 서브에이전트를 실행하여 성능을 저해하는 로직을 찾고 퍼포먼스 개선 서브에이전트를 실행하여 이 부분을 개선해주세요.

이 경우 작업 흐름은 다음과 같습니다.

[메인 에이전트의 컨텍스트 윈도우] (깔끔하게 유지) 1. 분석 서브에이전트 생성 → 위임 ├─ [서브에이전트 A의 컨텍스트] 파일 수십 개 읽기 + 분석 └─ 결과 요약: "ComponentX에서 불필요한 리렌더링 발생, utils.ts의 깊은 복사 로직이 O(n²)" 2. 요약 결과를 바탕으로 개선 서브에이전트 생성 → 위임 ├─ [서브에이전트 B의 컨텍스트] 해당 파일만 읽기 + 수정 └─ 결과: "React.memo 적용, 깊은 복사를 구조적 공유로 변경" 3. 메인 에이전트가 최종 결과를 사용자에게 전달

핵심 차이점은 메인 에이전트의 컨텍스트에는 요약된 결과만 남는다는 것입니다.

서브에이전트의 두 가지 핵심 이점

1. 컨텍스트 윈도우 보호

LLM의 컨텍스트 윈도우는 유한한 자원입니다. 서브에이전트는 독립된 컨텍스트에서 작업하므로, 대량의 파일을 탐색하더라도 메인 대화의 컨텍스트를 소모하지 않습니다.

서브에이전트 미사용서브에이전트 사용
파일 탐색 내용메인 컨텍스트에 전부 누적서브에이전트 컨텍스트에만 존재
메인 에이전트가 받는 정보원본 전체요약된 결과
후속 작업 가용 컨텍스트줄어듦충분히 남아있음

이는 특히 분석 후 수정까지 이어지는 다단계 작업에서 중요합니다. 분석 단계에서 컨텍스트를 다 써버리면 정작 수정 단계에서 품질이 떨어지기 때문입니다.

2. 병렬 처리

서로 독립적인 작업이라면 여러 서브에이전트를 동시에 실행할 수 있습니다.

[메인 에이전트] ├─ [서브에이전트 A] 컴포넌트 렌더링 성능 분석 (병렬) ├─ [서브에이전트 B] 번들 사이즈 분석 (병렬) └─ [서브에이전트 C] API 호출 패턴 분석 (병렬) ↓ (모든 결과 수집 후) 최종 종합 보고 + 개선 작업

순차적으로 하나씩 처리하는 것보다 시간을 크게 절약할 수 있습니다.

언제 서브에이전트를 사용해야 할까

모든 작업에 서브에이전트가 필요한 것은 아닙니다. 오히려 작은 작업에는 서브에이전트를 생성하는 오버헤드가 더 클 수 있습니다.

서브에이전트가 효과적인 경우

  • 대규모 코드베이스 탐색: 수십~수백 개 파일을 읽어야 하는 분석 작업
  • 독립적인 여러 작업의 동시 수행: 서로 의존성이 없는 분석을 병렬 실행
  • 분석 → 실행의 다단계 파이프라인: 탐색 결과를 요약한 뒤, 그 요약을 기반으로 후속 작업 수행
  • 다양한 관점의 코드 리뷰: 보안 검토, 성능 검토, 코드 스타일 검토를 각각 다른 에이전트에게 위임

서브에이전트가 불필요한 경우

  • 소규모 프로젝트: 파일 수가 적어 컨텍스트 부담이 없는 경우
  • 단일 파일 수정: 특정 파일 하나를 고치는 간단한 작업
  • 순차 의존성이 강한 작업: 이전 단계의 결과가 다음 단계에 반드시 필요해서 병렬화할 수 없는 경우

실제로 서브에이전트를 호출하는 방법

Claude Code에서 서브에이전트를 활용하려면, 프롬프트에 서브에이전트 사용을 명시적으로 요청하면 됩니다.

방법 1: 프롬프트에 직접 요청

서브에이전트를 사용해서 이 프로젝트의 보안 취약점을 분석해주세요.

방법 2: 병렬 실행을 명시적으로 요청

다음 두 작업을 서브에이전트로 병렬 실행해주세요: 1. src/ 디렉토리의 타입 안정성 분석 2. API 호출부의 에러 핸들링 분석

방법 3: 분석과 실행을 단계별로 분리

1단계: 서브에이전트로 코드 품질 분석을 수행하고 2단계: 분석 결과를 기반으로 개선 서브에이전트를 실행해주세요.

정리

서브에이전트는 Claude Code를 더 효과적으로 활용하기 위한 도구입니다. 핵심을 한 문장으로 정리하면 다음과 같습니다.

"작업의 규모가 커질수록, 그리고 독립적인 작업이 많을수록 서브에이전트의 가치가 높아진다."

소규모 프로젝트에서 간단한 수정 작업을 할 때는 굳이 서브에이전트를 사용할 필요가 없습니다. 하지만 대규모 코드베이스를 분석하거나, 여러 관점에서 동시에 검토가 필요하거나, 분석과 실행을 깔끔하게 분리하고 싶을 때 서브에이전트는 강력한 선택지가 됩니다.

다음에 Claude Code로 복잡한 작업을 요청할 때, "이 작업을 서브에이전트에게 맡기면 더 나을까?"라고 한 번 생각해보세요. 그 판단 하나가 작업의 품질과 효율을 크게 바꿀 수 있습니다.