Decompose와 Swarm 가이드 — 목표 한 줄로 팀 전체를
💡 이 유닛에서 배우는 것: "브랜드 런칭 준비 패키지" 같은 아주 큰 목표 하나를 던지면, 헤르메스가 알아서 작업 카드로 쪼개고 담당자까지 붙여줍니다. 더 나아가 명령 한 줄로 팀 전체가 병렬로 일하고, 한 사람이 검증하고, 또 한 사람이 그 결과를 한 편으로 합쳐주는 구조(Swarm)까지 만들 수 있어요. 마지막엔 그 결과물을 Google 문서로 깔끔하게 발행하는 것까지 봅니다.
1. 큰 목표가 떨어지면 — 통째로 맡긴다
지금까지는 직접 손으로 카드를 하나씩 만들어서 업무를 할당해 줬죠. 그런데 갑자기 "MAGMA 브랜드 런칭 준비" 같은 아주 큰 목표가 떨어지면 어떻게 할까요.
보통은 회의를 열어서 일을 쪼개고, 누구한테 줄지 하나하나 정합니다. 이 모든 일을 손으로 하면 매우 수고스럽죠. 일이 커질수록 이 "쪼개고 나누는" 작업 자체가 부담이 됩니다.
이번에는 그걸 헤르메스에게 완전히 통째로 맡겨봅니다. 목표만 던지면 카드로 쪼개지고, 담당까지 알아서 붙는 과정이에요. 그리고 마지막에는 명령 한 줄로 팀 전체가 한 방향으로 도는 것까지 보겠습니다.
📌 흐름 한눈에: 목표 한 줄 → 카드로 분해 → 담당 자동 배정 → 병렬 작업 → 검증 → 합성 → Google 문서 발행
2. 좋은 작업 카드 = 누가 · 무엇을 · 왜
본격적으로 시작하기 전에, 좋은 작업 카드가 무엇인지부터 짚을게요. 좋은 작업 카드에는 세 가지 요소가 들어갑니다.
| 요소 | 의미 | 예시 |
|---|---|---|
| 누가 | 어떤 직원이 맡을지 | 데이터분석가 Ada |
| 무엇을 | 구체적으로 할 일 | 타깃 세그먼트·가격 포지셔닝 분석 |
| 왜 | 비즈니스 스토리 | 진입가를 확정해 라인업 설계의 근거를 만든다 |
이 중에서 **"왜"**가 특히 중요합니다. 이걸 비즈니스 스토리라고 불러요. 이 일이 왜 필요한지를 적어주는 거죠. 이 한 줄이 있어야 담당 직원이 방향을 잃지 않고 결과를 냅니다.
3. ★ 역할 설명(describe)이 비면 일이 안 간다
여기서 중요한 게 하나 있습니다. 헤르메스는 누구한테 뭘 줄지를 어떻게 알까요?
우리가 직원을 채용할 때 직원마다 박아둔 역할 설명이 있었어요. 기억나시나요? 자동 분해를 맡는 담당이 바로 이 역할 설명을 읽고 누구에게 무슨 일을 줄지 정합니다. 그래서 역할 설명이 비어 있으면 그 직원에게는 일을 정확하게 부여하기가 어렵습니다.
이걸 소피로 직접 확인해 볼게요.
새 보드 만들기 — GUI와 CLI 두 가지 방법
먼저 새 작업을 진행할 보드를 새로 만들겠습니다. 보드는 대시보드의 New Board 버튼으로 만들 수 있죠. 이건 지난 시간에 해봤으니, 이번에는 CLI에서 만드는 방법을 보겠습니다.
CLI에서는 hermes kanban이라는 명령어로 보드를 만들 수 있어요. boards 다음에 create라는 서브 커맨드를 쓰고, 그 다음에 이름을 명시해 주면 됩니다.
hermes kanban boards create "Magma Launch"
보드를 만들면, 이 보드로 바꾸기 위한 명령어를 안내해 줍니다. 그 명령어를 그대로 복사해서 붙여넣으면 활성 보드(Active board)가 새로 만든 보드로 바뀌어요.
hermes kanban boards switch "Magma Launch"
대시보드를 새로 고침하면 Magma Launch 보드가 생긴 걸 볼 수 있습니다. 클릭해서 이 보드로 전환해 줍니다.
직원 역할 설명 확인 — 소피만 비어 있다
이제 프로필(Profiles)로 가보겠습니다. Oliver를 선택해서 Edit description을 눌러보면 자기가 하는 역할들이 작성돼 있어요. 노아도, 미아도 디스크립션을 보면 각자의 역할(디자이너 등)에 맞게 적혀 있습니다.
그런데 소피를 보면 — 비어 있습니다.
채용 계획서를 통해 자동으로 생성한 직원들은 역할 설명이 다 작성돼 있는데, 소피는 처음에 우리가 디스크립션을 넣지 않았었거든요. 소피의 디스크립션이 없으면, 에이전트가 칸반에서 소피가 무슨 역할을 하는지 모르기 때문에 일을 할당하기가 어렵습니다.
그래서 여기에 소피의 역할(총무)을 넣어줍니다. 대시보드에서 직접 작성하고 저장해도 되고, CLI로도 됩니다.
hermes profile describe sophie
⚠️ 교훈: 직원의 역할 설명 한 줄이 곧 배정 정확도입니다. 여러분 회사에서도 직원을 만들 때 역할 설명을 꼭 제대로 채워두세요. 비워두면 그 직원은 자동 분해에서 일을 못 받습니다.
4. 자동 분해 (decompose) — 트리아지에 큰 목표를 던진다
이제 칸반으로 돌아와서, 한 번도 사용하지 않았던 트리아지(Triage) 상태를 이용해 봅니다. 트리아지의 플러스(+) 버튼을 눌러 작업을 넣어주면 디컴포즈(decompose), 즉 분해가 됩니다.
자동 분해 켜고 끄기 — Auto decompose 설정
그런데 이 분해 기능은 설정(Config)에서 제어할 수 있어요. 설정으로 가서 검색어에 Auto decompose라고 입력하면 설정 메뉴가 나옵니다. 이게 Auto로 활성화돼 있으면, 트리아지에 큰 덩어리가 올라오는 순간 자동으로 분해를 해줍니다.
여기서는 일부러 한번 꺼두고 시작해 볼게요. 끈 상태에서 트리아지에 작업을 넣어보면 어떻게 되는지 보기 위해서입니다.
트리아지에 큰 목표 카드 올리기
트리아지에 대주제 카드를 하나 넣습니다. 제목은 마그마 브랜드 런칭 준비 패키지라고 입력하고요. 중요한 건, 어사인(담당)도 주지 않고, 스킬도 명시하지 않습니다. 그대로 크리에이트(Create)를 눌러요.
일단 카드는 생성됐는데, 아무런 반응이 없습니다(Auto decompose를 껐으니까요). 디스크립션도 자세하게 넣어볼게요. 카드를 에디트해서 본문에 큰 목표의 내용을 적습니다.
3040 남성 패션 브랜드 마그마의 런칭 준비 패키지 v1을 완성한다.
- 시장 경쟁 브랜드 심화 조사
- 타깃 세그먼트·가격 포지셔닝·시장 규모 분석
굉장히 큰 업무죠. 나눠야 할 작업이 많습니다. 이대로 세이브(Save)를 눌러도 — 트리아지 상태에서는 여전히 변경이 없어요. Auto decompose가 꺼져 있기 때문입니다.
분해 실행 — Auto decompose를 켠다
이제 Auto decompose를 활성화로 켜주면, 디컴포즈가 자동으로 일어나는 것을 볼 수 있습니다.

