5개월 40커밋 동안 Orchestrator는 덜어내는 법을 배웠다

문제는 처음에 필요 이상으로 마구 늘렸다는 것이었다. 여러 AI를 지휘하는 '총괄 AI'(오케스트레이터, Orchestrator)에 AI 일꾼(에이전트)을 35개까지 붙였다. 2025년 10월부터 2026년 3월까지 40번의 커밋(변경 기록)을 거치며 일꾼을 12개로 줄이고, 외부 도구를 끊고, 테스트 시나리오를 코드보다 먼저 쓰게 했다. 작은 일을 혼자 맡기는 '매니저형'에서 여러 AI를 한 팀으로 묶는 '팀형'까지의 변화를 커밋 순서대로 따라간다.

5
개월
40
커밋(변경 기록)
5
시기
508
최종 코드 줄 수

진화 한눈에 보기

v1
탄생
2025.10
v1.3
AI 일꾼 급증
6→35개
2025.12
v2
기반 재설계
외부 도구 끊기
2026.02
v3
팀형 등장
5단계
2026.02
v4
대청소
37→12개
2026.03
v5
품질검사 혁신
계약 우선
2026.03
1
탄생기
2025.10 ~ 12
28c4e5dc 2025.10.22 탄생
맨 처음 기록이다. 카드마다 앞에 붙은 여덟 자리 영숫자는 그 변경을 가리키는 커밋 고유번호(해시)다. 이날 Claude Code 공통 설정(내 모든 프로젝트에 함께 적용되는 설정)을 처음 추가했다.
  • 총괄 AI(오케스트레이터)의 행동 규칙을 적은 첫 문서는 159줄이었다.
  • 총괄 AI가 쓰던 두뇌 등급(모델)은 sonnet 이었다. 당시엔 가벼운 등급이었고, 지금은 가장 똑똑한 opus 등급을 쓴다.
  • 외부 도구에 기대고 있었다. 문서를 찾아주는 Context7 과 할 일을 관리하는 TaskManager 두 가지다. 둘 다 MCP(AI가 바깥 프로그램과 대화하는 연결 규약)로 붙이는 외부 연결 서버다.
  • AI 일꾼(에이전트, 역할을 하나씩 맡은 보조 AI)은 6종이었다. 설계 담당 architect, 버그 수정 bug-fixer, 코드 검토 reviewer, 테스트 작성 test-writer, 성능 담당 performance, 범용 담당 specialist 다.
  • 작업을 단계(Phase)로 나누지 않았다. 위에서 아래로 순서대로만 실행했다.
