서브에이전트와 멀티 에이전트: AI 여러 명에게 일 나누기
AI 한 명이 모든 일을 떠안지 않고 조수 AI에게 곁일을 맡기는 방법과, 나누면 오히려 손해인 경우를 설명합니다.
한국어English

기준: Claude Code 공식 문서, Anthropic 엔지니어링 글(2024년, 2025년), OpenAI Agents SDK 문서. 2026년 9월에 확인했습니다.
서브에이전트는 메인 AI가 곁일(큰일에 딸린 작은 일)을 맡기는 "조수 AI"입니다. 조수는 자기 책상(자기만의 작업 기억)에서 자료를 뒤지고 일을 한 뒤, 메인 AI에게는 요약 보고서 한 장만 돌려줍니다. 이런 조수를 여러 명 두고 일을 나누어 맡기는 구조를 멀티 에이전트라고 부릅니다. 이 글에서는 서브에이전트가 무엇인지, 왜 쓰는지, 어떤 방식으로 팀을 짜는지, 언제 오히려 손해인지, 그리고 Claude Code에서 직접 만드는 방법까지 차례로 설명합니다.
"에이전트"라는 말이 처음이라면 AI와 AI 에이전트는 어떻게 다를까를, Claude Code가 처음이라면 Claude Code 입문을 먼저 읽으면 이해가 빠릅니다.
한 줄 비교: 혼자 일하는 AI와 조수를 둔 AI
| 구분 | 에이전트 하나 | 서브에이전트를 쓰는 에이전트 |
|---|---|---|
| 일하는 방식 | 한 명이 조사, 작업, 확인을 모두 합니다 | 메인이 일을 나누어 조수에게 맡기고 결과를 모읍니다 |
| 작업 기억 | 모든 중간 자료가 한 대화에 쌓입니다 | 조수의 중간 자료는 조수 쪽에 남고 요약만 돌아옵니다 |
| 속도 | 일을 차례대로 처리합니다 | 서로 상관없는 일은 동시에 처리할 수 있습니다 |
| 비용 | 상대적으로 적습니다 | 조수마다 AI를 따로 부르므로 더 듭니다 |
비유: 팀장과 조수들
회사 팀장을 예로 들겠습니다. 팀장 혼자 시장 조사, 경쟁사 분석, 법률 검토를 다 하면 책상이 서류로 뒤덮이고, 정작 중요한 결정을 내릴 때 무엇이 핵심이었는지 헷갈리기 쉽습니다.
그래서 팀장은 조수에게 이렇게 맡깁니다. "경쟁사 세 곳의 가격 정책을 조사해서, 한 장으로 정리해 주세요." 조수는 자기 자리에서 수십 개의 자료를 읽지만, 팀장이 받는 것은 정리된 한 장뿐입니다. 팀장의 책상은 깨끗하게 유지되고, 팀장은 여러 조수의 보고서를 모아 결론을 냅니다.
서브에이전트가 바로 이 조수입니다. 여기서 "책상"은 AI의 컨텍스트 창, 곧 AI가 한 번에 기억하며 볼 수 있는 대화와 자료의 양입니다. 컨텍스트 창이 무엇인지는 토큰과 컨텍스트 창 뜻에서 자세히 다룹니다.
Claude Code의 서브에이전트
Claude Code에서 서브에이전트는 특정 종류의 일을 맡는 전문 AI 도우미입니다. 각 서브에이전트는 자기만의 컨텍스트 창, 자기만의 지시문(시스템 프롬프트), 쓸 수 있는 도구 목록을 따로 가집니다.
대표적인 쓰임은 이렇습니다. 곁가지 일을 하다 보면 검색 결과, 로그, 파일 내용이 메인 대화에 쌓입니다. 다시 볼 일이 없는 이런 내용이 메인 대화를 가득 채울 것 같을 때, 그 일을 서브에이전트에게 맡깁니다. 서브에이전트는 자기 공간에서 일을 하고 요약만 돌려줍니다.
Claude Agent SDK(개발자가 Claude Code와 같은 에이전트를 자기 프로그램에 넣을 때 쓰는 도구 모음)에서도 같습니다. 서브에이전트는 메인 에이전트가 띄우는 별도의 에이전트이고, 중간에 쓴 도구와 결과는 서브에이전트 안에 머물며, 마지막 메시지만 메인 에이전트에게 돌아갑니다.
나누어 맡기는 이유: 다섯 가지 이점
| 이점 | 뜻 | 비유 |
|---|---|---|
| 작업 기억 아끼기 | 조사 과정의 자잘한 자료가 메인 대화에 쌓이지 않습니다 | 팀장 책상이 깨끗하게 유지됩니다 |
| 동시에 처리 | 서로 상관없는 일을 여러 조수가 한꺼번에 합니다 | 세 명이 동시에 조사하면 가장 늦는 한 명만큼만 기다립니다 |
| 전문화 | 조수마다 그 일에 맞는 지시문을 따로 줍니다 | 회계 담당, 법률 담당을 따로 둡니다 |
| 도구 제한 | 조수가 쓸 수 있는 도구를 필요한 것만 줍니다 | 검토 담당에게는 읽기 권한만 줍니다 |
| 비용 조절 | 간단한 일은 더 빠르고 저렴한 모델에게 보냅니다 | 단순 업무는 신입에게, 어려운 판단은 선임에게 맡깁니다 |
예를 들어 코드 검토를 할 때 문체 점검, 보안 점검, 테스트 범위 점검을 맡은 서브에이전트 셋을 동시에 돌리면, 셋을 차례로 하는 것보다 빨리 끝납니다. 또 문서 검토만 하는 서브에이전트에게 "읽기"와 "검색" 도구만 주면, 실수로 파일을 고칠 일이 아예 생기지 않습니다. 도구 목록에 없는 도구는 그 서브에이전트에게 처음부터 없는 것과 같기 때문입니다.
멀티 에이전트, 팀을 짜는 세 가지 방식
여러 AI를 묶어 일하게 하는 방식에는 몇 가지 정해진 모양이 있습니다. Anthropic이 소개하는 방식 가운데 서브에이전트와 가까운 세 가지를 골랐습니다.
1. 오케스트레이터-워커(지휘자와 연주자)
메인 AI가 일을 쪼개서 워커(일꾼) AI들에게 맡기고, 돌아온 결과를 종합합니다. 몇 개로 쪼개야 할지 미리 알 수 없는 복잡한 일에 알맞습니다. 앞의 팀장 비유가 이 방식입니다.
2. 병렬 처리(여러 명이 동시에)
일을 서로 독립된 조각으로 나누어 동시에 하거나, 같은 일을 여러 번 시켜 결과를 비교합니다. 속도를 높이고 싶을 때, 또는 여러 관점으로 결과를 더 믿을 수 있게 만들고 싶을 때 씁니다.
3. 평가자-최적화(만드는 사람과 검사하는 사람)
한 AI가 결과물을 만들고, 다른 AI가 그것을 평가해 피드백을 주는 과정을 반복합니다. 평가 기준이 분명하고, 고칠수록 결과가 나아지는 일에 특히 효과가 있습니다. 글쓰기와 퇴고가 좋은 예입니다.
대화의 주도권을 누가 쥐느냐로 나누는 방법도 있습니다(OpenAI Agents SDK의 구분).
| 방식 | 설명 | 비유 |
|---|---|---|
| 매니저(에이전트를 도구처럼) | 메인 에이전트가 전문 에이전트를 도구처럼 부르고, 대화의 주도권은 계속 쥡니다 | 팀장이 담당자에게 물어본 뒤 고객에게 직접 답합니다 |
| 핸드오프(넘겨주기) | 전문 에이전트에게 대화 자체를 넘겨, 그 에이전트가 이어서 답합니다 | 상담 전화를 담당 부서로 돌려줍니다 |
Claude Code의 서브에이전트는 메인이 결과를 받아 정리하는 쪽이라, 매니저 방식에 가깝습니다.
오히려 손해인 경우
조수를 많이 둔다고 늘 좋은 것은 아닙니다. Anthropic이 자사의 리서치 기능을 멀티 에이전트로 만들면서 공개한 결과에 장점과 비용이 함께 나옵니다.
- 장점: 메인(리드) 에이전트가 계획을 세우고 서브에이전트들이 동시에 서로 다른 방향을 조사하는 방식이, 자사 내부 리서치 평가에서 단일 에이전트보다 90.2% 좋은 결과를 냈습니다(2025년 6월 글 기준, 리드 Claude Opus 4 + 서브 Claude Sonnet 4 조합과 Claude Opus 4 단독을 비교). 여러 방향을 한꺼번에 넓게 찾아봐야 하는 질문에서 특히 강했습니다.
- 비용: 에이전트는 일반 채팅보다 토큰(AI가 글을 처리하는 단위)을 약 4배, 멀티 에이전트는 약 15배 썼습니다. 조수마다 AI를 따로 부르니 쓰는 양이 크게 늘어납니다.
- 잘 안 맞는 일: 모든 에이전트가 같은 맥락을 계속 공유해야 하거나, 서로 주고받을 것이 많은 일에는 맞지 않습니다. 많은 코딩 작업처럼 동시에 나눌 부분이 적은 일도 여기에 해당합니다.
위 수치는 Anthropic이 자사 시스템과 자사 평가로 잰 결과입니다. 모든 작업에 그대로 들어맞는 값은 아닙니다. "여러 갈래로 넓게 찾는 일에는 효과가 크고, 대신 비용이 많이 든다" 정도로 이해하면 충분합니다.
가장 단순한 방법부터 시작하고, 필요할 때만 복잡도를 올리세요. 한 명이 충분히 할 수 있는 일을 굳이 나누면 비용만 늘고 전달 과정에서 정보가 빠질 수 있습니다.
Claude Code에서 서브에이전트 만들기
Claude Code에는 처음부터 들어 있는 서브에이전트가 있습니다. 코드를 읽기만 하며 빠르게 찾아보는 Explore, 계획 모드에서 조사를 맡는 Plan, 여러 단계의 일을 두루 하는 general-purpose 등입니다. 따로 만들지 않아도 Claude가 필요하면 이들을 부릅니다.
나만의 서브에이전트는 이렇게 만듭니다.
- Claude에게 부탁하기: "코드 검토만 하는 서브에이전트를 만들어 줘"라고 말하면 Claude가 설정 파일을 대신 써 줍니다.
- 파일로 직접 쓰기: 프로젝트 폴더의
.claude/agents/(이 프로젝트 전용) 또는 사용자 폴더의~/.claude/agents/(내 모든 프로젝트용)에 마크다운 파일을 만듭니다. 사용자 폴더에 두면 한 번 만든 조수를 모든 프로젝트에서 다시 쓸 수 있습니다.
예전에는 /agents 명령이 만들기 마법사를 열었지만, 공식 문서에 따르면 v2.1.198부터는 마법사 대신 "Claude에게 부탁하거나 .claude/agents/를 직접 편집하라"는 안내만 보여 줍니다. 이런 명령 동작은 Claude Code 버전에 따라 바뀔 수 있습니다.
파일은 맨 위에 설정을, 그 아래에 지시문을 적습니다. 예를 들면 이런 모양입니다.
---
name: code-improver
description: Scans files and suggests improvements for readability, performance, and best practices. Use after writing or modifying code.
tools: Read, Grep, Glob
model: sonnet
---
You are a code improvement specialist. For each issue you find, explain
the problem, show the current code, and provide an improved version.
| 항목 | 뜻 |
|---|---|
name | 서브에이전트 이름(필수) |
description | 언제 이 조수에게 맡길지 설명(필수). Claude가 이 설명을 보고 맡길지 정함 |
tools | 쓸 수 있는 도구 목록. 위 예는 읽기와 검색만 가능 |
model | 이 조수가 쓸 AI 모델 |
description을 가장 공들여 쓰세요. 위 예의 마지막 문장 "Use after writing or modifying code.(코드를 쓰거나 고친 뒤에 쓸 것)"가 바로 언제 맡길지를 알려 주는 부분입니다. Claude는 각 서브에이전트의 설명을 보고 언제 맡길지 정하므로, 설명이 흐리면 조수가 불리지 않거나 엉뚱한 때 불립니다. 확실히 쓰고 싶다면 대화에서 이름을 직접 부르면 됩니다.
조수에게 잘 맡기는 법
조수에게 전해지는 정보는 생각보다 적습니다. 메인 대화의 기록은 서브에이전트에게 넘어가지 않고, 맡길 때 쓴 지시문이 사실상 유일한 전달 통로입니다. 그래서 필요한 파일 위치, 오류 메시지, 이미 정한 사항은 지시문에 직접 적어야 합니다.
맡길 때는 다음 네 가지를 분명히 적습니다.
- 목표: 알아내거나 만들어야 하는 것
- 결과 형식: 표, 세 줄 요약, 파일 경로 목록 같은 모양
- 도구와 자료 안내: 볼 곳과 쓸 도구
- 작업 경계: 이 조수가 맡는 범위(다른 조수와 겹치지 않게)
사람 조수에게 "그거 좀 알아봐 줘"라고만 하면 엉뚱한 결과가 오듯, AI 조수도 마찬가지입니다. 지시문 쓰는 요령은 프롬프트 잘 쓰는 법의 원칙이 그대로 통합니다.
예시: 쓰는 AI와 채점하는 AI 나누기
앞에서 본 평가자-최적화 방식을 글쓰기에 쓰는 예입니다.
- 작가 역할 에이전트가 공식 자료를 바탕으로 초안을 씁니다.
- 감독 역할 에이전트가 따로 정해 둔 채점표로 초안을 평가합니다. 작가는 자기 글을 채점하지 않습니다.
- 정해 둔 기준 점수를 넘지 못하면 감독의 의견대로 고쳐서 다시 냅니다.
- 기준을 넘은 글만 사람이 읽고, 게시 여부는 사람이 최종 결정합니다.
만든 사람이 자기 결과를 검사하면 놓치는 부분이 생기기 쉽습니다. 평가 기준이 분명하면 다른 눈이 피드백을 주는 편이 고치기 좋습니다. 다만 AI 감독도 틀릴 수 있으니, 마지막 판단은 사람에게 남겨 두세요.
흔한 오해
"조수를 많이 둘수록 똑똑해진다." 조수가 늘면 비용도 함께 늘고, 서로 정보를 주고받아야 하는 일에서는 오히려 손해가 날 수 있습니다. 나눌 수 있는 일인지 먼저 따져 보세요.
"서브에이전트는 메인 대화를 다 알고 있다." 일반적인 서브에이전트는 새로 시작하며, 메인 대화의 기록을 받지 않습니다. 필요한 정보는 맡길 때 적어 주어야 합니다.
"서브에이전트는 따로 설치해야 하는 기능이다." Claude Code에는 기본 서브에이전트가 들어 있어, 따로 만들지 않아도 Claude가 필요할 때 씁니다. 나만의 조수를 만들고 싶을 때만 파일을 추가하면 됩니다.
정리
| 항목 | 정리 |
|---|---|
| 서브에이전트 | 메인 AI가 곁일을 맡기는 조수 AI. 자기 작업 공간에서 일하고 요약만 돌려줌 |
| 멀티 에이전트 | 여러 AI가 일을 나누어 맡는 구조. 오케스트레이터-워커, 병렬 처리, 평가자-최적화 등 |
| 쓰는 이유 | 작업 기억 아끼기, 동시 처리, 전문화, 도구 제한, 비용 조절 |
| 손해인 경우 | 맥락을 계속 공유해야 하거나 나눌 부분이 적은 일. 비용이 크게 늘 수 있음 |
| Claude Code에서 만들기 | Claude에게 만들어 달라고 부탁하거나, .claude/agents/에 이름, 설명, 도구를 적은 파일을 직접 두기 |
함께 읽기
- AI와 AI 에이전트는 어떻게 다를까: 대답하는 AI, 일하는 AI
- Claude Code 입문: 설치부터 첫 대화까지, 터미널에서 일하는 AI 코딩 도우미
- 토큰과 컨텍스트 창 뜻: 긴 대화에서 AI가 앞 내용을 놓치는 이유
- 프롬프트 잘 쓰는 법: 공식 가이드가 말하는 5가지 원칙
참고 자료
- Claude Code Docs, "Subagents": https://code.claude.com/docs/en/sub-agents
- Claude Code Docs, "Subagents in the SDK": https://code.claude.com/docs/en/agent-sdk/subagents
- Anthropic Engineering, "How we built our multi-agent research system" (2025-06-13): https://www.anthropic.com/engineering/multi-agent-research-system
- Anthropic Engineering, "Building effective agents" (2024-12-19): https://www.anthropic.com/engineering/building-effective-agents
- OpenAI Agents SDK, "Agent orchestration": https://openai.github.io/openai-agents-python/multi_agent/





