
Claude Code에 중첩 서브에이전트 지원이 추가됐다. Anthropic의 Claude Code 리드 Boris Cherny는 이 기능이 최대 5단계 깊이까지 동작한다고 밝혔다.2
핵심은 단순히 에이전트를 더 많이 부르는 것이 아니다. Claude Code의 서브에이전트는 특정 작업을 처리하는 별도 Claude 인스턴스이며, 각자 고유한 컨텍스트 창, 시스템 프롬프트, 도구 목록, 권한, 모델 설정을 가질 수 있다.1 중첩 지원은 이 독립 작업 단위를 다시 하위 작업으로 나눌 수 있게 만든 변화다.
무엇이 달라졌나
기존 서브에이전트 구조에서도 메인 세션은 작업을 위임하고 결과 요약만 돌려받을 수 있었다. 서브에이전트가 수행한 상세 조사 과정, 탐색 기록, 중간 실패는 부모 세션의 컨텍스트에 직접 누적되지 않는다.1
이 방식은 Claude Code를 오래 쓰는 작업에서 특히 중요하다. 파일 검색, 로그 분석, 코드베이스 탐색처럼 많은 텍스트를 소비하는 일을 메인 대화에 계속 쌓으면 중요한 맥락이 쉽게 묻힌다. 서브에이전트는 이런 부담을 별도 공간으로 분리한다.
중첩 서브에이전트는 이 분리를 한 단계 더 세밀하게 만든다. 예를 들어 상위 에이전트가 전체 리팩터링 전략을 맡고, 그 아래 에이전트가 특정 모듈 조사나 테스트 실패 분석을 맡는 식으로 작업 구조를 나눌 수 있다. 즉, “큰 작업을 작은 작업으로 쪼갠다”는 원칙을 Claude Code 내부 실행 흐름에 더 직접적으로 반영할 수 있다.
중요한 것은 속도가 아니라 경계 설계다
중첩 기능을 병렬 처리 버튼처럼 이해하면 오히려 복잡도가 커질 수 있다. 각 서브에이전트는 독립 컨텍스트에서 시작하므로 필요한 배경 정보를 다시 전달받아야 한다. 작업 범위가 모호하면 여러 에이전트가 같은 파일을 중복 조사하거나, 서로 다른 결론을 내거나, 결과를 합치는 비용이 커진다.
실용적인 기준은 다음과 같다.
읽어야 할 자료가 다르다
담당할 파일이나 모듈이 다르다
산출물의 형식이 다르다
필요한 도구나 권한이 다르다
최종 결과에 앞서 독립적인 조사 요약이 필요하다
이런 조건이 있을 때 서브에이전트 분리는 효과적이다. 반대로 같은 파일을 여러 에이전트가 동시에 수정하게 하거나, 한 문장으로 설명하기 어려운 역할을 맡기면 충돌과 중복이 늘어날 가능성이 크다.
커스텀 서브에이전트는 어떻게 정의하나
Claude Code의 커스텀 서브에이전트는 .claude/agents/ 안의 마크다운 파일로 만들 수 있다. 정의 파일의 YAML frontmatter에는 name, description, tools, model 등을 지정할 수 있고, 본문은 해당 에이전트를 안내하는 시스템 프롬프트가 된다. 필수 필드는 name과 description이다.1
Claude Code에는 Explore, Plan, general-purpose 같은 내장 서브에이전트도 제공된다.1 따라서 처음부터 복잡한 에이전트 트리를 설계하기보다, 내장 에이전트와 간단한 커스텀 에이전트를 조합해 역할 경계를 확인하는 편이 안전하다.
적용할 때의 현실적인 순서
처음부터 5단계 깊이를 목표로 할 필요는 없다. 깊이 제한은 “최대치”이지 권장 구조가 아니다. 실제 작업에서는 먼저 역할을 2~3개로 나누는 편이 더 실용적이다.
예를 들면 다음과 같은 구성이 출발점이 될 수 있다.
코드베이스를 읽고 관련 파일을 찾는 탐색 에이전트
변경을 수행하는 구현 에이전트
변경 결과와 테스트 실패를 확인하는 리뷰 에이전트
중첩은 그다음에 고려하면 된다. 상위 에이전트가 하위 에이전트에게 위임할 만큼 작업이 명확하고, 각 에이전트가 무엇을 읽고 무엇을 보고할지 정해져 있을 때 깊이를 늘리는 것이 좋다.
결국 이번 변화의 의미는 Claude Code가 단순한 터미널 기반 코딩 에이전트를 넘어, 복잡한 개발 작업을 구조화해 실행하는 방향으로 진화하고 있다는 데 있다. 컨텍스트를 아끼는 핵심은 프롬프트를 무작정 길게 쓰는 것이 아니라, 어떤 일을 어떤 단위로 맡길지 설계하는 것이다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
