셋으로 묶고 셋으로 가른다 — 협업 패턴 3종과 격리 3계층

파이프라인·분업·팀장-팀원 세 패턴을 실패 모드 네 개씩 붙여 나란히 세우고, 그것을 실제로 구현하는 Subagents·Agent Teams·Worktree가 상하 관계가 아니라 논리·세션·물리라는 서로 다른 격리 축이라는 점을 판단 흐름도까지 내려가 정리한다.

첫 편이 한 명을 정의했다. 정의서 한 장에 필드를 채우고 담당·비담당 경계를 긋는 일이었다. 이 글은 그 한 명을 여럿으로 늘린다.

늘리는 방법은 셋뿐이다. 줄로 세우거나(파이프라인), 옆으로 펼치거나(분업), 위에 한 명을 두거나(팀장-팀원). 셋은 비용도 속도도 무너지는 방식도 다르고, 셋 다 실패 모드를 넷씩 가지고 있다.

그리고 패턴을 골랐다고 끝이 아니다. 패턴은 무엇을 그릴 것인가이고, 그것을 실제로 돌리려면 무엇으로 구현할 것인가를 또 골라야 한다. 후반부의 Subagents·Agent Teams·Worktree가 그것이다. 셋은 상하 관계가 아니라 서로 다른 축의 격리 수단이라, 겹쳐 쓸 수 있다.

이 글이 옮긴 원 자료의 작성 기준일은 2026-07-26이다. 기능 이름·제약·한계 목록은 그 시점의 것이다.

아래 세 패턴의 「실전 예」 행은 원 자료가 든 패턴 예시이며 실제 운영 사례가 아니다.

용어 정리

첫 편의 용어표에서 이 글이 쓰는 행만 추렸다.

용어정의대응되는 사람 조직 개념
서브에이전트(Subagent)메인 세션이 1:1로 위임하는 에이전트. 독립 컨텍스트에서 일하고 최종 보고만 돌려준다위임받은 팀원
오케스트레이터(Orchestrator)여러 에이전트에 작업을 배분·조율·통합하는 상위 에이전트팀장 / PM
워커(Worker)오케스트레이터의 지시를 받아 전문 작업만 수행하는 에이전트팀원
핸드오프(Handoff)앞 단계 에이전트의 산출물을 다음 에이전트 입력으로 넘기는 것업무 인계
Fan-out / Fan-in여러 에이전트에 동시 배포(out) → 결과를 한 곳으로 수집·병합(in)병렬 배정 후 취합
Hub-and-Spoke모든 보고·의사결정이 리더(허브)를 경유하는 통신 구조팀장 중심 보고체계
Agent Teams여러 Claude Code 인스턴스가 리더-팀원으로 묶여 양방향 통신하는 실험적 기능실제 팀 회의
TaskList팀원이 공유하는 작업 보드. 상태·소유자·의존성을 기록칸반 보드 / Jira
Worktree같은 git 저장소를 공유하되 다른 경로에 다른 브랜치를 동시 체크아웃하는 기능각자 다른 책상
격리(Isolation)에이전트 간 간섭을 막는 분리. 논리적·세션·물리적 3계층이 있다업무 분장 / 좌석 분리

왜 팀으로 나누는가

단일 에이전트의 한계팀 구성으로 얻는 것
토큰 한계에 빨리 도달 → 뒤쪽 작업 품질 저하역할 분리 → 각자 한 가지 일에만 집중
병렬 처리 불가 → 느림병렬 실행 → 독립 작업 동시 처리
만능 범용의 함정 → 전문성 부재독립 검증 → 다른 에이전트가 검수
역할 분리 없이 복잡도만 증가확장성 → 에이전트 추가 = 처리량 증가

3인 팀 실습 챕터의 표현을 그대로 옮기면 이렇다.

컨텍스트 희석: 검색 결과 수천 줄이 컨텍스트를 채우면 핵심 사실이 흐려진다.

자기 편향: 자기가 쓴 글을 자기가 검토하면 오류를 못 찾는다. 사람도 마찬가지다.

역할 충돌: 조사·작성·검토를 동시에 하면 어떤 것에도 집중하지 못한다.

이건 프롬프트 문제가 아니다. 구조의 문제는 구조로 해결해야 한다.