b0db3d30 2025.12.07
문서 규칙을 강화했다. 전문 AI(specialist)에게 일을 시킬 때는 파일이 어디 있는지 정확한 위치를 반드시 알려주게 했다.
6ec297d8 2025.12.15 정점 35개
AI 일꾼이 35개까지 늘어났다. 역대 가장 많았던 때다.
보안(security)·성능(performance)·배포(devops)·문서(documentation)에 UI 디자인 담당(이름은 `ui-ux-designer`)과 기획 담당(`product-specifier`)까지 붙였다. 필요 이상으로 마구 늘린 것이다.
62cbed83 2025.12.16 첫 정리
AI 일꾼을 35개에서 21개로 줄였다. 14개를 삭제한 첫 대규모 정리다.
2
기반 재설계
2026.01 ~ 02.12
552a2674 2026.01.30 사고
설정을 다른 컴퓨터와 맞추다가(동기화) 총괄 AI 규칙 문서를 실수로 삭제했다.
2월 10일에 되살렸다. 이 사고를 계기로 '중요한 정보는 파일 한 곳에만 두고 늘 거기서만 읽는다'는 원칙이 자리 잡았다. 파일이 유일한 진실의 원천이라는 뜻이다.
8f0aa592 2026.02.11 패러다임 전환
작업 방식을 다시 설계했다. 외부 도구(Context7·TaskManager)를 버리고, 기억 저장소 claude-mem 과 Claude Code 에 원래 들어 있는 작업 관리 기능으로 바꿨다.
외부 연결 서버(MCP)에 대한 의존을 완전히 없앴다. 대신 컴퓨터 안의 파일을 정보의 유일한 출처로 삼았다.
3997522e 2026.02.11 단순화
AI 두뇌 등급(모델) 전략을 단순하게 바꿨다. 3등급(똑똑한 opus·중간 sonnet·가벼운 haiku)에서 2등급(opus·sonnet)으로 줄였다.
29f692b0 2026.02.11 핵심 원칙
정보 전달 방식을 고쳤다. 전문 AI(specialist)들끼리 서로 정보가 끊기던 문제를 해결했다.
파일이 유일한 진실의 원천이다. 모두가 같은 파일 하나만 본다.
외부 도구를 거치지 않고 파일을 직접 읽어서 넘긴다. 예를 들어 데이터베이스 설계 파일을 그대로 열어 정확한 표 구조(스키마)를 얻는다.
247949a1 2026.02.11
작업 1~4단계(Phase)에 걸친 대규모 개선을 마쳤다.
6312307d 2026.02.11 품질 반복
품질검사(QA) 되먹임 고리를 완성했다. 발견한 문제를 담당 전문 AI에게 자동으로 연결해 고치게 한다.
307e983c 2026.02.12
보안 품질검사, 변경 이력(changelog) 기록, 여러 AI 동시 실행(병렬 디스패치) 규칙을 하나로 합쳤다.
같은 날 이 시스템을 GitHub에 공개했다. 저장소 이름은 jung-wan-kim/manager-orchestrator 이고, 700줄짜리 구조 설명 문서가 들어 있다.
3
여러 AI를 팀으로 묶는 '팀형 총괄 AI'(team-orchestrator) 탄생
2026.02.18 ~ 02.24
71e9d8e2 2026.02.18
웹 화면을 자동으로 눌러보며 테스트하는 도구를 superpowers-chrome 에서 agent-browser 로 바꿨다.
5d86a6cd 2026.02.24 새 AI 일꾼
여러 AI를 한 팀으로 지휘하는 '팀형 총괄 AI'(team-orchestrator)를 새로 만들었다.
  • 팀원 AI를 만들고(spawn), 끝내고(shutdown), 서로 메시지를 주고받는(SendMessage) 기능을 기반으로 삼았다.
  • 작업 단계를 8단계 → 5단계 로 줄였다.
  • 한 팀은 최대 5명이다. 팀장 역할 team-lead 1명에 전문 AI 4명이다.
  • 무거운 기능(Skill, 미리 써 둔 작업 절차 묶음) 불러오기를 금지했다. 토큰(AI가 글을 읽고 쓰는 단위) 약 2,000개를 아꼈다.
  • 작은 일은 매니저형에, 큰 일은 팀형에 맡기는 두 갈래 체제 가 출범했다.
4
대청소 + 통합
2026.03.04 ~ 03.06
51d3dd0b 2026.03.04 대청소
AI 일꾼과 총괄 AI 설정을 대청소했다.
  • AI 일꾼(에이전트) 37개 → 12개 (-68%)
  • 자동 검사 스크립트(훅, 정해진 순간마다 저절로 도는 검사) 15개 → 7개 (-53%)
  • 설정 파일(settings.json) 754줄 → 143줄 (-81%)
de5dcd84 2026.03.06 동시 실행
팀형 총괄 AI에 '여러 AI 동시 실행' 방식을 더했다.
화면 담당(frontend)과 서버 담당(backend) AI를 동시에 띄운다(spawn). 백그라운드 실행 옵션(`run_in_background`)으로 뒤에서 돌리고, 각자 별도 작업 폴더(worktree)에서 겹치지 않게 격리한다.
715bf4e2 2026.03.06 격리
여러 프로젝트를 동시에 다룰 때 서로 섞이지 않게 분리했다. 팀 이름 값(`team_name`)으로 구분한다.
5
품질검사(QA) 혁신
2026.03.10 ~ 03.12
1464d935 2026.03.10 강제
웹 화면을 실제 브라우저로 테스트하도록 의무화했다.
품질검사를 실제로 했다는 증거 파일(`.qa-evidence.json`)에 '브라우저 테스트를 실행함'이라는 항목(`browser_test.executed: true`)을 반드시 기록해야 한다. 코드가 빌드(컴파일)만 됐다고 합격 처리하면 '거짓 보고'로 본다.
9fe13788 2026.03.11 패러다임 전환
2.5단계(Phase 2.5)를 도입했다. 코드를 짜기 전에 무엇을 어떻게 테스트할지(품질검사 시나리오)를 먼저 확정한다.
가장 중요한 변화.
  • 테스트 계획 문서(`docs/qa-test-plan.md`)를 만들지 않으면 다음 구현 단계(3단계)로 넘어갈 수 없다.
  • 테스트 시나리오는 '무엇을 만들어달라'는 요구사항에서 뽑아낸다. 이미 짠 코드에 맞춰 만드는 것은 금지다.
  • 시나리오는 곧 코드가 반드시 통과해야 할 '약속(계약)'이다
