Hermes Kanban: AI 에이전트를 위한 미션 컨트롤

@akshay_pachaar
영어1개월 전 · 2026년 6월 04일
120K
272
27
9
629

TL;DR

Hermes Kanban은 AI 에이전트 간의 핸드오프 과정에서 발생하는 컨텍스트 손실을 방지하는 조율 모델을 도입합니다. 이를 통해 전문화된 에이전트 팀이 시각적 대시보드와 Telegram을 활용하여 풀스택 애플리케이션을 구축할 수 있습니다.

Hermes Kanban 완벽 가이드: 협업 모델, 에이전트 간 컨텍스트 공유, 그리고 약 20분 만에 구축하는 4인 에이전트 소프트웨어 팀 (PM, 백엔드, 프론트엔드, 테스터)

AI 에이전트는 마치 하나의 팀처럼 작동해야 했습니다.

당신이 목표를 설명하면, 에이전트들이 작업을 분배하고, 각자 이전 작업을 이어받아 수행하는 방식이 이상적이었죠.

그러나 현실은 정반대입니다. 에이전트는 항상 빈 상태에서 시작합니다. 다른 에이전트가 무엇을 구축했는지, 어떤 파일이 변경되었는지, API 가 어떻게 생겼는지 전혀 알지 못합니다. 모든 인수인계는 콜드 스타트(cold start)이며, 작업이 한 에이전트에서 다음 에이전트로 넘어가는 순간 품질이 저하됩니다.

Hermes Kanban이 이 문제를 해결합니다. 모든 작업은 크래시나 재부팅에도 견딥니다. 모든 브리핑(briefing)에는 다음 에이전트에게 필요한 정보가 정확히 포함됩니다. 모든 실패 내역이 저장되어 재시도 시 무엇이 잘못되었는지 알 수 있습니다.

이것이 바로 당신의 미션 컨트롤(mission control) 모습입니다:

Akshay 🚀 - inline image

Kanban 대시보드

가장 좋은 점은 전체 팀을 휴대폰으로 운영할 수 있다는 것입니다. 텔레그램(Telegram)을 통해 작업을 생성하고 조정하면, 당신이 자리를 비운 사이에도 에이전트들이 작업을 처리합니다.

직접 확인해보세요:

Akshay 🚀 - inline image

이 글에서는 이 전체 설정을 처음부터 구축하는 방법을 다룹니다: 협업 모델, 브리핑(briefing), 그리고 약 20분 만에 여러분의 하드웨어에서 실행되는 4인 소프트웨어 팀 구성까지.

이를 시연하기 위해, 바로 이 에이전트 팀이 구축한 실제 작동하는 Google Docs 클론을 만들었습니다. AI 기능과 프로덕션 준비 완료된 백엔드도 포함되어 있습니다.

Akshay 🚀 - inline image

Google docs 클론 데모

자, 그럼 더 이상의 지체 없이 바로 시작해보겠습니다.

하나의 에이전트만으로는 충분하지 않은 이유

예를 들어, 비밀번호 재설정 기능을 추가하려고 합니다. 작업은 세 가지 영역으로 나뉩니다:

  • REST API 를 구축하는 백엔드 개발자
  • 해당 API 를 읽고 그 위에 UI 를 구축하는 프론트엔드 개발자
  • 전체를 종단간(end-to-end)으로 검증하는 테스터
Akshay 🚀 - inline image

1 대 3 에이전트

세 가지 작업을 모두 하나의 에이전트로 실행할 수는 있지만, 컨텍스트 윈도우(context window)가 가득 차서 에이전트가 세 단계 전에 무엇을 했는지 잊어버리게 됩니다. 결국 에이전트가 절약해주는 시간보다 관리하는 데 더 많은 시간을 소모하게 됩니다.

각 영역을 담당하는 에이전트들에게 작업을 분산시키면 또 다른 문제가 발생합니다: 프론트엔드 개발자가 백엔드 개발자가 구축한 내용을 어떻게 알 수 있을까요? 이 공유 컨텍스트(shared-context) 문제가 바로 Hermes Kanban이 해결하는 부분입니다.

사고 모델: 작업 보드(task board), 하지만 컬럼 뒤에는 에이전트가 있습니다

작업에는 제목, 설명, 담당자, 상태가 있습니다. 누군가 작업을 선택하여 보드(board)에서 이동시키고 완료합니다. 보드(board)는 유일한 진실 공급원(single source of truth)입니다.