가운데 항목이 나머지 둘과 성격이 다르다. 컨텍스트 희석과 역할 충돌은 나누면 완화되지만, 자기 편향은 나누지 않으면 원리적으로 해결되지 않는다. 같은 컨텍스트를 가진 주체가 자기 산출물을 검토하기 때문이다. 이 셋을 이렇게 가르는 것은 이 글의 정리다.

단일 에이전트를 언제까지 유지하고 어디서 쪼개는지, 그리고 쪼갠 뒤의 토폴로지 세 가지를 중앙 통제와 종료 판정 주체로 가른 정리는 언제 에이전트를 쪼개는가에 따로 있다.

패턴 1 — 파이프라인 (Assembly Line, 라인 생산)

앞 단계 산출물이 다음 단계 입력이 되는 단방향 순차 처리다. 각 단계가 데이터를 변환한다.

도식을 탭하면 확대해서 볼 수 있습니다
항목내용
적합 업무순서 의존이 강한 작업, 표준화가 필요한 반복 업무, 단계별 품질 게이트가 있는 공정
실전 예키워드 리서치 → 초안 작성 → 편집 → 채널 배포 → 이미지 생성 5단 라인
장점단계별 재사용 가능, 오류 단계 추적 명확, 누적 검증으로 품질 체인 형성
실패 모드 ①총 소요 = 모든 단계의 합 — 근본적으로 느리다
실패 모드 ②병목 취약 — 한 단계가 지연되면 전체가 멈춘다
실패 모드 ③역방향 피드백 없음 — 뒤 단계가 앞 단계 오류를 되돌릴 수 없다
실패 모드 ④유연성 부족 — 중간 변경이 생기면 라인 전체를 재설계해야 한다
상대 비용약 1배 (기준선)

패턴 2 — 분업 (Parallel Workstation)

오케스트레이터가 N개 에이전트에 동시 배포(Fan-out)하고, 결과를 다시 모아 통합(Fan-in)한다. 에이전트끼리는 서로를 기다리지 않는다.

도식을 탭하면 확대해서 볼 수 있습니다
항목내용
적합 업무서로 의존하지 않는 독립 작업, 속도가 최우선인 작업, 같은 대상에 대한 다각도 산출물
실전 예리드 스코어링 + 맞춤 제안서 + 3단계 견적 + 팔로업 이메일을 4명이 동시 생산
장점총 소요 = 가장 느린 한 명의 시간. 에이전트 추가가 곧 처리량 증가
실패 모드 ①결과 통합 비용 — Fan-in에서 중복·충돌을 사람이 정리해야 하는 상황 발생
실패 모드 ②상호 의존 작업에 쓰면 실패 — 순차 의존 작업을 무리하게 병렬화하면 오히려 악화
실패 모드 ③일관성 붕괴 — 산출물 포맷·톤이 제각각이 된다
실패 모드 ④코디네이션 복잡도 증가
상대 비용약 N배 (병렬 수만큼)

원 자료가 Google/MIT 2025 연구에서 인용한 수치: 독립 작업을 병렬화하면 +81% 향상, 순차 의존 작업을 무리하게 병렬화하면 -70% 악화.

즉 분업은 "동시에 할 수 있는 일인지"를 먼저 판정한 다음에 쓰는 패턴이다.

패턴 3 — 팀장-팀원 (Orchestrator-Worker, Hub-and-Spoke)

리더가 위임·조율·종합·의사결정을 맡고, 팀원은 전문 작업만 하고 리더에게만 보고한다. 리더는 중간 결과를 보고 다음 단계를 동적으로 정한다.

도식을 탭하면 확대해서 볼 수 있습니다
항목내용
적합 업무복잡한 의사결정, 중간 결과에 따라 다음 단계가 달라지는 작업, 외부에 단일 창구가 필요한 업무
실전 예경영지원 오케스트레이터 1명 + 팀원 5명. 외부에서는 진입점 하나만 호출
장점동적 작업 분배, 외부 인터페이스 단순화, 논의·협업 가능
실패 모드 ①높은 비용 — 리더 오버헤드로 토큰 사용량이 단일 에이전트 대비 약 4배, 일반 채팅 대비 약 15배
실패 모드 ②리더 병목 — 리더가 느리면 전체가 멈춘다
실패 모드 ③리더 편향 — 리더의 오판이 전체 방향을 잘못 끌고 간다
실패 모드 ④복잡한 컨텍스트 관리 부담이 리더 한 명에게 집중된다
상대 비용약 4배 (단일 대비)

