Subagent vs Agent Team, 실제로 돌려서 비교해봤습니다

전석환2026. 4. 7.조회 2

소개

시도하고자 했던 것: Claude Code의 Subagent와 Agent Team이 실제로 어떻게 다른지, 같은 작업을 시켜봤을 때 시간과 토큰이 얼마나 차이 나는지 직접 측정해봤습니다.

이유: 지난주 안상영님 후토크에서 Subagent와 Agent Team에 대해 알려주셨는데, Agent Team이 실제로 어떤 효과가 있을지 궁금했습니다. 이론상으로는 "Subagent가 저렴하고, Agent Team은 비싸다"라고 알려져 있는데, 진짜 그런지 같은 시나리오로 돌려서 검증해보고 싶었습니다.

현재 PM 자료를 준비하는 프로젝트에서 Agent 6개(community, doc-manager, researcher, simulator, reviewer, orchestrator)를 운영하고 있어서, 이걸 그대로 시나리오로 활용했습니다.

한국어 한국어 한국어 한국어 한국어 한국어 한국어 한국어


진행 방법

1단계: 개념 정리 — Main Agent, Subagent, Agent Team이 뭔가?

먼저 세 가지 개념을 정확히 구분하는 것부터 시작했습니다.

Main Agent = 지금 Claude Code와 대화하고 있는 이 세션 자체. claude 명령어를 실행하면 자동으로 시작됩니다. 사용자가 직접 만드는 게 아니고, .claude/agents/에 정의 파일도 없습니다.

