여러 AI 에이전트가 하나의 작업 보드에서 협업하는 멀티에이전트 시스템
v2.0 (2026-05-08): 멀티보드, 중복방지 생성, kanban-worker/orchestrator 스킬 상세, 작업별 스킬 지정, 일괄 명령어, 작업 이력(Runs), 게이트웨이 알림, 멀티테넌트, 이벤트 레퍼런스 추가
v1.1 (2026-05-05): 실전 시나리오 3종 추가 (마케팅팀, 개발팀, 미디어 제작)
v1.0 (2026-05-05): 최초 작성 — Kanban 기능 전체 설명
Kanban은 Hermes Agent 프로필들이 하나의 공유 작업 보드(Task Board)에서 협업할 수 있게 해주는 기능입니다. 칸반 보드처럼 해야 할 일 → 진행 중 → 완료로 작업을 관리하고, 여러 프로필(연구자, 작가, 개발자 등)이 각자 맡은 일을 처리한 뒤 다음 작업자에게 자동으로 넘깁니다.
쉬운 비유: 회사에서 사용하는 Trello나 Jira 같은 프로젝트 관리 보드를 상상해보세요. 그런데 카드를 옮기는 사람이 사람이 아니라 AI 에이전트라는 점만 다릅니다. AI가 스스로 작업을 가져가고, 완료한 뒤 결과를 남기고, 다음 작업자에게 넘깁니다.
기존 delegate_task로도 서브에이전트를 만들어 작업을 시킬 수 있었지만, 몇 가지 한계가 있었습니다:
→ 단발성 함수 호출
→ 지속적인 작업 큐 + 상태 머신
Kanban은 이런 상황에 딱 맞습니다:
연구자 2명이 조사한 내용을 작가가 하나로 합치는 흐름
매일 아침 자동으로 브리핑을 만들어 몇 주간 쌓아가는 저널
AI가 막히면 사람에게 물어보고, 답변을 받아 다시 진행
한 명의 전문가가 50개 SNS 계정을 관리
| 개념 | 설명 |
|---|---|
| 보드 (Board) | 작업을 관리하는 하나의 공간. 프로젝트마다 별도 보드를 만들 수 있습니다. 기본은 default 보드. |
| 작업 (Task) | 하나의 할 일. 제목, 담당자(프로필), 상태(todo→ready→running→done)를 가집니다. |
| 작업자 (Worker) | 작업을 실제로 수행하는 Hermes 프로필. dispatcher가 자동으로 생성하고 실행합니다. |
| 워크스페이스 (Workspace) | 작업자가 파일을 만들고 수정하는 작업 폴더. 임시 폴더나 기존 폴더를 지정할 수 있습니다. |
| 디스패처 (Dispatcher) | 준비된 작업을 찾아서 적절한 작업자를 자동으로 실행하는 관리자. 게이트웨이 안에서 60초마다 동작합니다. |
| 핸드오프 (Handoff) | 작업자가 작업을 마칠 때 남기는 요약과 메타데이터. 다음 작업자가 이 정보를 읽고 이어서 진행합니다. |
1. 작업 생성 → 2. 대기열 → 3. 디스패처가 감지 → 4. 작업자 생성
(사람 또는 오케스트레이터가 생성)
↓
5. 작업 실행 → 6. 완료 + 핸드오프 → 7. 다음 작업자에게 전달
(AI가 kanban_show()로 작업 읽고, kanban_complete()로 완료)
구체적인 예시: "2024년 AI 투자 동향 보고서 작성"이라는 작업을 시킨다고 해봅시다.
researcher-a에 할당researcher-b에 할당writer에 할당, A와 B가 끝나야 시작핵심: 여러분은 "AI 투자 동향 보고서 만들어줘"라고 한 마디만 하면 됩니다. 작업 분해부터 실행, 인계까지 Hermes가 알아서 합니다.
hermes kanban init
~/.hermes/kanban.db 파일이 생성됩니다. 이 파일이 모든 작업을 저장하는 데이터베이스입니다.
hermes gateway start
게이트웨이 안에 디스패처가 내장되어 있어서, 별도로 뭘 실행할 필요가 없습니다.
hermes kanban create "AI 투자 동향 조사" --assignee researcher
이제 60초 내에 디스패처가 researcher 프로필을 실행하고 작업을 시작합니다.
hermes kanban list # 전체 작업 목록
hermes kanban show t_xxxx # 특정 작업 상세
hermes kanban watch # 실시간 이벤트 스트림
hermes kanban stats # 상태별 통계
CLI만으로도 충분하지만, 시각적으로 보고 싶다면 웹 대시보드를 열 수 있습니다:
hermes dashboard
대시보드에서는 다음과 같은 작업을 할 수 있습니다:
| 패턴 | 설명 | 예시 |
|---|---|---|
| 팬아웃 (Fan-out) | 같은 역할의 작업자를 여러 명 동시에 실행 | "5개 주제 동시에 조사해줘" |
| 파이프라인 (Pipeline) | 작업이 순차적으로 전달 — A 완료 → B 시작 → C 시작 | 조사 → 편집 → 최종 작성 |
| 사람 개입 (Human-in-the-loop) | AI가 결정을 못 내리면 사람에게 물어보고 진행 | "이 문구 A/B 중에 뭐가 좋아?" → 사용자가 답변 |
| 정기 저널 (Journal) | 같은 프로필이 매일 같은 폴더에 작업을 쌓아감 | 매일 아침 뉴스 브리핑 → 몇 주치 저널 |
| 함대 관리 (Fleet) | 한 프로필이 여러 주제를 동시에 관리 | SNS 계정 50개 일괄 관리 |
게이트웨이(Tekegram)에서 /kanban 슬래시 명령어로 칸반을 조작할 수 있습니다. CLI에 접속하지 않아도 됩니다:
/kanban list # 작업 목록
/kanban create "번역 작업" --assignee linguist # 새 작업 생성
/kanban show t_xxxx # 상세 보기
/kanban comment t_xxxx "좋아 보입니다" # 댓글 달기
/kanban unblock t_xxxx # 차단된 작업 재개
자동 알림: 텔레그램에서 /kanban create로 작업을 만들면, 그 작업이 끝날 때 자동으로 완료 알림을 받습니다. 따로 확인할 필요가 없습니다.
| 팀원 | 역할 | 하는 일 |
|---|---|---|
| 팀장 | 총괄 | 작업 배분, 승인, 대시보드 모니터링 |
| 기획자 A | 콘텐츠 | 블로그 주제 발굴, 키워드 리서치 요청 |
| 디자이너 B | 디자인 | 썸네일·배너·SNS 이미지 요청 |
| 운영자 C | SNS | 발행 일정 관리, 플랫폼별 포스팅 |
| 분석가 D | 데이터 | 광고 성과 리포트, 경쟁사 분석 |
필요한 AI 프로필: writer, researcher, designer, analyst
# 09:00 — 팀장
/kanban create "이번 주 블로그 키워드 리서치" --assignee researcher
/kanban create "경쟁사 A 신제품 분석" --assignee analyst
# 09:02 — 디스패처 감지 → AI 실행
# 09:10 — researcher 완료 (결과: 키워드 3건 추천)
# 09:11 — 기획자 A (결과 확인 후)
/kanban create "AI 트렌드 블로그 원고" --assignee writer
/kanban create "썸네일 제작: AI 트렌드" --assignee designer
# 09:25 — writer + designer 완료
# 09:26 — 운영자 C (원고 확인 후)
/kanban show t_xxxx
/kanban create "인스타 요약본 + 해시태그" --assignee writer
# 14:00 — 분석가 D
/kanban create "주간 광고 성과 리포트" --assignee analyst
핵심: 5명 모두 같은 보드를 실시간으로 공유합니다. 누가 뭘 시켰는지, AI가 뭘 완료했는지 대시보드에서 한눈에 보입니다. 팀장은 진행 상황만 모니터링하면 됩니다.
| 팀원 | 역할 | 하는 일 |
|---|---|---|
| 리드 개발자 | 총괄 | PR 목표 설정, 최종 승인 |
| 개발자 1 | 백엔드 | API 구현, 기능 개발 |
| 개발자 2 | 프론트엔드 | UI 구현, 컴포넌트 개발 |
| 리뷰어 | 코드 리뷰 | 코드 품질·보안·테스트 점검 |
필요한 AI 프로필: backend-eng, frontend-eng, reviewer
# 10:00 — 리드 개발자
/kanban create "사용자 인증 API 구현" --assignee backend-eng
/kanban create "로그인 페이지 UI" --assignee frontend-eng
# AI 개발 완료 → 자동으로 PR 생성
# 완료 시 핸드오프: 변경 파일, 테스트 결과, PR 링크
# 11:00 — 리드 개발자 (AI 결과 확인 후)
/kanban create "auth 모듈 코드 리뷰" --assignee reviewer \
--parent t_api t_ui ← API·UI 둘 다 완료되면 시작
# 리뷰어 AI: 코드 품질·보안·테스트 커버리지 분석 → PR 코멘트 작성
# 완료 시 핸드오프: 발견된 이슈, 추천 수정사항, 승인 여부
실제 이점: 사람이 PR을 읽고 리뷰하기 전에 AI가 1차 리뷰를 끝내줍니다. 보안 취약점, 코딩 컨벤션 위반, 테스트 누락을 자동 감지해서 개발자는 핵심 로직 검토에만 집중할 수 있습니다.
| 팀원 | 역할 | 하는 일 |
|---|---|---|
| PD | 기획 | 콘텐츠 기획, 주제 선정, 최종 승인 |
| 작가 | 원고 | 스크립트·대본·블로그 원고 작성 |
| 편집자 | 편집 | 영상·오디오 편집 지시 |
| 배포 담당 | 채널 | 유튜브·팟캐스트·블로그 발행 |
필요한 AI 프로필: researcher, writer, editor
# 08:00 — PD
/kanban create "이번 주 AI 트렌드 리서치" --assignee researcher
# researcher 완료 (관련 뉴스·논문·통계 링크 포함)
# 08:15 — PD (리서치 확인 후)
/kanban create "AI 트렌드 영상 스크립트" --assignee writer \
--workspace dir:~/projects/yt-ai-trends/
# writer: 15분 분량 스크립트 + 섬네일 텍스트 + 설명란 문구 + 해시태그
# 완료 핸드오프: 스크립트.md, 섬네일-아이디어.txt, 설명란.txt
# 09:00 — 편집자 (스크립트 확인 후)
/kanban create "스크립트 기반 편집 지시서 작성" --assignee editor \
--workspace dir:~/projects/yt-ai-trends/
# editor: 타임코드별 B-roll 제안, 자막 하이라이트, 인트로/아웃트로 구성
# 완료 핸드오프: 편집노트.md
# 10:00 — PD (전체 검토 후 최종 승인)
/kanban create "영상 설명란 SEO 최적화" --assignee writer
# 11:00 — 배포 담당
/kanban create "유튜브·블로그·SNS 발행 스케줄" --assignee writer
실제 이점: 리서치→스크립트→편집지시까지 2시간 안에 완료됩니다. 사람이 직접 쓰면 1~2일 걸리던 작업이 아침 루틴으로 바뀝니다. PD는 기획과 최종 승인에만 집중하고, AI가 모든 중간 산출물을 만듭니다.
보드(Board)를 여러 개 만들어서 프로젝트·도메인별로 작업을 완전히 분리할 수 있습니다. 각 보드는 별도의 SQLite DB, 작업 공간, 로그 디렉토리를 가집니다.
| 보드 | 용도 |
|---|---|
| default | 일반 작업 (기본) |
| atm10-server | 마인크래프트 서버 운영 |
| marketing | 마케팅 캠페인 관리 |
# 현재 보드 확인
hermes kanban boards list
# 새 보드 만들기
hermes kanban boards create marketing \
--name "마케팅팀" \
--description "캠페인·콘텐츠 작업 관리" \
--switch # 이 보드를 활성 보드로 전환
# 특정 보드에 작업 생성
hermes kanban --board marketing create "블로그 원고 작성" --assignee writer
# 보드 전환
hermes kanban boards switch marketing
# 보드 아카이브 (복구 가능)
hermes kanban boards rm marketing
# 보드 완전 삭제
hermes kanban boards rm marketing --delete
보드 전환 우선순위: --board 옵션 → 환경변수 → 현재 보드 → default. 작업자는 자신이 속한 보드 외의 작업을 볼 수 없습니다.
자동화 스크립트나 웹훅에서 같은 작업이 중복 생성되는 것을 방지합니다. 동일한 idempotency-key로 다시 호출하면 새 작업을 만들지 않고 기존 작업 ID를 반환합니다.
# 첫 호출 — 작업 생성
hermes kanban create "매일 아침 뉴스 브리핑" \
--assignee researcher \
--idempotency-key "daily-brief-2026-05-08"
# 같은 키로 두 번째 호출 — 새 작업 안 만듦, 기존 ID 반환
hermes kanban create "매일 아침 뉴스 브리핑" \
--assignee researcher \
--idempotency-key "daily-brief-2026-05-08" \
--json
작업자를 위한 두 가지 번들 스킬이 기본 설치됩니다. 이 스킬들은 작업자가 CLI 명령어 대신 도구 호출(tool call)로 보드를 조작하는 방법을 알려줍니다.
모든 칸반 작업자가 반드시 로드해야 하는 스킬입니다:
# 작업자에게 스킬이 설치되어 있는지 확인
hermes -p worker skills list | grep kanban-worker
# 누락 시 복구
hermes -p worker skills reset kanban-worker --restore
오케스트레이터는 직접 작업을 수행하지 않고, 큰 목표를 세부 작업으로 분해·배정·연결합니다:
# 오케스트레이터의 전형적인 턴
kanban_show() # 작업 내용 확인
kanban_create( # 연구 작업 A 생성
title="북미 AI 투자 동향 조사",
assignee="researcher-a",
body="시드·시리즈A, AI 분야 중점")
kanban_create( # 연구 작업 B 생성
title="유럽 AI 투자 동향 조사",
assignee="researcher-b")
kanban_create( # 종합 작업 (A,B 완료 후 시작)
title="조사 결과 종합 보고서",
assignee="writer",
parents=["t_a", "t_b"])
kanban_complete(summary="2개 연구 → 1개 종합 파이프라인 구성 완료")
팁: 오케스트레이터 프로필은 toolsets을 board operations(kanban, gateway, memory)로 제한하세요. 그래야 실수로 구현 작업을 직접 하지 않습니다.
특정 작업에만 필요한 전문 스킬을 작업별로 지정할 수 있습니다. 작업자의 프로필을 매번 수정할 필요가 없습니다.
# 번역 작업이 필요할 때
hermes kanban create "README 일본어 번역" \
--assignee linguist \
--skill translation
# 보안 감사 작업
hermes kanban create "인증 모듈 감사" \
--assignee reviewer \
--skill security-pr-audit \
--skill github-code-review
대시보드에서도 작업 생성 시 skills 필드에 쉼표로 구분하여 입력할 수 있습니다.
여러 작업을 한 번에 완료·보관·차단·해제할 수 있습니다.
hermes kanban complete t_abc t_def t_hij --result "일괄 완료"
hermes kanban archive t_abc t_def t_hij
hermes kanban block t_abc "검토 필요" --ids t_def t_hij
hermes kanban unblock t_abc t_def
| 특징 | delegate_task | Kanban |
|---|---|---|
| 방식 | 함수 호출 (호출 → 대기 → 결과) | 메시지 큐 (생성 → 비동기 → 완료) |
| 부모 동작 | 자식 끝날 때까지 멈춤 | 작업 생성 후 바로 다음 일 가능 |
| 실패 처리 | 실패 = 끝 | 자동 재시도 + 사람 개입 가능 |
| 작업 이력 | 컨텍스트 압축 시 소멸 | SQLite에 영구 보존 |
| 여러 에이전트 | 1:1 | N:M (여러 명이 한 작업, 한 명이 여러 작업) |
| 사람 개입 | 불가능 | 언제든 댓글, 차단 해제 가능 |
간단히: delegate_task는 "얘가 이거 좀 해줘" 하고 기다리는 거고, Kanban은 "여기 할 일 목록 있어. 알아서 가져가서 하고, 다 되면 말해줘" 하는 겁니다.
hermes gateway start가 실행 중이어야 작업이 자동으로 처리됩니다.kanban-worker 스킬이 설치되어 있어야 합니다. (hermes skills install devops/kanban-worker)kanban-orchestrator 스킬을 사용합니다.각 작업은 여러 번 실행될 수 있으며, 매 실행마다 별도의 행(Run)으로 기록됩니다. 재시도, 충돌, 타임아웃, 사람이 개입한 모든 이력을 추적할 수 있습니다.
# 작업 시도 이력 확인
hermes kanban runs t_abcd
# # OUTCOME PROFILE ELAPSED STARTED
# 1 blocked worker 12s 2026-04-27 14:02
# → BLOCKED: rate-limit 키 결정 필요
# 2 completed worker 8m 2026-04-27 15:18
# → token bucket 구현 완료, user_id 기준 IP fallback
작업 완료 시 남기는 핸드오프는 다음 작업자에게 전달됩니다:
kanban_complete(
summary="token bucket 구현 완료, 모든 테스트 통과",
metadata={
"changed_files": ["limiter.py", "tests/test_limiter.py"],
"verification": ["pytest tests/ -q"],
"residual_risk": ["초당 1000건 이상 부하 테스트 미수행"]
}
)
핸드오프 규칙: 요약(summary)은 사람이 읽는 종료 보고서, 메타데이터(metadata)는 다음 AI 작업자가 읽는 기계 판독용 데이터입니다.
/kanban create …로 작업을 생성하면, 완료·차단·실패 시 자동으로 메시지가 도착합니다.
you> /kanban create "오늘 팟캐스트 대본" --assignee transcriber
bot> Created t_9fc1a3 (ready, assignee=transcriber)
(알림 구독 완료 — 완료 또는 차단 시 알려드립니다)
… 약 8분 후 …
bot> ✓ t_9fc1a3 완료 (transcriber)
42분 분량 transcribed, podcast/2026-05-08.md 저장됨
수동으로 알림을 구독/해제할 수도 있습니다:
hermes kanban notify-subscribe t_abcd \
--platform telegram --chat-id 12345678
hermes kanban notify-list
hermes kanban notify-unsubscribe t_abcd \
--platform telegram --chat-id 12345678
하나의 전문가 함대(fleet)로 여러 비즈니스를 동시에 운영할 수 있습니다. 테넌트별로 데이터·워크스페이스·메모리를 분리합니다.
hermes kanban create "월간 리포트" \
--assignee researcher \
--tenant business-a \
--workspace dir:~/tenants/business-a/data/
hermes kanban create "주간 성과 분석" \
--assignee analyst \
--tenant business-b
대시보드에서도 테넌트 필터를 선택하여 특정 고객사의 작업만 볼 수 있습니다.
| 명령어 | 설명 |
|---|---|
hermes kanban init | 칸반 데이터베이스 초기화 |
hermes kanban create "제목" --assignee 프로필명 | 새 작업 생성 |
hermes kanban list | 전체 작업 목록 |
hermes kanban list --mine | 내 작업만 보기 |
hermes kanban show 작업ID | 작업 상세 보기 |
hermes kanban watch | 실시간 이벤트 모니터링 |
hermes kanban stats | 상태별 통계 |
hermes kanban complete 작업ID --result "완료 내용" | 작업 완료 처리 (수동) |
hermes kanban block 작업ID "사유" | 작업 차단 (사람 입력 대기) |
hermes kanban unblock 작업ID | 차단 해제 |
hermes kanban comment 작업ID "댓글" | 댓글 추가 |
hermes kanban archive 작업ID | 작업 보관 |
hermes kanban runs 작업ID | 실행 이력 보기 |
hermes kanban dispatch --max 3 | 디스패처 수동 실행 (60초 대기 없이) |
더 자세한 내용은 Hermes Agent 공식 문서를 참고하세요.
모든 상태 변화는 task_events 테이블에 기록됩니다. 이벤트는 크게 세 가지로 나뉩니다:
| 분류 | 이벤트 | 발생 시점 |
|---|---|---|
| 생애주기 | created | 작업 생성 |
| promoted | 모든 상위 작업 완료 → ready로 승격 | |
| claimed | 디스패처가 작업 할당 | |
| completed | 작업자 완료 보고 | |
| blocked | 작업자 또는 사람이 차단 | |
| archived | 보관 처리 | |
| 편집 | assigned | 담당자 변경 |
| edited | 제목·본문 수정 | |
| reprioritized | 우선순위 변경 | |
| 작업자 상태 | spawned | 디스패처가 워커 프로세스 시작 |
| heartbeat | 워커 생존 신호 (긴 작업 중) | |
| reclaimed | 클레임 TTL 만료, 작업 재할당 | |
| crashed | 워커 프로세스 충돌 | |
| gave_up | 연속 5회 생성 실패 → 자동 차단 |
# 특정 작업의 이벤트만 실시간 추적
hermes kanban tail t_abcd
# 보드 전체 이벤트 실시간 모니터링
hermes kanban watch
# 완료·실패 이벤트만 필터링
hermes kanban watch --kinds completed,gave_up,timed_out