분명히 하나의 작업을 넣었는데, ada, ethan, noah, mia, sophie까지 각자의 역할에 맞춰 임무가 부여된 것을 볼 수 있죠. 제가 넣은 것이 아니라, 분해 기능의 LLM이 나눠준 겁니다. 우리는 코덱스 GPT-5.5 모델을 메인 프로바이더로 쓰고 있는데, 바로 이 메인 프로바이더를 이용해서 이렇게 나눠줘요.
지금 작업이 큐(Queue)에 들어갔기 때문에, 순서대로 하나씩 인프로그레스(In Progress) 상태로 넘어갑니다.
💡 전체 다시 쪼개기 vs 한 카드만 다듬기: 큰 목표 전체를 다시 쪼개는 게
decompose라면, 자동으로 나뉜 카드 중 한 장만 더 또렷하게 다듬고 싶을 때 쓰는 명령이 따로 있어요.hermes kanban specify {카드_id}입니다. 전체 재분해는 decompose, 한 카드만 손보기는 specify로 기억해 두세요.
5. 분해 결과 읽기 — 선후 관계가 곧 그래프
분해된 카드들을 보면 각자 역할이 자동으로 배정돼 있습니다.
| 작업 카드(예시 역할) | 담당 | 근거 (역할 설명) |
|---|---|---|
| 시장·경쟁·트렌드 심화 조사 | Ada | 데이터분석가 |
| 사업영역·브랜드 전략 | Ethan | 전략기획 |
| 네이밍·슬로건·브랜드 스토리 | Noah | 카피라이터 |
| 로고·VI·키 비주얼 | Mia | 디자이너 |
| 최종 문서 발행·취합 | Sophie | 총무 |
To Do에 들어가 있는 카드는, 선행 작업이 있으면 그 선행 작업이 끝나야 Ready로 넘어갑니다. 카드를 열어 보면 어떤 카드에는 Children(자식 작업들)이 등록돼 있고, 다른 카드에는 Parent(부모 작업, 즉 선행 작업)가 설정돼 있어요. 이렇게 선후 관계가 연결돼 있는 것을 우리는 그래프라고 부릅니다.
소피의 역할도 최종 문서 발행으로 정리된 것을 볼 수 있어요. 총무의 역할이죠.
그래프를 한눈에 — kanban list
이 그래프를 한눈에 그려볼 수도 있습니다. 터미널에서 다음 명령을 입력하면 전체 모양을 볼 수 있어요.
hermes kanban list
이렇게 제가 누구한테 뭘 시키라고 한마디도 하지 않았지만, 헤르메스가 카드 내용을 보고 적당한 담당을 정해서 작업을 분배합니다. 큰 덩어리 작업을 트리아지에 던지면 이렇게 자동 분해해서 처리할 수 있다는 거예요. 굉장히 편리하죠.
6. Swarm — 섹션의 마지막 하이라이트
이번에는 이 섹션의 마지막 하이라이트 기능입니다.
지금까지는 큰 목표를 잘게 쪼개주는 것까지 자동으로 해봤어요. 이번 기능은 병렬로 일을 시키는 동시에, 한 사람은 그 결과를 아예 검증하고, 또 한 사람은 그것을 합치는 — 중간에 점검자(verifier)와 취합자(synthesizer)를 자동으로 만들어 줍니다.
나누는 것뿐만 아니라, 나눈 것들을 통합(Integrate)해서 최종 결과물까지 뽑아내는 작업까지 완전히 자동화할 수 있어요. 그것을 헤르메스에서는 **Swarm(스웜)**이라고 부릅니다. Swarm은 무리 지어 떼를 이루어 작업하는 것을 의미해요.
⚠️ Swarm은 안타깝게도 대시보드에서 그래픽 인터페이스(GUI)로는 제공하지 않습니다. 향후 대시보드에서도 가능하도록 업데이트될 것으로 보이는데, 지금은 CLI 또는 자연어로만 사용할 수 있어요. 그래서 먼저 CLI로 해보고, 그 다음에 자연어로도 요청해 봅니다.
💡 decompose보다 한 단계 고도화: 디컴포즈는 큰 작업을 나누기만 합니다. Swarm은 병렬로 위임한 결과를 받아다가 통합 처리하는 것까지 신경 쓴 기능이에요. 그래서 한 단계 더 고도화된 작업입니다.
7. Swarm 명령 — 워커 · 검증 · 합성
먼저 Swarm을 사용할 보드를 새로 만들어요. 보드는 New Board 버튼으로도, CLI로도 만들 수 있죠. CLI로 만들어 봅니다.
hermes kanban boards create "Magma Launch 2"
생성하면 보드를 스위치할 수 있는 명령어를 제공해 줘요. 반드시 스위치를 한 다음에 작업을 등록해야 새 보드에 등록됩니다.
hermes kanban boards switch "Magma Launch 2"
현재 보드가 Magma Launch 2로 바뀐 것을 확인하고, 대시보드에서도 목록에 새 보드가 보이는지 확인합니다.
### Swarm 명령 입력하기
이제 터미널에서 다음 명령을 입력합니다. hermes kanban 다음에 swarm 명령어를 쓰고, 작업에 이름을 붙여줍니다. 그 다음 중요한 부분이 옵션들이에요.
hermes kanban swarm "MAGMA 브랜드 런칭 준비 패키지" --worker oliver:시장조사 --worker ada:가격 --worker noah:네이밍 --worker mia:로고 --verifier ethan --synthesizer sophie --json
옵션을 정리하면 이렇습니다.
| 옵션 | 의미 | 쓰는 법 |
|---|---|---|
--worker | 병렬로 일하는 작업자 (여기선 4명) | 프로필:작업역할 (콜론으로 구분) |
--verifier | 작업된 결과물을 검증하는 사람 | 프로필명 |
--synthesizer | 모든 작업을 통합해서 보고하는 사람 | 프로필명 |
--json | 출력을 JSON 형식으로 | (플래그) |
--worker는 왼쪽에 프로필, 오른쪽에 작업 역할을 콜론(:)으로 구분해서 써줍니다.--verifier는 일반 작업자가 아니라, 작업된 결과물을 검증하는 사람의 프로필명을 넣습니다.--synthesizer는 이 모든 작업을 통합해서 보고하는 역할을 부여합니다.
8. 등록 결과 — 루트는 자동 완료, 자식은 진행 중
칸반 Swarm 명령을 입력하면 작업이 등록됩니다. 대시보드에서 확인해 보면, To Do에 카드가 잡혀 있고, 인프로그레스에도 각각 잡혀 있어요. 그리고 Done에 "Swarm"이라고 된 카드가 보입니다.
이렇게 Swarm으로 등록하면, 전체를 등록하는 루트 작업은 자동으로 완료(Done) 처리가 돼요. 그리고 이 완료된 작업에 자식 카드들이 달리고, 그 자식 카드들이 바로 인프로그레스로 잡히는 겁니다.
여기서 ethan과 sophie는 좀 독특한 임무였어요.
| 카드 제목 | 담당 | 누가 정했나 |
|---|---|---|
| (워커 작업들) | Oliver·Ada·Noah·Mia | 내가 명시적으로 부여 |
| Verify | Ethan | Swarm LLM이 자동으로 잡음 |
| Synthesize Swarm Outputs | Sophie | Swarm LLM이 자동으로 잡음 |
ethan은 검증(Verify)하는 역할이라 제목도 "검증"으로 잡혔고, sophie는 전체를 통합 처리하는 역할이라 "Synthesize Swarm Outputs"로 잡혔어요. 이 두 개의 제목은 Swarm LLM이 자동으로 잡아준 거고, 담당 자체(ethan·sophie)는 제가 명시적으로 제공한 겁니다.
이렇게 워커를 등록하고, 나머지 검증과 통합 처리까지 하는 기능이 Swarm에 들어 있어요.
9. 자연어로 Swarm — 옵션을 외울 필요는 없다
위의 Swarm 옵션들, 외우실 필요 없습니다. 챗에서 자연어로 풀어서 부탁해도 헤르메스가 알아서 명령으로 옮겨 실행해요.
먼저 보드를 새로 만듭니다.
hermes kanban boards create "Magma Launch 3"
그리고 두 번째 보드(Magma Launch 2)에 있던 작업들을 잠깐 멈추고, 모두 아카이빙해서 정리해 줍니다. 그 다음 Magma Launch 3 보드로 바꿔주고, 터미널에서도 보드를 Launch 3로 스위치합니다.
hermes kanban boards switch "Magma Launch 3"
이제 Oliver Chat(채팅)으로 와서, 자연어로 Swarm이 가능한지 봅니다.
'마그마 브랜드 런칭 준비 패키지'를 Swarm으로 팀에 분해해줘.
워커는 oliver:시장조사, ada:가격, noah:네이밍, mia:로고.
검증은 ethan, 마지막 합성은 sophie가 맡게 해줘.
보드는 Magma Launch 3야.
이렇게 말하면, 에이전트가 차례로:
kanban-collaboration스킬을 호출하고,- 회사 문서를 다 읽어 작업에 필요한 컨텍스트를 확보하고,
- 칸반 명령어를 확인한 뒤,
- Swarm 기능의 옵션들(워커·verifier·synthesizer)을 정확하게 넣어 등록합니다.
따로 말하지 않은 우선순위 같은 옵션도 알아서 더 챙겨 넣더군요. 그리고 "Swarm을 세팅했다"고 보고합니다.
확인해 보면, 자연어 요청만으로도 Swarm이 잘 등록된 걸 볼 수 있어요. 작업들을 하나하나 분해해서 각 워커에게 할당하고, 나중에 작업이 다 끝나면 풀리도록 종속된 verifier와 synthesizer 역할까지 정확히 세팅된 것을 볼 수 있습니다.
💡 우리가 할 일은 문법이 아니라 "무엇을, 누구에게, 어떤 기준으로"를 정확히 주는 것입니다. 명령어 외우기에 힘 빼지 마세요.
10. 결과는 어떻게 흐르나 — 부모와 자식
여기서 의문이 하나 듭니다. 워커 넷이 따로따로 일했는데, sophie는 그 결과를 어떻게 하나로 묶을까요.
마법이 아니에요. 카드끼리 부모와 자식으로 연결돼 있기 때문입니다. 워커가 일을 끝내면서 남긴 결과 요약이, 자식인 합성 카드의 작업 지시문에 자동으로 주입됩니다. 부모의 결과가 자식 카드로 딱 붙어 들어가는 거죠.
그래서 sophie는 네 명의 워커가 어떤 작업을 했는지 자기 컨텍스트에서 받아보고 합칩니다. 검증 담당 ethan도 똑같은 방식으로 일하고요.
11. 병렬은 공짜가 아니다 — 리소스 주의
작업이 돌아가는 동안 CPU 사용량을 한번 봤더니, 네 개의 병렬 작업이 많은 자원을 소비하고 있었어요.
병렬로 수행한다고 해서 무작정 무한대로 돌릴 수 있는 건 아닙니다. 여러분의 리소스 상황을 보면서 판단하셔야 해요.
| 지표 | 병렬 4개 작업 중 |
|---|---|
| CPU | 평균 약 40~50%, 최고 90%까지 |
| 메모리 | 약 7GB (큰 변화 없음) |
이 모든 작업이 완료될 때까지 기다립니다. 인프로그레스의 카드들이 전부 수행되고 나면, 그 결과가 sophie와 ethan에게 컨텍스트로 주입되면서 다음 작업(검증·합성)이 진행됩니다.
12. 합성자에게 발행 지시 추가하기
이제 원하는 결과물이 나오도록, 합성 카드(sophie)에 추가 요청을 넣어 진행해 봅니다. 합성 카드의 에디트 버튼을 눌러서, 본문 아래에 추가 요청 내용을 적습니다.
너는 총무 sophie이다.
여기 있는 (워커들의) 결과를 요약해서,
구글 드라이브에 문서를 올리고, 그 문서를 구글 독스로 배포하라.
이미지가 있다면 구글 독스에 이미지를 임베드해서 처리하라.
이렇게 합성자에게 어떻게 발행할지까지 추가해 주면 원하는 결과물로 유도할 수 있어요. 세이브를 누르면 카드가 인프로그레스로 바뀌면서 합성 절차가 진행됩니다.
13. sophie blocked 교정 — 이미지 처리 방향 잡아주기
합성 절차를 진행하던 중에 sophie가 blocked가 됐어요. 보니까 sophie가 직접 이미지를 생성하려고 시도하는 것 같았습니다. 합성자가 할 일이 아니죠.