세 패턴 표의 행 구조가 완전히 같다.

적합 업무 · 실전 예 · 장점 · 실패 모드 ①~④ · 상대 비용. 그래서 세 표는 나란히 놓고 같은 행끼리 읽도록 만들어져 있다. 특히 「실패 모드」가 셋 다 정확히 네 개라는 점이 눈에 띈다 — 어느 패턴도 실패 모드가 하나뿐인 것은 없다. 패턴 선택은 무결점을 고르는 일이 아니라 어느 네 가지를 감당할지 고르는 일이다.

앞의 「4배·15배」는 원 자료가 인용한 Anthropic 공식 수치다. 이 시리즈의 성능·비용 수치는 직접 측정한 것이 아니다. 대부분 원 자료가 인용한 외부 연구·벤치마크 값이고, 하나(Phase 분리 85%)는 원 자료 자체의 운영 사례이며, 출처를 밝히지 않은 값도 섞여 있다.

에이전트를 다른 축으로 열한 개로 가르고 각각의 자율성 수준과 무너지는 지점을 세운 카탈로그는 에이전트 패턴 카탈로그 11종에 있다. 위의 세 패턴을 세분한 목록이 아니다.

트레이드오프 매트릭스

파이프라인분업팀장-팀원
비용~1배 (기준선)~N배 (병렬 수)~4배 (단일 대비)
속도느림 — 모든 단계 합산가장 빠름 — max(N)중간
의사결정예측 가능(고정)통합 품질 관리 필요동적 조정 — 최고
쓰는 상황순서 의존, 표준화독립 작업, 속도 우선복잡 판단, 유연 분배
대표 실패병목 하나가 전체 정지Fan-in 충돌·일관성 붕괴리더 병목·리더 편향

첫 행의 세 값은 서로 같은 단위가 아니다.

~1배~4배는 상수인데 ~N배만 변수다. N은 붙이는 에이전트 수라서, 분업이 팀장-팀원보다 싼지 비싼지를 이 표는 명시하지 않는다 — 표기를 그대로 따르면 넷을 붙였을 때 비슷해지고 다섯이면 넘어선다. 첫 행을 "분업이 중간"으로 읽으면 안 된다는 뜻이다. 단위가 섞여 있다는 지적은 이 글의 것이고, 원 자료는 세 값을 한 행에 나란히 적는다.

하이브리드 — 실전은 항상 조합

조합구조
팀장-팀원 안의 파이프라인팀장이 팀원들을 순차로 연결해 3단 라인을 돌린다
분업 결과를 파이프라인에 투입A+B 동시 실행 → 팀장이 병합 → C로 전달
실전 사례외부에서 보면 단일 진입점, 내부는 3단 파이프라인 + 2인 분업의 혼합
도식을 탭하면 확대해서 볼 수 있습니다

패턴 선택 판단 흐름

도식을 탭하면 확대해서 볼 수 있습니다

질문 두 개면 셋 중 하나가 나온다. 첫 질문이 의존성이라는 점이 중요하다 — 비용도 속도도 아니고, 동시에 할 수 있는 일인가가 먼저다.

Subagents vs Agent Teams vs Worktree

패턴이 무엇을 그릴 것인가라면, 여기서부터는 무엇으로 구현할 것인가다. 셋은 상하 관계가 아니라 서로 다른 축의 격리 수단이다.

세 기법의 정체

기법한 줄 비유핵심 성질
Subagents팀장이 팀원에게 1:1로 일을 맡김단방향 위임. 팀장은 완성된 보고서만 받고 과정은 팀장 메모에 남지 않는다
Agent Teams팀장이 주재하는 팀 회의팀원끼리 메신저로 직접 대화하고 팀장에게 역질문도 가능
Git Worktree여러 직원이 같은 서류 보관함을 쓰되 각자 다른 책상에서 작업같은 저장소, 다른 경로, 다른 브랜치 동시 체크아웃

한 장 비교표

