Tutorial Apa Itu Kenapa Setup Status CLI Workflow Worker Multi-Board Pola Tips

Tutorial Kanban di Hermes Agent

Panduan lengkap untuk pemula. Dari nol sampai bisa menjalankan multi-agent collaboration board untuk mengelola task antar beberapa Hermes profile.

Hermes Agent Kanban Multi-Agent Tutorial Pemula

Apa Itu Kanban di Hermes?

Kanban di Hermes bukan sekadar "papan tugas" biasa. Ini adalah system antar-agent yang memungkinkan beberapa Hermes agent (disebut profile) saling berbagi dan mengerjakan task secara bersamaan.

Bayangkan kamu punya 3 orang asisten:

Kanban adalah "meja kerja bersama" tempat mereka semua bisa melihat task, mengambil pekerjaan, melaporkan progress, dan menyerahkan hasil.

Cara Kerja Sederhana

Kamu buat task -> Dispatcher kirim ke agent -> Agent kerjakan -> Hasil masuk board -> Kamu review

Dua "Pintu Masuk" ke Board

Ada dua cara mengakses kanban board yang sama:

1. Via CLI (untuk kamu)

  • hermes kanban create - buat task
  • hermes kanban list - lihat semua task
  • hermes kanban show - detail task
  • hermes kanban complete - selesaikan
  • Juga bisa via /kanban di chat

2. Via Tools (untuk agent)

  • kanban_show - lihat task
  • kanban_list - daftar task
  • kanban_complete - selesai
  • kanban_block - tandai terblokir
  • kanban_comment - tambah komentar

Kedua akses ini terhubung ke database yang sama (~/.hermes/kanban.db), jadi datanya selalu konsisten.

Kanban vs delegate_task: Kapan Pakai yang Mana?

Hermes punya dua cara untuk mendelegasikan kerja. Pahami bedanya supaya tidak salah pilih:

Fitur delegate_task Kanban
Bentuk Panggilan fungsi (fork, tunggu, selesai) Antrian kerja tahan banting + state machine
Parent Blokir sampai child selesai Fire-and-forget setelah create
Identitas child Anonymous (langsung hilang) Named profile dengan memory persisten
Gagal? Gagal = hilang selamanya Block -> unblock -> coba lagi
Human in the loop Tidak didukung Komentar + unblock kapan saja
Agent per task 1 panggilan = 1 agent Banyak agent sepanjang hidup task
Audit trail Hilang saat kompresi konteks Tersimpan di SQLite selamanya
Aturan praktis: Pakai delegate_task untuk tugas cepat (hitungan menit) yang butuh jawaban langsung. Pakai Kanban untuk kerja yang butuh bertahan hidup lebih lama, butuh input manusia, atau melibatkan banyak agent.

Contoh nyata: delegate_task = "tolong carikan harga tiket pesawat". Kanban = "bangun fitur auth dari awal sampai deploy, dengan riset, coding, dan review terpisah".

Setup Awal (3 Langkah)

1

Inisialisasi Kanban Board

bashhermes kanban init

Command ini membuat file database di ~/.hermes/kanban.db. Sebenarnya tidak wajib dijalankan duluan - command pertama ke kanban akan auto-init. Tapi eksplisit lebih jelas.

2

Buka Dashboard (Opsional tapi Recommended)

bashhermes dashboard

Ini membuka web UI di http://127.0.0.1:9119. Klik "Kanban" di sidebar kiri untuk melihat board secara visual. Dashboard adalah tempat paling nyaman untuk memantau sistem.

3

Buat Task Pertama

bashhermes kanban create "Tulis artikel tentang AI" \
  --assignee writer-agent \
  --body "Buat artikel 1000 kata tentang tren AI 2026"

Task langsung masuk ke kolom Triage. Dari sini kamu bisa mulai mengelola workflow.

Pro tip: Kamu juga bisa membuat task langsung dari chat Telegram dengan /kanban create "Judul task". Sama persis, cuma beda interface.

7 Status Task (Lifecycle)

Setiap task di Kanban punya status. Pahami alurnya supaya tahu task ada di tahap mana:

triage -> todo -> ready -> running -> done
StatusArtinyaSiapa yang ubah?
triage Task baru, ide mentah. Belum dipecah atau di-assign. Otomatis saat create
todo Task sudah di-assign tapi belum siap diambil (masih menunggu dependency). Agent atau kamu
ready Task siap diambil. Semua dependency sudah selesai. Dispatcher (otomatis)
running Agent sedang mengerjakan task ini. Dispatcher saat spawn worker
blocked Task terhenti. Butuh input manusia atau ada error. Agent via kanban_block
done Task selesai dikerjakan. Agent atau kamu
archived Task sudah selesai lama, diarsipkan. Kamu atau gc
Blocked != Gagal: Kalau task blocked, artinya agent butuh bantuan kamu. Cek komentar di task (hermes kanban show <id>), jawab pertanyaannya, lalu unblock: hermes kanban unblock <id>.