Subagent = .claude/agents/*.md에 정의해둔 Agent들. Main이 Agent tool로 spawn하면 독립 컨텍스트에서 일하고, 끝나면 요약만 반환하고 컨텍스트는 폐기됩니다. 다른 Subagent와 직접 소통할 수 없고, 반드시 Main을 거쳐야 합니다.

Agent Team = Claude Code의 실험적 기능. 여러 Claude Code 인스턴스가 teammate로 동시에 돌아가면서, 서로 직접 메시지를 주고받습니다. Main이 중개할 필요 없이 teammate끼리 자율적으로 협업합니다.

[Subagent 방식]
PM → Main → community spawn → 완료 → Main → researcher spawn → 완료 → Main → ...
     (모든 단계를 Main이 순차 중개)

[Agent Team 방식]
PM → Lead ─┬→ community ──→ doc-manager에게 직접 전달
           ├→ researcher ──→ doc-manager에게 직접 전달
           ├→ doc-manager ──→ simulator에게 직접 요청
           └→ simulator ──→ doc-manager에게 직접 응답
     (teammate 간 직접 소통, Lead는 최종 보고만 수신)

2단계: Agent Team 사용을 위한 프로젝트 수정

Agent Team을 쓰려면 기존 프로젝트를 수정해야 합니다. 원본을 보존하기 위해 프로젝트 전체를 복사한 뒤(cobot_automation_hubcobot_automation_hub_team), 아래 2개 파일을 수정했습니다.

.claude/settings.json — 환경변수 추가

// 이전 (Subagent)
{
  "hooks": {
    "SubagentStop": [
      { "matcher": "doc-manager|researcher|community|simulator",
        "hooks": [{ "type": "command", "command": "echo 'Agent 작업 완료'" }] }
    ]
  }
}

// 이후 (Agent Team)
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"    // ← 이 한 줄이 핵심
  },
  "hooks": {
    // SubagentStop hook 제거 (teammate는 자율 동작)
  }
}

CLAUDE.md — 규칙 체계 변경

항목

Subagent 버전

Agent Team 버전

Agent 간 통신

"직접 호출 금지, Main이 중개"

"teammate 간 직접 메시지 허용"

orchestrator

Agent 완료 후 Main이 호출

삭제 (reviewer가 자율 검토)

Agent 우선순위

6개 우선순위 리스트

삭제 (Lead가 태스크로 관리)

결과 보고

Main에 보고

Lead에 보고 + teammate 간 직접 피드백

참고로 .claude/agents/*.md 파일은 수정하지 않았습니다. Agent 정의 파일은 그대로 teammate role로 참조됩니다.

3단계: 동일 시나리오로 양쪽 다 시뮬레이션

"카카오톡으로 새 공고가 왔고, 5개 Agent가 자료를 준비하는" 시나리오를 만들었습니다.

입력 파일 3개 (양쪽 동일):

  • 카카오톡 원본 (simulation_kakao_chat.txt)

  • 보유 서류 현황 (simulation_existing_docs.md)

  • 시뮬레이션 환경 스펙 (simulation_sim_spec.md)

Agent Team 실행 프롬프트:

카톡에 새 공고가 왔어. agent team을 만들어서 자료 준비해줘.

입력 파일:
- 카톡: 60-workspace/simulation_kakao_chat.txt
- 보유 서류: 60-workspace/simulation_existing_docs.md
- 시뮬레이션 스펙: 60-workspace/simulation_sim_spec.md

팀 구성:
1. community: 카톡 파싱 → doc-manager에게 필수서류, researcher에게 공고 정보 직접 전달
2. doc-manager: 서류 대조 → 누락 파악 → simulator에게 스펙 요청
3. researcher: 유사과제 3건 조사 → doc-manager에게 참고 사항 직접 전달
4. simulator: 시뮬레이션 스펙 정리 → doc-manager에게 직접 전달
5. reviewer: 산출물 검토 → 해당 teammate에게 직접 피드백

규칙:
- 산출물은 모두 60-workspace/에 저장
- 파일명 앞에 simulation_ 붙이기
- [확인 필요] 항목이 있으면 나에게 보고
한국어 프로그램 스크린샷

Subagent 실행: 동일한 시나리오를 기존 프로젝트에서 Main이 각 Agent를 순차적으로 spawn하는 방식으로 실행했습니다. community(haiku) → doc-manager + researcher(sonnet, 병렬) → simulator(sonnet) → reviewer(sonnet) 순서로 진행.

한국 컴퓨터 화면의 스크린샷


결과와 배운 점

실측 결과: 이론과 정반대였습니다

Subagent

Agent Team

차이

체감 시간

약 17분 11초

약 7분 43초

Agent Team -55%

토큰

168,188

124,130

Agent Team -26%

도구 호출

63회

48회

-24%

Main 개입

5회 (매번 중개)

0회 (직접 소통)

-

Phase별 상세 비교:

Phase

Teammate

Subagent

Agent Team

1

community (haiku)

27초 / 16,718토큰

14초 / 14,258토큰

2

doc-manager (sonnet)

60초 / 17,513토큰

59초 / 17,401토큰

2

researcher (sonnet)

11분 25초 / 69,503토큰

4분 3초 / 39,410토큰

3

simulator (sonnet)

2분 15초 / 22,380토큰

1분 46초 / 23,093토큰

4

reviewer (sonnet)

3분 4초 / 42,074토큰

1분 50초 / 29,968토큰

이론상으로는 "Subagent는 컨텍스트를 폐기하니까 저렴하고, Agent Team은 세션을 유지하니까 비싸다"고 알려져 있습니다. 하지만 실측해보니 Agent Team이 시간도 토큰도 모두 적게 소비했습니다.

가장 큰 차이는 researcher에서 나왔는데 — Subagent에서 11분 25초 걸린 웹 검색 작업이 Agent Team에서는 4분 3초로 줄었습니다. Subagent 방식에서는 Main이 매번 결과를 수신하고 다음 Agent를 spawn하는 대기 시간이 누적되는 반면, Agent Team에서는 teammate들이 직접 소통하면서 병렬 처리가 자연스럽게 일어나기 때문으로 보입니다.

배운 점

  • "Subagent가 저렴하다"는 이론은 단순 작업 기준입니다. 5개 Agent가 서로 정보를 주고받아야 하는 협업 시나리오에서는 Main 중개 비용이 누적되어 오히려 Subagent가 더 비쌌습니다.

  • Agent Team은 설정 변경이 필요합니다. settings.json에 환경변수 한 줄, CLAUDE.md 규칙 체계 변경, hook 정리 — 기존 프로젝트를 그냥 쓸 수는 없고 의식적으로 전환해야 합니다.

  • Agent 정의 파일(.claude/agents/*.md)은 그대로 씁니다. Subagent용으로 만든 정의 파일이 Agent Team의 teammate role로 그대로 작동합니다.

꿀팁

  • Agent Team을 쓸 때 프로젝트를 복사해서 별도로 수정하면 원본 Subagent 구조를 보존하면서 안전하게 실험할 수 있습니다

  • CLAUDE.md에서 "Agent 간 직접 호출 금지" 규칙을 반드시 제거해야 합니다. 이게 남아있으면 teammate가 직접 소통을 안 합니다

  • 짧은 프롬프트로도 동작합니다. CLAUDE.md와 agents 정의를 잘 작성해뒀으면 카톡에 새 공고 왔어. agent team 만들어서 자료 준비해줘.로도 Lead가 알아서 팀을 구성합니다

앞으로의 계획

  • Agent Team이 효과적인 건 확인했지만, 아직 실험적 기능이라 실제 업무에서는 Subagent 구조를 유지할 예정입니다

  • Agent Team이 정식 출시되면 프로젝트 전환을 검토할 계획입니다

도움 받은 글

  • 안상영님 후토크 발표: Subagent와 Agent Team 개념 소개 (이번 실험의 시작점이 되었습니다)

댓글 0

로그인하고 댓글을 작성하세요

Subagent vs Agent Team, 실제로 돌려서 비교해봤습니다 | GPTers