Hermes Kanban은 이 모델을 유지하면서 각 컬럼 뒤에 사람 대신 에이전트를 배치합니다.

Akshay 🚀 - inline image

Hermes Kanban Board

모든 작업은 크래시나 재부팅에도 유지되는 행(row)입니다. 에이전트가 작업을 완료하면 요약을 작성합니다: 변경된 파일, 구축한 내용, 다음 에이전트가 알아야 할 사항 등입니다. 다음 에이전트는 작업을 시작하기 전에 이 요약을 읽습니다.

이 요약이 바로 핵심 통찰력입니다. 이 요약 덕분에 에이전트 그룹이 단순한 낯선 사람들의 집합이 아닌 하나의 팀으로 기능하게 됩니다.

용어 설명

Kanban 보드에는 6개의 서로 다른 컬럼이 있습니다:

Akshay 🚀 - inline image
  • Triage: 대략적인 아이디어가 여기에 들어옵니다. "인증에 속도 제한이 필요해"라는 식의 완전한 명세가 없는 아이디어에 적합합니다.
  • Todo: 작업이 생성되었지만, 다른 작업에 의존하고 있어 대기 중인 상태입니다. 상위 작업이 완료될 때까지 이동하지 않습니다.
  • Ready: 의존성이 충족되어 에이전트가 작업을 선택할 수 있는 상태입니다.
  • In Progress: 에이전트가 현재 작업을 실행 중입니다.
  • Blocked: 에이전트가 벽에 부딪혀 사람의 개입이 필요함을 표시한 상태입니다. 해결될 때까지 아무 작업도 실행되지 않습니다.
  • Done: 완료된 상태로, 전체 실행 기록, 요약 및 메타데이터가 보존됩니다.

오케스트레이터(orchestrator): 나머지 에이전트들을 관리하는 하나의 에이전트

오케스트레이터 에이전트(orchestrator agent)는 프로젝트 관리자라고 생각하면 됩니다. 높은 수준의 목표를 읽고, 어떤 에이전트가 있는지 확인한 후, 목표를 연결된 작업들로 분해하고 뒤로 물러섭니다. 이 에이전트는 절대 코드를 작성하거나 테스트를 실행하지 않습니다. 조정(coordinate)만 합니다.

Akshay 🚀 - inline image

오케스트레이터 에이전트

중요한 규칙은 단 하나입니다: 작업을 생성하기 전에 어떤 프로필이 존재하는지 확인하라는 것입니다. 시스템은 담당자가 실제 프로필과 일치하지 않는 작업은 자동으로 건너뛰기 때문에, 0단계는 항상 kanban_list 입니다.

다음은 전형적인 프로젝트 관리자의 작업 방식입니다. "비밀번호 재설정 흐름 구축" 요청을 연결된 파이프라인(pipeline)으로 분해하는 과정입니다:

python
1kanban_show()
2
3be = kanban_create(title="Password reset backend", assignee="backend-developer",
4 body="Forgot/reset password flow + session invalidation")
5
6fe = kanban_create(title="Password reset UI", assignee="frontend-developer",
7 parents=[be], body="Next.js reset flow using backend API")
8
9qa = kanban_create(title="E2E password reset test", assignee="tester",
10 parents=[fe], body="Validate all acceptance criteria")
11
12kanban_complete(summary="Created backend → frontend → QA dependency pipeline")

이후, 보드(board)가 작업 승격(promotion)을 처리하고 브리핑(briefing)이 컨텍스트(context)를 전달합니다. 세 작업이 모두 완료되면 프로젝트 관리자가 깨어나 요약을 읽고 작업이 완료되었는지 판단합니다. 테스터가 "verdict": "FAIL"을 반환하면, 수정 작업을 생성하고 루프(loop)가 계속됩니다.

하지만 실제로는, 당신이 신경 쓸 일은 거의 없습니다. 텔레그램(Telegram)으로 작업을 위임하기만 하면 오케스트레이터(orchestrator)가 나머지를 처리합니다.

자주 사용하게 될 세 가지 패턴

1. 파이프라인(pipeline): 각 작업은 이전 작업에 의존합니다. 첫 번째 작업만이 준비(ready) 상태로 시작합니다. 나머지 작업들은 순서를 기다립니다.

