서브에이전트
Claude는 작업을 세분화하고 구성 작업을 병렬로 실행하는 서브에이전트에게 작업을 위임할 수 있어, 컨텍스트 관리를 개선할 수 있습니다. 각 서브에이전트는 자체적으로 격리된 컨텍스트 윈도우에서 작동합니다.
한국어 대본
- 00:00Subagents는 Claude Code가 작업을 위임할 수 있는 특화된 어시스턴트입니다.
- 00:07각 Subagents는 사용자 정의 시스템 프롬프트와 함께 자체 대화 컨텍스트 창에서 실행되고
- 00:15정의한 작업을 마치면 주 스레드에 요약을 반환하며, 모든
- 00:21중간 작업은 격리된 상태로 유지됩니다. Subagents의 주요 장점 중 하나는
- 00:26컨텍스트 창 사용량을 관리하는 데 도움을 준다는 것입니다. Claude Code와 대화하면
- 00:33주 컨텍스트 창에 컨텍스트가 추가됩니다. 모든 도구 호출과 그 결과는
- 00:38이 주 컨텍스트 창에 저장됩니다. 따라서 Claude가 Subagents를 사용하면 별도의 창이
- 00:43열립니다. Subagents는 두 가지 입력을 받습니다. 하나는
- 00:48구성 파일의 사용자 정의 시스템 프롬프트이고, 다른 하나는 부모 또는
- 00:52부모 에이전트가 요청에 따라 작성한 작업 설명입니다.
- 00:56그러면 Subagents가 자율적으로 작업합니다.
- 00:58파일을 읽거나, 파일을 편집하거나, 도구를 사용할 때
- 01:02그 어떤 내용도 주 대화에 나타나지 않습니다.
- 01:04요약만 반환됩니다.
- 01:07Subagents의 전체 대화는
- 01:08완전히 폐기됩니다.
- 01:13결제 시스템을 조사하는 작업을 생각해 보세요.
- 01:16낯선 코드베이스에서 그 시스템이 어떻게 작동하는지 알아보는 작업입니다.
- 01:18Claude Code를 사용해
- 01:20환불을 처리하는 서비스를 알아내려는 상황일 수 있습니다.
- 01:24Subagents가 없다면
- 01:26Claude는 파일 15개를 읽고 여러 검색을 실행하며
- 01:29여러 함수 호출을 따라가야 할 수 있습니다.
- 01:32이 모든 컨텍스트가 컨텍스트 창을 가득 채우지만
- 01:35필요한 것이 단 하나의 사실뿐이라면
- 01:38환불을 처리하는 서비스가 무엇인지 말입니다.
- 01:41Subagents를 사용하면 여정 없이 답을 얻습니다.
- 01:44Subagents가 탐색하고 답을 찾아
- 01:47집중된 요약을 반환하므로
- 01:49주 컨텍스트를 깔끔하게 유지할 수 있습니다.
- 01:52하지만 주 창에서는 Subagents가 결론에 도달한 방식과
- 01:56그 과정에서 무엇을 발견했는지 확인할 수 없습니다.
- 02:01Claude Code에는 바로 사용할 수 있는 기본 제공 Subagents가 여러 개 있습니다.
- 02:05예를 들어 General Purpose Subagents는
- 02:07탐색과 실행이 모두 필요한 여러 단계 작업에 사용됩니다.
- 02:11Explore Subagents는 코드베이스를 빠르게 검색할 때 사용됩니다.
- 02:15plan Subagents는 계획 모드에서 코드베이스를 조사하고 분석한 뒤
- 02:21계획을 제시할 때 사용됩니다. 사용자 정의 시스템 프롬프트와
- 02:27도구 접근 권한을 갖춘 Subagents도 직접 만들 수 있습니다. Subagents를 사용하면 Claude Code가 작업을 집중된 단위로 나누고, 주 컨텍스트 창을
- 02:34깔끔하게 유지하며, 필요한 내용만 가져올 수 있습니다. 기본 제공 Subagents를 사용하든 직접
- 02:39만들든, 더 긴 Claude Code 세션을 최대한 활용하는 실용적인 방법입니다.
- 02:45이제
작동 방식
Claude Code에서 컨텍스트를 관리하는 것은 중요합니다. 컨텍스트 윈도우의 많은 부분이 코드베이스를 탐색하거나 연구를 위해 웹 검색을 실행하는 도구 호출과 같은 작업에 소비됩니다. Claude가 그 탐색 과정에서 발견한 내용이 항상 개발 중인 주요 기능과 관련이 있는 것은 아닙니다.
바로 이 부분에서 서브에이전트가 등장합니다. Claude는 "이 코드베이스를 탐색해 줘"와 같은 작업을 처리하기 위해 서브에이전트를 생성합니다. 서브에이전트는 자체 컨텍스트 윈도우를 가지고 병렬로 실행되며, 모든 탐색 작업을 수행한 후 완료되면 발견한 내용을 요약하여 그 요약을 Claude에게 반환합니다.
결과적으로, 원하는 답을 얻으면서도 그 답에 도달하기까지의 전체 과정이 주요 컨텍스트를 어지럽히지 않게 됩니다.
나만의 서브에이전트 만들기
서브에이전트는 YAML 프런트매터가 포함된 Markdown 파일로 정의됩니다. 시작하는 가장 쉬운 방법은 Claude가 대신 생성하도록 하는 것입니다. 다음을 실행하세요:
/agents그런 다음 "Create new agent"를 선택하세요. 에이전트의 범위 선택, 목적 정의, 접근할 수 있는 도구 선택, 심지어 색상 선택까지 포함된 단계를 거치게 됩니다.
Claude는 서브에이전트를 위한 이름, 설명, 프롬프트를 생성합니다. 이는 또한 사용자가 제공한 프롬프트를 기반으로 Claude가 언제 서브에이전트를 호출해야 하는지도 알려줍니다.
추가 커스터마이징
서브에이전트는 더 세부적으로 커스터마이징할 수 있습니다. 주요 내용은 다음과 같습니다:
- **지속적인 메모리(Persistent memory)**를 사용하면 서브에이전트가 대화 간에 메모리를 유지할 수 있습니다. 동일한 프로젝트에서 지속적으로 사용하는 경우 매우 유용합니다.
skills키를 추가하고 이름으로 스킬을 나열하여 서브에이전트에 **스킬을 미리 로드(Preload skills)**할 수 있습니다. 주요 대화에서의 스킬과 달리, 여기서는 전체 스킬이 컨텍스트에 로드된다는 점에 유의하세요.
요약
컨텍스트 윈도우를 깨끗하게 유지하는 것은 Claude Code로 생산성을 유지하는 가장 좋은 방법 중 하나입니다. 서브에이전트를 사용하면 백그라운드에서 에이전트를 실행하여 무거운 작업을 처리하고 주요 컨텍스트 윈도우에는 답변만 반환할 수 있습니다.
더 깊이 알아보고 싶으신가요? 전용 코스를 확인해 보세요: 서브에이전트 소개(opens in new tab)