항목SubagentsAgent TeamsGit Worktree
격리 수준논리적 — 컨텍스트 윈도우세션 — Claude Code 인스턴스물리적 — 파일시스템 경로
통신 방향단방향 (메인 → 서브)양방향 (리더 ↔ 팀원, 팀원 ↔ 팀원)없음 — 파일로만 공유
역질문불가가능해당 없음
결과 반환최종 메시지만 메인으로 반환메시지·공유 TaskList로 상시 교환해당 없음
충돌 방지 방식컨텍스트 분리작업 claim 방식브랜치 + 경로 분리
비용낮음높음 (인스턴스 배수)무관 (git 기능)
병렬 실행단일 메시지에 여러 호출 → 자동 병렬멀티 인스턴스 동시 실행빌드·테스트 간섭 없음
알려진 한계역질문 불가세션 재개 불가, 팀원이 팀원을 다시 만들 수 없음경로를 버전관리 제외 목록에 넣어야 함
결정 기준결과만 받으면 되는가에이전트 간 대화가 꼭 필요한가파일 충돌을 막아야 하는가

셋째 열에 「해당 없음」이 두 번 나온다는 것이 이 표의 핵심이다.

Worktree는 역질문도 결과 반환도 없다. 통신 수단이 아니기 때문이다. 즉 이 표는 세 후보를 같은 잣대로 줄 세우는 표가 아니라, 왼쪽 둘과 오른쪽 하나가 애초에 다른 것을 한다는 것을 보여주는 표다. 마지막 행의 결정 기준 세 개가 서로 배타적이지 않은 것도 그래서다 — 셋 다 "예"일 수 있다.

워커가 서로를 부르지 않게 만들고 결정 로그로 감사 가능성을 확보하는 아키텍처는 워커는 서로를 부르지 않는다에서 따로 다뤘다.

세 계층은 겹쳐 쓸 수 있다

도식을 탭하면 확대해서 볼 수 있습니다

Worktree가 실제로 제거하는 충돌은 세 가지다.

충돌 유형증상Worktree 해결
브랜치 충돌같은 폴더에서 브랜치를 바꾸면 다른 에이전트의 작업 파일이 바뀐다경로별로 다른 브랜치 체크아웃
빌드 충돌동시 빌드·테스트가 서로의 산출물을 덮어쓴다산출물 디렉터리 자체가 분리
파일 lock 충돌의존성 캐시·빌드 캐시 등에 병렬 쓰기 잠금 경합경로 분리로 경합 소멸

세 행 모두 논리적 격리로는 막히지 않는 충돌이다. 컨텍스트를 아무리 갈라 놓아도 두 에이전트가 같은 경로에 쓰면 부딪힌다. 격리 계층을 겹쳐 쓰는 이유가 여기 있다.

선택 판단 흐름도

도식을 탭하면 확대해서 볼 수 있습니다

흐름도가 두 단으로 나뉘어 있다는 점을 보자. 위쪽에서 Subagents냐 Agent Teams냐를 정한 다음, 어느 쪽으로 갔든 아래쪽에서 Worktree를 얹을지 다시 묻는다. 앞 표의 「해당 없음」 두 칸이 흐름도에서는 이 구조로 나타난다.

Agent Teams가 정당화되는 4가지 상황

#상황이유
1여러 라운드 토론이 필요팀원이 이의를 제기하고 재논의하는 구조가 필요
2진짜 멀티 세션 병렬 작업여러 인스턴스가 실제로 동시에 돌아야 함
3서로 다른 전문성의 합의 형성아키텍처 설계처럼 관점 충돌 조정이 필요
4결과 재질문 허용팀원이 완성 전에 팀장에게 되물을 수 있어야 함

흔한 착각 3가지

착각사실
Agent Teams는 Subagents의 상위 버전이다아니다. 축이 다른 별개 도구다
Worktree는 에이전트와 무관한 git 기능이다아니다. isolation: worktree 필드로 통합되어 있다
병렬 실행이 필요하면 Agent Teams다아니다. 단순 병렬은 Subagents가 더 간단하고 저렴하다

가운데 행이 첫 편의 frontmatter 확장 필드표로 되돌아간다. isolation은 거기서 확장 필드 다섯 중 하나로 한 줄만 차지하고 있었는데, 그 한 줄이 여기서 물리적 격리 계층 전체에 해당한다.

다음

세 패턴을 고르고 격리 수단까지 정했다면 구조는 선 것이다. 그런데 구조를 안다고 팀이 굴러가지는 않는다.

팀을 실제로 띄우면 첫날 부딪히는 것은 패턴 선택이 아니라 운용이다. 팀원이 spawn 되자마자 idle로 돌아가고, 메시지를 보냈는데 상대가 깨어나지 않고, 두 팀원이 같은 파일을 동시에 연다.