text
1BACKEND=$(hermes kanban create "Implement auth API" \
2 --assignee backend-developer \
3 --body "POST /register, POST /login, POST /refresh, POST /logout." \
4 --json | jq -r .id)
5
6FRONTEND=$(hermes kanban create "Build auth UI" \
7 --assignee frontend-developer \
8 --parent $BACKEND \
9 --body "Read backend handoff for API shape. Login, register, profile pages." \
10 --json | jq -r .id)
11
12hermes kanban create "Test auth flow end to end" \
13 --assignee tester \
14 --parent $FRONTEND \
15 --body "Cover happy path, wrong password, expired token, session persistence."

이 작업을 직접 실행할 필요는 없습니다. 텔레그램(Telegram)에서 프로젝트 관리자에게 프로젝트를 설명하면, 시스템이 위와 같은 방식으로 자동으로 작업을 생성합니다.

백엔드 에이전트가 kanban_complete()을 호출하면, 프론트엔드 작업이 백엔드의 작업 결과와 함께 준비(ready) 상태로 이동합니다.

Akshay 🚀 - inline image

2. 사람이 개입하는 루프(Human in the loop): 모든 차단(blocker)이 실패를 의미하는 것은 아닙니다. 때로는 에이전트가 실제 문제를 발견하고 멈춰서 질문을 하기도 합니다.

text
1kanban_block(reason="review-required: password strength check missing, "
2 "reset tokens aren't single-use (can be replayed within 30 min)")

대시보드(dashboard)에서 차단(block) 상태를 확인합니다. 문제를 검증하고 수정한 후, 작업을 차단 해제(unblock)합니다:

text
1hermes kanban unblock $IMPL

터미널에서 직접 실행할 필요도 없습니다. Kanban 보드에 댓글을 달거나 텔레그램(Telegram)으로 메시지를 보내면 시스템이 차단을 해제합니다.

시스템은 다음 주기(cycle)에 에이전트를 다시 시작합니다. 두 번째 실행에서 kanban_show() 를 호출하여 첫 번째 시도가 차단된 정확한 이유를 확인합니다. 무엇을 수정해야 할지 정확히 알고 있기 때문에, 처음부터 다시 시작할 필요가 없습니다.

Akshay 🚀 - inline image

3. Triage 명세 지정자(specifier).

완전한 명세 대신 대략적인 아이디어만 있을 때, 보드(board)에 올려놓고 어떤 에이전트가 작업을 선택하기 전에 시스템이 이를 구체화하도록 합니다.

text
1# Drop a rough idea
2hermes kanban create "auth needs rate limiting" --triage --assignee backend-developer
3
4# Flesh it out before the dispatcher picks it up
5hermes kanban specify $TASK_ID

specify 명령어는 세 단어로 된 제목을 목표, 접근 방식, 승인 기준(acceptance criteria)을 포함한 완전한 작업으로 다시 작성합니다. 해당 작업을 선택한 에이전트는 실제 브리핑(brief)을 받게 됩니다.

설정하기: 약 20분 만에 4개의 프로필 생성

4개의 에이전트, 1개의 공유 보드(board), 텔레그램(Telegram)에서 접근 가능한 프로젝트 관리자.

Akshay 🚀 - inline image

1단계: 프로필 생성

bash
1hermes profile create project-manager --clone
2hermes profile create backend-developer --clone
3hermes profile create frontend-developer --clone
4hermes profile create tester --clone

--clone 은 시작점으로 기본 프로필의 설정(config)을 복사합니다.

2단계: 각 에이전트에게 성격 부여하기

1. 프로젝트 관리자(Project Manager) ~/.hermes/profiles/project-manager/SOUL.md:

markdown
1# Soul
2
3You are the project manager for a software development team. Your job
4is to take a user's app idea, break it into clear tasks, assign them
5to the right team members, and track progress on the Kanban board.
6You do not write code yourself. You manage the work.

2. 백엔드 개발자(Backend Developer) ~/.hermes/profiles/backend-developer/SOUL.md:

markdown
1# Soul
2
3You are the backend developer on a software team. You build and manage
4the entire backend using InsForge — database, auth, storage, edge
5functions, and deployment.

3. 프론트엔드 개발자(Frontend Developer) ~/.hermes/profiles/frontend-developer/SOUL.md:

markdown
1# Soul
2
3You are the frontend developer on a software team. You build the UI —
4components, pages, and user flows — and connect them to the backend
5using the APIs and SDK methods the backend-developer has set up.

4. 테스터(Tester) ~/.hermes/profiles/tester/SOUL.md:

markdown
1# Soul
2
3You are the tester on a software team. You test completed features
4end-to-end, verify acceptance criteria are met, and report bugs
5clearly back to the Kanban board so they can be fixed.

3단계: 에이전트 스킬(skill) 추가

스킬(skill)은 단계별 가이드, 즉 특정 종류의 작업을 수행하는 방법에 대한 구체적인 지침입니다. 에이전트를 위한 직무 교육이라고 생각하면 됩니다. 하나씩 살펴보겠습니다:

InsForge

Akshay 🚀 - inline image

InsForge (오픈소스, Apache 2.0) 은 에이전트가 Skills 와 CLI 를 사용할 수 있도록 백엔드 컨텍스트 엔지니어링 계층(backend context engineering layer) 역할을 합니다. 우리의 백엔드 개발자 에이전트 프로필은 이 스킬(skill)을 사용하여 프로젝트에 즉시 사용 가능한 백엔드 서비스를 제공합니다.

먼저, InsForge 스킬(skill) 탭(tap)을 추가합니다:

bash
1hermes skills tap add InsForge/insforge-skills

그런 다음 백엔드 스킬(skill)을 설치합니다:

bash
1hermes -p backend-developer skills install InsForge/insforge-skills/insforge --force

같은 방식으로 insforge-cli (인프라 명령어), insforge-debug (장애 진단), insforge-integrations (타사 인증 제공자) 등 다른 스킬(skill)도 설치합니다.

다음은 백엔드 개발자 에이전트가 이 스킬(skill)을 사용하여 InsForge 에서 프로젝트 백엔드를 구축하는 방법입니다.

먼저 백엔드 개발자 에이전트가 InsForge 에 "Google Docs Clone"이라는 프로젝트를 생성합니다.

대시보드(dashboard)에는 사용자 수, 데이터베이스의 테이블 수, 스토리지, 그리고 인증, 문서 처리 등과 관련된 배포된 JavaScript/TypeScript 코드를 포함한 Edge Functions 목록과 같은 프로젝트 통계가 표시됩니다.

Akshay 🚀 - inline image

AI 백엔드 엔지니어를 구축 중이라면 InsForge 를 확인해보세요 →

(별표(star) 🌟를 잊지 마세요)

Skills Hub 의 더 많은 스킬(skill)

Hermes는 또한 18개 카테고리에 걸쳐 687개의 스킬(skill)을 보유한 Skills Hub 를 유지 관리합니다: 87개의 내장 스킬, 79개의 옵션 스킬, Anthropic 의 16개 스킬(frontend-design, pdf, pptx, docx, mcp-builder 등), 그리고 LobeHub 의 505개 스킬이 포함됩니다.

Akshay 🚀 - inline image

프론트엔드 개발자를 위해 frontend-design 을 설치합니다. 테스터를 위해 webapp-testing 을 설치합니다. 둘 다 Hub 에 포함되어 있습니다.

4단계: 보드(board) 초기화 및 게이트웨이(gateway) 시작

hermes kanban init 은 ~/.hermes/kanban.db를 생성합니다. 이는 모든 작업, 컨텍스트(context) 및 실행 기록을 저장하는 SQLite 데이터베이스입니다.

그런 다음 프로젝트 관리자 프로필 아래에 채팅 게이트웨이(gateway)를 설정합니다. 텔레그램(Telegram)의 @BotFather에서 봇 토큰(bot token)을 가져오고 @userinfobot에서 사용자 ID 를 가져온 후, 다음 명령어를 실행합니다:

bash
1hermes kanban init
2hermes -p project-manager gateway setup
3hermes -p project-manager gateway start

연결은 24시간 365일 유지되어 시스템을 활성화하고 프로젝트 관리자를 텔레그램(Telegram)에서 접근 가능하게 만듭니다.

5단계: 첫 번째 프로젝트 보내기

구축하려는 내용을 프로젝트 관리자에게 메시지로 보냅니다. 그러면 프로젝트 관리자가 목표를 작업으로 분해하고, 의존성 링크(dependency link)와 함께 작업을 생성하며, 시스템이 순서대로 작업을 실행합니다.

Akshay 🚀 - inline image

대시보드(dashboard)

hermes dashboard 를 실행하고 http://127.0.0.1:9119를 엽니다. 상태별로 하나의 컬럼이 표시되며, WebSocket 을 통해 실시간 업데이트되므로 새로고침이 필요 없습니다.