466f7d82 2026.03.11 수정 반복
품질검사에서 실패하면 그 리포트를 바탕으로 자동으로 고치고 다시 검사하는 반복 과정을 3·4단계에 더했다.
순서는 이렇다. 실패하면 문제 리포트를 뽑는다. 담당 전문 AI에게 어느 시나리오인지, 몇 번 실패했는지, 기대한 결과와 실제 결과를 전달한다. 고치고 나면 다시 품질검사를 돌린다.
71fceacc 2026.03.11 세밀화
사람에게 도움을 넘기는(에스컬레이션) 기준을 '전체 작업 3번 실패'에서 '같은 시나리오 3번 실패'로 바꿨다.
어려운 버그 하나 때문에 프로젝트 전체가 멈추던 문제를 해결했다. 막힌 시나리오만 사람에게 넘기고, 나머지는 계속 자동으로 고친다.
e88d9808 2026.03.12 연동
품질검사만 전담하는 별도 지휘 AI(qa-orchestrator)를 이어 붙여 독립적으로 한 번 더 검사한다.
마지막 5단계가 끝나면 '품질검사 전담 AI를 한 번 더 돌릴까요?'라고 반드시 묻는다. '예'를 고르면 독립적으로 다시 검증한다.

구조 비교: 처음 모습(v1) vs 지금 모습(v5)

v1 (2025.10)

총괄 AI · Manager (sonnet 등급)
↓ 작업 지시
전문 AI × 6~35개
↓ 파일 작성·수정
자동 검사(훅) × 4~15개
Context7 + TaskManager (외부 연결 서버)

v5 (2026.03)

팀장 총괄 AI · Team-Lead (opus 등급)
↓ 팀 명령 (생성·메시지·종료)
전문 AI × 최대 4명
2.5단계: 품질검사 시나리오 = 지켜야 할 계약
간이 품질검사 → 전체 품질검사 (증거 파일 .qa-evidence.json)
파일 + 내장 작업관리 (외부 도구 의존 없음)

AI 일꾼(에이전트) 개수 변화

v1 (10/22)
6
6
v1.1 (12/11)
31
31
v1.3 (12/15)
35 (정점)
35
정리 (12/16)
21
21
v2 (02/11)
12
12
대청소 (03/04)
12
12
v5 현재
12 (안정)
12

처음(v1) → 지금(v5) 핵심 수치 비교

구조

단계(Phase) 수8개5개 (2.5단계 추가)
AI 일꾼 수6~35개12개 (한 팀 5명 상한)
자동 검사(훅) 수4~15개1개
코드 줄 수159줄508줄

기술

총괄 AI 두뇌 등급sonnetopus
외부 도구 의존Context7+TaskManager없음
동시 실행 방식Promise.allTeam API
테스트 도구여러 개 혼용agent-browser

품질검사(QA)

검사 시점사후 (다 만든 뒤)사전 (미리 계약)
검사 증거없음.qa-evidence.json
사람에게 넘기는 기준전체 3번 실패시나리오별 3번 실패
브라우저 테스트선택 사항필수

5개월간의 교훈

📉
팽창 → 정리
AI 일꾼을 35개까지 늘렸다가 결국 12개로 줄였다. 일꾼이 적고 각자 더 넓은 책임을 맡는 편이 더 효율적이었다.
📁
파일 = 진실
외부 연결 서버(MCP) 의존을 없앴다. 컴퓨터 안의 파일이 가장 안정적이고, 문제가 생겨도 들여다보기(디버깅) 쉬운 저장 방식이었다.
📋
계약 먼저
'일단 만들고 나서 테스트'에서 '먼저 테스트 기준(계약)을 정하고 그 기준을 지키게 만들기'로 바꿨다. 품질검사 시나리오가 코드보다 먼저 나온다.
🎯
꼭 필요할 때만 사람 호출
문제가 생겨도 전체를 멈추지 않고 시나리오 하나하나를 따로 추적한다. 고칠 수 있는 건 AI가 계속 고치고, 정말 못 고치는 것만 사람에게 넘긴다.