그래서 코멘트로 방향을 잡아줍니다.
이미지 생성은 하지 말고, 미아의 이미지만 처리하라.
이렇게 코멘트를 주고 등록한 다음, 다시 Ready로 넘기고 **디스패치(Dispatch)**를 눌러 진행합니다. 그러면 sophie가 GWS 드라이브를 쓰면서, 제가 코멘트로 날린 추가 요청 사항대로 작업을 시작해요.
14. Google 드라이브로 발행 — 로고 + 방향성 문서
sophie가 중간 결과물들을 계속 구글 드라이브에 올립니다. 구글 드라이브에서 확인해 볼게요.
- MAGMA 로고가 정상적으로 올라가 있고,
- MAGMA 브랜드 방향성 문서도 생성돼 있습니다.
이 기획 문서를 열어 보면 목차도 잘 정리돼 있고, 네이밍·로고·종합 권고 사항, 남은 질문들까지 아주 자세하게 조사해서 보고서를 작성해 줬어요. 바로 활용할 수 있을 정도로 퀄리티가 좋습니다.
작업이 완료되고, sophie는 구글 드라이브 공개 URL로 이미지를 임베드했다고 보고합니다. 로고가 로컬 파일이라도, 드라이브에 올려 공개 URL을 만들면 문서 안에 그대로 들어가요.
모든 작업이 Done 상태에 다 등록됐습니다.
💡 핵심 정리: 디컴포즈 기능만으로는 작업을 나눠서 처리할 수는 있지만, 이렇게 통합 처리하는 부분은 Swarm을 사용해야 정확하게 처리됩니다. 나누기는 decompose, 통합까지는 Swarm입니다.
15. 한 흐름으로 정리
오늘 여러분은 일을 손으로 쪼개지도, 직접 하지도 않았습니다. 한 흐름으로 정리하면 이렇습니다.
| 단계 | 무엇이 일어나나 |
|---|---|
| 목표 한 줄 | 큰 목표를 한 덩어리로 던진다 |
| 자동 분해 | 작업 카드 N개로 쪼개지고 담당이 붙는다 |
| 병렬 작업 | 워커들이 동시에 일한다 |
| 검증 | verifier(ethan)가 워커 결과를 점검한다 |
| 합성 | synthesizer(sophie)가 한 편으로 묶는다 |
| 발행 | Google 문서로 깔끔하게 내보낸다 |
목표 하나를 던지니까 카드로 쪼개지고 담당이 붙었고, 명령 한 줄로 팀이 병렬로 일하고, 검증하고, 한 편으로 합쳐지고, 구글 문서로 발행까지 됐죠. 이제 여러분은 일하는 사람이 아니라, 팀이 한 방향으로 굴러가게 설계하는 오케스트레이터로서의 모든 과정을 경험하셨습니다.
💡 다음 단계 예고: 외부 신호로 오케스트레이션이 도는 자회사를 실제로 설계해 나갑니다.