Akshay 🚀 - inline image

0:20

Hermes kanban 대시보드

알아두면 좋은 두 가지 컨트롤이 있습니다. 프로필별 레인(Lanes by profile) 은 실행 중인(Running) 컬럼을 담당자별로 하위 그룹화하여, 어떤 에이전트가 어떤 작업을 소유하고 있는지 한 눈에 확인할 수 있게 해줍니다. 디스패처 작동(Nudge dispatcher) 은 60초를 기다리지 않고 즉시 한 번의 패스(pass)를 실행하여, 작업 차단을 해제한 직후에 유용합니다.

아무 카드나 클릭하면 서랍(drawer)이 열려 전체 실행 기록, 각 시도의 결과와 메타데이터, 그리고 제목, 담당자, 우선순위, 의존성을 편집할 수 있는 필드를 확인할 수 있습니다.

주의해야 할 점

실제 작업 부하를 처리하기 전에 알아두면 좋을 세 가지 고장 모드(failure mode)입니다.

1. 데이터베이스 과부하. 2~4개의 에이전트를 병렬로 사용하는 경우에는 이 문제가 발생하지 않습니다. 하지만 10개 이상의 에이전트가 높은 빈도로 데이터를 쓰면 속도가 느려집니다. hermes kanban dispatch --max 4 로 제한하세요.

2. 스크래치 작업 공간(scratch workspace) 삭제. 스크래치 작업 공간(scratch workspace)에 저장된 파일은 작업이 완료(done)로 표시되는 순간 사라집니다. 스크래치(scratch)는 설계상 지워지기 때문입니다. 코딩 작업에는 작업 트리(worktree)를 사용하거나, 작업 설명에 프로젝트 폴더 경로를 포함시켜 에이전트가 저장 위치를 알 수 있도록 하세요.

3. 로컬 모델 포화. 로컬 모델(Ollama, 로컬 GPU)을 대상으로 하는 경우, 시스템이 여러 에이전트를 동시에 실행하여 GPU 에 과부하를 일으키고, 이로 인해 생성 속도가 느려지고 자동 중지(auto-stop)가 트리거(trigger)될 수 있습니다. 로컬 설정의 경우 hermes kanban dispatch --max 2 를 사용하세요. Claude 나 GPT-4o 와 같은 API 기반 모델의 경우에는 이 문제가 거의 발생하지 않습니다.

전체 그림(Full picture)

각 구성 요소는 하나의 역할을 담당합니다:

  • SOUL.md는 에이전트의 고정된 정체성입니다: 에이전트가 누구이며 어떻게 생각하는지를 정의합니다.
  • Skills는 특정 종류의 작업에 대한 단계별 지침입니다.
  • Memory는 세션 간에 에이전트가 사용자 환경에 대해 알고 있는 정보입니다.
  • Kanban은 조정 계층(coordination layer)입니다: 공유 상태(shared state), 컨텍스트 전송(context transfer), 그리고 언제든지 사람이 개입할 수 있는 지점(human in the loop)을 제공합니다.
Akshay 🚀 - inline image

4개의 프로필, 4개의 SOUL.md 파일, 한 번의 게이트웨이(gateway) 시작. 텔레그램(Telegram)의 프로젝트 관리자에게 구축하려는 내용을 설명하고 보드(board)가 채워지는 것을 지켜보세요.

동영상으로 배우는 것을 더 선호한다면, 며칠 후 YouTube 와 X 에서 전체 Hermes Kanban 워크스루(walkthrough)가 공개될 예정입니다.

읽어주셔서 감사합니다.

원클릭 저장

YouMind로 바이럴 글을 AI 심층 읽기

소스를 저장하고, 핵심 질문을 던지고, 주장을 요약해 바이럴 글을 다시 활용할 수 있는 노트로 바꾸세요. 하나의 AI 워크스페이스에서 모두 할 수 있습니다.

YouMind 둘러보기
크리에이터를 위해

당신의 Markdown을 깔끔한 𝕏 글로

직접 쓴 장문을 올릴 때 이미지, 표, 코드 블록을 𝕏에 맞게 정리하는 일은 번거롭습니다. YouMind는 전체 Markdown 초안을 깔끔하고 바로 게시할 수 있는 𝕏 글로 바꿔 줍니다.

Markdown → 𝕏 사용해 보기

분석할 패턴 더 보기

최근 바이럴 아티클

더 많은 바이럴 아티클 보기