Command CLI Lengkap

Semua command dimulai dengan hermes kanban. Ini cheat sheet yang bisa kamu copy-paste:

Task Management

membuat task# Task sederhana
hermes kanban create "Judul task" --assignee nama-profile

# Task dengan detail lengkap
hermes kanban create "Bangun API auth" \
  --assignee backend-dev \
  --body "Buat endpoint POST /login, POST /register" \
  --priority 2 \
  --tenant project-alpha

# Task dengan dependency (parent-child)
hermes kanban create "Tulis unit test" \
  --assignee tester \
  --parent <id-task-parent>

# Hasil: JSON (untuk scripting)
hermes kanban create "Task" --assignee x --json | jq -r .id

Melihat Task

inspeksi# List semua task
hermes kanban list

# Filter berdasarkan status
hermes kanban list --status blocked
hermes kanban list --status running

# Filter berdasarkan assignee
hermes kanban list --assignee backend-dev

# Detail satu task (termasuk komentar)
hermes kanban show <id>

Mengubah Status

status changes# Selesai
hermes kanban complete <id>

# Block (butuh input manusia)
hermes kanban block <id> --reason "Butuh API key untuk lanjut"

# Unblock
hermes kanban unblock <id>

# Arsip
hermes kanban archive <id>

Kolaborasi

komentar dan link# Tambah komentar
hermes kanban comment <id> "Kode sudah di-push ke branch feature/auth"

# Link task (parent-child dependency)
hermes kanban link <parent-id> <child-id>

# Hapus link
hermes kanban unlink <parent-id> <child-id>

Debug dan Monitoring

observability# Lihat statistik board
hermes kanban stats

# Lihat log worker terakhir
hermes kanban log <id>

# Tail semua aktivitas (real-time)
hermes kanban tail

# Lihat run history
hermes kanban runs <id>

3 Contoh Workflow Nyata

Ini tiga skenario dari yang paling sederhana sampai yang kompleks. Pilih sesuai kebutuhanmu.

1. Solo Dev (Paling Sederhana)

Kamu sendiri yang bekerja, tapi pakai Kanban untuk mengorganisir dan memastikan tidak ada yang terlewat.

bash - buat 3 task berurutan# Buat task induk
SCHEMA=$(hermes kanban create "Desain schema database" \
  --assignee default \
  --priority 2 \
  --body "Buat schema untuk tabel users, sessions, tokens" \
  --json | jq -r .id)

# Task anak: bergantung pada schema
API=$(hermes kanban create "Implementasi API endpoint" \
  --assignee default \
  --parent $SCHEMA \
  --body "POST /register, POST /login, POST /refresh" \
  --json | jq -r .id)

# Task cucu: bergantung pada API
hermes kanban create "Tulis integration test" \
  --assignee default \
  --parent $API \
  --body "Test semua endpoint dengan pytest"

Alur otomatisnya: Task API baru jadi ready setelah Schema selesai. Task Test baru jadi ready setelah API selesai. Kamu tinggal kerjakan satu per satu.

2. Team Pipeline (Multi-Role)

Beberapa agent dengan peran berbeda mengerjakan task secara berurutan.

bash - pipeline 3 agent# Step 1: Riset oleh researcher
hermes kanban create "Riset tren AI 2026" \
  --assignee researcher \
  --priority 3

# Step 2: Tulis oleh writer (nanti di-link)
hermes kanban create "Tulis artikel berdasarkan riset" \
  --assignee writer \
  --priority 2

# Step 3: Review oleh editor
hermes kanban create "Review dan edit artikel" \
  --assignee editor \
  --priority 1

# Link semua: researcher -> writer -> editor
hermes kanban link <riset-id> <writer-id>
hermes kanban link <writer-id> <editor-id>

Dispatcher otomatis menjalankan researcher duluan. Setelah selesai, writer jalan. Setelah writer selesai, editor jalan. Semua otomatis.

3. Fleet Farming (Satu Spesialis, Banyak Target)

Satu agent type mengelola banyak instance. Cocok untuk: monitoring banyak server, manage banyak akun, proses banyak data.

bash - fleet contoh# Satu "fleet manager" dengan banyak task sejenis
for server in server-1 server-2 server-3 server-4 server-5; do
  hermes kanban create "Check health $server" \
    --assignee monitor \
    --tenant $server \
    --body "Cek CPU, RAM, disk, restart service jika perlu"
done

Tenant memisahkan data setiap server. Satu agent profile "monitor" mengerjakan semuanya, tapi data per server tetap terisolasi.

Cara Agent (Worker) Berinteraksi dengan Board

Agent yang di-spawn oleh dispatcher punya toolset khusus untuk berinteraksi dengan kanban. Ini yang mereka bisa lakukan:

ToolFungsiKapan dipakai
kanban_show Lihat detail task termasuk komentar Saat pertama kali di-spawn, baca task
kanban_list Lihat semua task di board Saat butuh konteks board-wide
kanban_comment Tambah komentar ke task Laporkan progress, tanya manusia
kanban_complete Tandai task selesai Saat pekerjaan selesai
kanban_block Blokir task (butuh input) Butuh API key, konfirmasi, atau ada error
kanban_create Buat task baru dari dalam worker Perlu spawn sub-task
kanban_link Link task parent-child Buat dependency graph
kanban_heartbeat Kirim sinyal "masih hidup" Task lama, hindari stale timeout
Penting: Worker TIDAK bisa lihat dashboard atau CLI. Mereka hanya bisa pakai tool di atas. Semua komunikasi lewat komentar di task. Ini desain yang disengaja untuk isolasi.

Contoh Alur Worker

worker tool calls (apa yang agent lakukan)# 1. Agent di-spawn oleh dispatcher
# 2. Agent baca task-nya:
kanban_show(id="abc123")

# 3. Agent mulai kerja, laporkan progress:
kanban_comment(id="abc123", body="Mulai riset, target 5 sumber")

# 4. Selesai, tandai done:
kanban_complete(id="abc123", summary="Artikel 1200 kata, 5 referensi")

# ATAU kalau ada masalah:
kanban_block(id="abc123", reason="Butuh API key OpenAI untuk lanjut")

Multi-Board (Proyek Terpisah)

Kalau kamu punya beberapa proyek yang tidak saling berhubungan, kamu bisa buat board terpisah untuk masing-masing.

bash - mengelola board# Lihat semua board
hermes kanban boards list

# Buat board baru
hermes kanban boards create web-project \
  --name "Web Development" \
  --description "Proyek website klien" \
  --icon "web" \
  --switch  # langsung jadi board aktif

# Operasi di board spesifik tanpa switch
hermes kanban --board web-project create "Deploy staging" \
  --assignee devops

# Ganti board aktif
hermes kanban boards switch default
Isolasi total: Worker yang di-spawn di satu board TIDAK BISA melihat task di board lain. Dispatcher meng-set environment variable HERMES_KANBAN_BOARD untuk setiap worker. Ini garis keras, bukan filter halus.

Kapan Pakai Multi-Board?

8 Pola Kolaborasi

Ini pola-pola yang bisa kamu bangun dengan Kanban. Tidak semua perlu, tapi bagus untuk diketahui:

PolaDeskripsiKapan Pakai
1. Fan-Out Satu task dipecah jadi banyak sub-task paralel Riset dari banyak sumber sekaligus
2. Pipeline Task A -> B -> C berurutan Riset -> Tulis -> Review
3. Voting Banyak agent mengerjakan hal sama, pilih hasil terbaik Perlu kualitas tinggi (misal: generate 3 opsi, pilih 1)
4. Journal Satu task yang terus-menerus dikomentari setiap hari Log harian, monitoring berkelanjutan
5. Human-in-Loop Agent kerja, block untuk minta persetujuan manusia Deploy ke production, kirim email penting
6. @mention Routing Komentar mention agent lain untuk handoff Kolaborasi lintas role yang fleksibel
7. Thread-Scoped Satu task = satu Telegram topic/thread Forum mode, diskusi terorganisir
8. Fleet Farming Satu specialist mengerjakan N task serupa Monitor banyak server, proses banyak data

Best Practices dan Anti-Patterns

Yang Harus Dilakukan

Yang Harus Dihindari

Anti-PatternKenapa BahayaSolusi
Task tanpa assignee Dispatcher tidak tahu siapa yang harus kerjakan Selalu isi --assignee
1 task untuk 10 langkah Terlalu besar, sulit track progress Pecah jadi sub-task dengan link
Tidak cek blocked tasks Worker nunggu selamanya, task mandek Set reminder cek blocked harian
Pakai Kanban untuk tugas <2 menit Overhead tidak sebanding Pakai delegate_task saja
Scratch workspace untuk output penting Scratch auto-hapus saat task selesai Pakai dir:/path atau worktree

Workspace: Pilih yang Tepat

TipeSintaksAuto-Hapus?Cocok Untuk
Scratch (default) Ya, saat selesai Tugas sementara, eksperimen
Directory dir:/absolute/path Tidak Obsidian vault, folder proyek
Git Worktree worktree:/path Tidak Coding, branch isolation
Peringatan scratch workspace: Semua file yang dibuat worker di scratch workspace akan hilang otomatis saat task selesai. Kalau outputnya penting, pakai dir: atau worktree:.

Config yang Perlu Diketahui

config.yaml# Di ~/.hermes/config.yaml
kanban:
  dispatch_in_gateway: true    # Dispatcher jalan di dalam gateway
  failure_limit: 2             # Auto-block setelah 2x gagal spawn
  dispatch_interval: 60        # Dispatcher jalan setiap 60 detik
  orchestrator_profile: default # Profile yang handle triage
  auto_decompose: true         # Auto-pecah task di triage