คำแนะนำฉบับสมบูรณ์ของ Hermes Kanban: โมเดลการประสานงาน การแชร์บริบทระหว่างเอเจนต์ และการสร้างทีมซอฟต์แวร์ 4 เอเจนต์ (PM, backend, frontend, tester) ภายในประมาณ 20 นาที
AI เอเจนต์ควรจะทำงานเป็นทีม
คุณอธิบายเป้าหมาย พวกเขาแบ่งงานกัน แต่ละคนทำงานต่อจากที่คนก่อนหน้าค้างไว้
นั่นคือสิ่งที่โปรโมทไว้ แต่สิ่งที่เกิดขึ้นจริงกลับตรงกันข้าม เอเจนต์เริ่มต้นจากความว่างเปล่า เอเจนต์ไม่รู้ว่าคนอื่นสร้างอะไรบ้าง ไฟล์ไหนเปลี่ยนแปลงไป หรือ API มีหน้าตาอย่างไร การส่งต่องานทุกครั้งคือการเริ่มต้นใหม่ (cold start) และงานจะด้อยลงทันทีที่ถูกส่งต่อจากเอเจนต์หนึ่งไปยังอีกเอเจนต์หนึ่ง
Hermes Kanban แก้ปัญหานี้ ทุกงานจะอยู่รอดแม้เกิดการขัดข้องหรือรีบูต ทุกคำสรุป (briefing) จะบรรจุสิ่งที่เอเจนต์ถัดไปต้องการ ทุกความล้มเหลวถูกบันทึกไว้ เพื่อให้การลองใหม่รู้ว่าอะไรพัง
นี่คือลักษณะของศูนย์ควบคุมภารกิจของคุณ:
แดชบอร์ด Kanban
ส่วนที่ดีที่สุดคือทั้งทีมทำงานจากโทรศัพท์ของคุณ คุณสร้างและควบคุมงานผ่าน Telegram และเอเจนต์จะรับงานไปทำงานในขณะที่คุณไม่อยู่ที่โต๊ะ
ดูสิ่งนี้:

ในบทความนี้เราจะสร้างการตั้งค่าทั้งหมดนี้จากศูนย์: โมเดลการประสานงาน, คำสรุป (briefings), และทีมซอฟต์แวร์ 4 คนที่ทำงานบนฮาร์ดแวร์ของคุณเองภายในประมาณ 20 นาที
เพื่อสาธิตสิ่งนี้ ผมได้สร้าง Google Docs clone ที่ใช้งานได้ รวมฟีเจอร์ AI, backend พร้อมใช้งานในระดับโปรดักชั่น ซึ่งสร้างโดยทีมเอเจนต์ชุดนี้
ตัวอย่าง Google Docs clone
ดังนั้น มาดำดิ่งสู่เนื้อหากันเลย
ทำไมเอเจนต์เดียวถึงไม่พอ
ยกตัวอย่างเช่น คุณต้องการเพิ่มฟีเจอร์รีเซ็ตรหัสผ่าน งานแบ่งออกเป็นสามโดเมน:
- นักพัฒนา backend ที่สร้าง REST API
- นักพัฒนา frontend ที่อ่าน API นั้นและสร้าง UI บนพื้นฐานของมัน
- ผู้ทดสอบที่ตรวจสอบทั้งระบบตั้งแต่ต้นจนจบ

1 ต่อ 3 เอเจนต์
คุณสามารถรันทั้งสามผ่านเอเจนต์เดียวได้ แต่หน้าต่างบริบท (context window) จะเต็ม และเอเจนต์จะหลงทางว่ามันทำอะไรไปเมื่อสามขั้นตอนก่อน คุณใช้เวลาจัดการมันมากกว่าที่มันช่วยประหยัดเวลาให้คุณ
การแบ่งงานให้เอเจนต์แต่ละคนรับผิดชอบโดเมนของตัวเองสร้างปัญหาอีกอย่าง: นักพัฒนา frontend จะรู้ได้อย่างไรว่านักพัฒนา backend สร้างอะไรขึ้นมา? ปัญหาการแชร์บริบทนั้นคือสิ่งที่ Hermes Kanban แก้ไข
โมเดลทางความคิด: กระดานงาน แต่เอเจนต์อยู่หลังคอลัมน์
งานมีชื่อ, คำอธิบาย, เจ้าของ, และสถานะ มีคนหยิบงานไป, ย้ายมันไปบนกระดาน, และปิดงาน กระดานคือแหล่งความจริงแหล่งเดียว (single source of truth)
Hermes Kanban เก็บโมเดลนั้นไว้ และวางเอเจนต์ไว้หลังแต่ละคอลัมน์แทนมนุษย์

กระดาน Hermes Kanban
ทุกงานคือแถวที่อยู่รอดแม้เกิดการขัดข้องหรือรีบูต เมื่อเอเจนต์ทำงานเสร็จ มันจะเขียนสรุป: ไฟล์ที่เปลี่ยนแปลง, สิ่งที่มันสร้าง, สิ่งที่เอเจนต์ถัดไปจำเป็นต้องรู้ เอเจนต์ถัดไปจะอ่านสรุปนั้นก่อนเริ่มทำงาน
สรุปนั้นคือข้อมูลเชิงลึกทั้งหมด มันคือสิ่งที่เปลี่ยนกลุ่มเอเจนต์ให้เป็นทีม แทนที่จะเป็นคนแปลกหน้า
คำศัพท์
เรามีคอลัมน์ที่แตกต่างกัน 6 คอลัมน์บนกระดาน Kanban:

- Triage: ไอเดียคร่าวๆ มาอยู่ที่นี่ เหมาะสำหรับ 'ฉันต้องการ rate limiting สำหรับ auth' ก่อนที่จะมีสเปกที่สมบูรณ์
- Todo: สร้างงานแล้ว แต่รอ dependency อยู่ งานจะไม่ย้ายไปไหนจนกว่างานหลัก (parent) จะเสร็จ
- Ready: ครบ dependency แล้ว รอเอเจนต์มารับงาน
- In Progress: เอเจนต์กำลังทำงานอยู่
- Blocked: เอเจนต์เจอปัญหาและแจ้งให้มนุษย์จัดการ จะไม่มีอะไรทำงานจนกว่าคุณจะปลดบล็อก
- Done: เสร็จแล้ว พร้อมประวัติการรันที่สมบูรณ์, สรุป, และ metadata ที่ถูกเก็บไว้
Orchestrator: เอเจนต์เดียวที่จัดการส่วนที่เหลือ
คิดถึงเอเจนต์ orchestrator เหมือนผู้จัดการโครงการที่อ่านเป้าหมายระดับสูง, ตรวจสอบว่ามีเอเจนต์ไหนบ้าง, แตกเป้าหมายออกเป็นงานที่เชื่อมโยงกัน, และถอยออกมา มันไม่เคยเขียนโค้ดหรือรันทดสอบ มันประสานงาน

เอเจนต์ orchestrator
กฎสำคัญข้อเดียว: ตรวจสอบว่าโปรไฟล์ไหนมีอยู่ก่อนสร้างงาน ระบบจะข้ามงานใดๆ ที่ผู้รับผิดชอบ (assignee) ไม่ตรงกับโปรไฟล์จริงอย่างเงียบๆ ดังนั้นขั้นตอนที่ศูนย์คือ kanban_list เสมอ
นี่คือตัวอย่างการทำงานของ project manager ทั่วไป ที่แยกคำขอ 'สร้างขั้นตอนรีเซ็ตรหัสผ่าน' เป็นไปป์ไลน์ที่เชื่อมโยงกัน:
1kanban_show()23be = kanban_create(title="Password reset backend", assignee="backend-developer",4 body="Forgot/reset password flow + session invalidation")56fe = kanban_create(title="Password reset UI", assignee="frontend-developer",7 parents=[be], body="Next.js reset flow using backend API")89qa = kanban_create(title="E2E password reset test", assignee="tester",10 parents=[fe], body="Validate all acceptance criteria")1112kanban_complete(summary="Created backend → frontend → QA dependency pipeline")
หลังจากนี้ กระดานจะจัดการเรื่อง promotion และ briefings จะจัดการบริบท เมื่อทั้งสามเสร็จ project manager จะตื่นขึ้น, อ่านสรุป, และตัดสินว่างานเสร็จหรือไม่ หาก tester ส่งคืน 'verdict': 'FAIL' มันจะสร้างงานแก้ไขและวนซ้ำต่อไป
แต่ในความเป็นจริง คุณไม่ต้องกังวลอะไรเลย คุณแค่ต้องมอบหมายงานจาก Telegram และ orchestrator จะจัดการต่อจากนั้น
สามรูปแบบที่คุณจะใช้บ่อยๆ
1. Pipeline:
แต่ละงานขึ้นอยู่กับงานก่อนหน้า มีเพียงงานแรกที่เริ่มในสถานะ ready ที่เหลือทั้งหมดรอคิว
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)56FRONTEND=$(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)1112hermes 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."
คุณไม่ได้รันสิ่งนี้ด้วยมือ คุณอธิบายโปรเจกต์ให้ project manager บน Telegram และมันจะสร้างงานเหล่านี้ให้คุณ ภายใต้ฝาครอบมันมีลักษณะเหมือนด้านบน
เมื่อเอเจนต์ backend เรียก kanban_complete() งาน frontend จะย้ายไปยังสถานะ ready พร้อมกับงานของ backend ที่แนบมา

2. มนุษย์ในวงจร (Human in the loop):
ไม่ใช่ทุก blocker ที่เป็นความล้มเหลว บางครั้งเอเจนต์พบปัญหาจริงและหยุดเพื่อถาม
1kanban_block(reason="review-required: password strength check missing, "2 "reset tokens aren't single-use (can be replayed within 30 min)")
คุณเห็นบล็อกบนแดชบอร์ด คุณตรวจสอบปัญหา, แก้ไข, และปลดบล็อกงาน:
1hermes kanban unblock $IMPL
คุณไม่ได้รันสิ่งนี้ใน terminal เช่นกัน แค่คอมเมนต์ในกระดาน Kanban หรือส่งข้อความบน Telegram ระบบก็จะปลดบล็อกให้
ระบบจะรีสตาร์ทเอเจนต์ในรอบถัดไป การรันครั้งที่สองจะเรียก kanban_show() และเห็นอย่างชัดเจนว่าทำไมครั้งแรกถึงถูกบล็อก มันรู้แน่ชัดว่าต้องแก้ไขอะไร มันไม่ได้เริ่มจากศูนย์

3. Triage specifier.
เมื่อคุณมีไอเดียคร่าวๆ แทนที่จะเป็นสเปกที่สมบูรณ์ ให้วางมันบนกระดานและปล่อยให้ระบบขยายรายละเอียดก่อนที่เอเจนต์ใดจะรับไป
1# วางไอเดียคร่าวๆ2hermes kanban create "auth needs rate limiting" --triage --assignee backend-developer34# ขยายรายละเอียดก่อนที่ dispatcher จะรับไป5hermes kanban specify $TASK_ID
คำสั่ง specify จะเขียนชื่อสามคำใหม่เป็นงานที่สมบูรณ์พร้อมเป้าหมาย, แนวทาง, และเกณฑ์การยอมรับ (acceptance criteria) เอเจนต์ที่รับงานไปจะได้รับข้อมูลสรุปที่แท้จริง
การตั้งค่า: สี่โปรไฟล์ในประมาณ 20 นาที
สี่เอเจนต์, หนึ่งกระดานที่ใช้ร่วมกัน, project manager ติดต่อได้ทาง Telegram

ขั้นตอนที่ 1: สร้างโปรไฟล์
1hermes profile create project-manager --clone2hermes profile create backend-developer --clone3hermes profile create frontend-developer --clone4hermes profile create tester --clone
--clone จะคัดลอกการตั้งค่าโปรไฟล์เริ่มต้นของคุณเป็นจุดเริ่มต้น
ขั้นตอนที่ 2: ให้บุคลิกกับแต่ละเอเจนต์
1. Project Manager ที่ ~/.hermes/profiles/project-manager/SOUL.md:
1# Soul23คุณคือผู้จัดการโครงการของทีมพัฒนาซอฟต์แวร์ งานของคุณคือรับไอเดียแอปของผู้ใช้, แตกเป็นงานที่ชัดเจน, มอบหมายให้สมาชิกทีมที่เหมาะสม, และติดตามความคืบหน้าบนกระดาน Kanban คุณไม่ได้เขียนโค้ดด้วยตนเอง คุณจัดการงาน
2. Backend Developer ที่ ~/.hermes/profiles/backend-developer/SOUL.md:
1# Soul23คุณคือนักพัฒนา backend ในทีมซอฟต์แวร์ คุณสร้างและจัดการ backend ทั้งหมดโดยใช้ InsForge — ฐานข้อมูล, การยืนยันตัวตน, พื้นที่จัดเก็บ, ฟังก์ชัน edge, และการปรับใช้
3. Frontend Developer ที่ ~/.hermes/profiles/frontend-developer/SOUL.md:
1# Soul23คุณคือนักพัฒนา frontend ในทีมซอฟต์แวร์ คุณสร้าง UI — คอมโพเนนต์, หน้า, และโฟลว์ผู้ใช้ — และเชื่อมต่อกับ backend โดยใช้ API และเมธอด SDK ที่ backend-developer ได้ตั้งค่าไว้
4. Tester ที่ ~/.hermes/profiles/tester/SOUL.md:
1# Soul23คุณคือผู้ทดสอบในทีมซอฟต์แวร์ คุณทดสอบฟีเจอร์ที่เสร็จแล้วอย่างครบวงจร (end-to-end), ตรวจสอบว่าเกณฑ์การยอมรับเป็นไปตามข้อกำหนด, และรายงานบักกลับไปยังกระดาน Kanban อย่างชัดเจนเพื่อให้สามารถแก้ไขได้
ขั้นตอนที่ 3: เพิ่มทักษะให้เอเจนต์
ทักษะ (Skills) คือคำแนะนำทีละขั้นตอน, คำสั่งเฉพาะสำหรับวิธีการทำงานบางประเภท คิดถึงมันเหมือนการอบรมงานให้เอเจนต์ของคุณ มาดูรายการทีละอย่าง:

InsForge (โอเพนซอร์ส, Apache 2.0) ทำหน้าที่เป็นเลเยอร์วิศวกรรมบริบท backend สำหรับเอเจนต์ที่ใช้ Skills และ CLI โปรไฟล์เอเจนต์นักพัฒนา backend ของเราใช้ทักษะนี้เพื่อมีบริการ backend ที่พร้อมใช้งานสำหรับโปรเจกต์
ขั้นแรก, เพิ่ม skills tap ของ InsForge:
1hermes skills tap add InsForge/insforge-skills
จากนั้นติดตั้งทักษะ backend:
1hermes -p backend-developer skills install InsForge/insforge-skills/insforge --force
ในลักษณะเดียวกันเราติดตั้งทักษะอื่นๆ เช่น insforge-cli (คำสั่งโครงสร้างพื้นฐาน), insforge-debug (วินิจฉัยข้อผิดพลาด), และ insforge-integrations (ผู้ให้บริการยืนยันตัวตนบุคคลที่สาม)
นี่คือวิธีที่เอเจนต์นักพัฒนา backend ใช้ทักษะเพื่อสร้าง backend โปรเจกต์ของเราบน InsForge
ขั้นแรก เอเจนต์นักพัฒนา backend สร้างโปรเจกต์ชื่อ “Google Docs Clone” ใน InsForge
แดชบอร์ดแสดงสถิติโปรเจกต์ เช่น จำนวนผู้ใช้, ตารางในฐานข้อมูล, พื้นที่จัดเก็บ, และรายการ Edge Functions พร้อมโค้ด JavaScript/TypeScript ที่ปรับใช้แล้วที่เกี่ยวข้องกับการยืนยันตัวตน, การจัดการเอกสาร ฯลฯ
ดังนั้น ถ้าคุณกำลังสร้างวิศวกร backend AI, ลองดู InsForge →
(อย่าลืมกดดาว 🌟)
ทักษะเพิ่มเติมจาก Skills Hub
Hermes ยังดูแล Skills Hub ที่มีทักษะ 687 รายการใน 18 หมวดหมู่: 87 แบบ built-in, 79 แบบเสริม, 16 จาก Anthropic (frontend-design, pdf, pptx, docx, mcp-builder และอื่นๆ), และ 505 จาก LobeHub

สำหรับนักพัฒนา frontend, ติดตั้ง frontend-design สำหรับผู้ทดสอบ, ติดตั้ง webapp-testing ทั้งสองมาพร้อมใน Hub
ขั้นตอนที่ 4: เริ่มต้นกระดานและเริ่ม gateway
hermes kanban init จะสร้าง ~/.hermes/kanban.db, ฐานข้อมูล SQLite ที่เก็บทุกงาน, บริบท, และประวัติการรัน
จากนั้นตั้งค่า chat gateway ภายใต้โปรไฟล์ project manager รับ bot token จาก @BotFather บน Telegram และ ID ผู้ใช้ของคุณจาก @userinfobot, จากนั้น:
1hermes kanban init2hermes -p project-manager gateway setup3hermes -p project-manager gateway start
การเชื่อมต่อทำงานตลอด 24/7, ทำให้ระบบทำงานต่อเนื่อง, และทำให้ project manager สามารถติดต่อได้ทาง Telegram
ขั้นตอนที่ 5: ส่งโปรเจกต์แรกของคุณ
ส่งข้อความหา project manager ด้วยสิ่งที่คุณต้องการสร้าง มันจะแยกเป้าหมายเป็นงาน, สร้างงานพร้อมลิงก์ dependency, และระบบจะรันงานตามลำดับ

แดชบอร์ด
รัน hermes dashboard และเปิด http://127.0.0.1:9119 คุณจะเห็นหนึ่งคอลัมน์ต่อสถานะ และอัปเดตสดผ่าน WebSocket โดยไม่ต้องรีเฟรช
0:20
แดชบอร์ด Hermes kanban
สองตัวควบคุมที่ควรรู้ Lanes by profile จะแบ่งกลุ่มย่อยคอลัมน์ Running ตามผู้รับผิดชอบ (assignee) เพื่อให้คุณเห็นว่าเอเจนต์ไหนเป็นเจ้าของอะไรได้ในพริบตา Nudge dispatcher จะรันหนึ่งรอบทันทีแทนที่จะรอ 60 วินาที ซึ่งช่วยได้ทันทีหลังจากคุณปลดบล็อกงาน
คลิกการ์ดใดก็ได้เพื่อเปิด drawer เพื่อดูประวัติการรันที่สมบูรณ์, ผลลัพธ์และ metadata ของทุกครั้งที่พยายาม, และฟิลด์ที่แก้ไขได้สำหรับชื่อ, ผู้รับผิดชอบ, ลำดับความสำคัญ, และ dependencies
สิ่งที่ควรระวัง
โหมดความล้มเหลวสามแบบที่ควรรู้ก่อนทำงานหนักจริงจัง
1. โหลดฐานข้อมูลเกิน ด้วยเอเจนต์ 2 ถึง 4 ตัวที่ทำงานพร้อมกัน คุณจะไม่มีวันเจอปัญหานี้ แต่ถ้ามีเอเจนต์ 10 ตัวขึ้นไปที่เขียนข้อมูลด้วยความถี่สูง ทุกอย่างจะช้าลง จำกัดด้วย hermes kanban dispatch --max 4
2. การลบพื้นที่ทำงาน scratch ไฟล์ที่บันทึกในพื้นที่ทำงาน scratch จะหายไปทันทีที่งานถูกทำเครื่องหมายว่าเสร็จ เพราะ scratch ถูกลบตามการออกแบบ ใช้ worktree สำหรับงานเขียนโค้ด หรือใส่เส้นทางโฟลเดอร์โปรเจกต์ในคำอธิบายงานเพื่อให้เอเจนต์รู้ว่าจะบันทึกที่ไหน
3. โมเดลท้องถิ่นอิ่มตัว เมื่อใช้กับโมเดลท้องถิ่น (Ollama, GPU ในเครื่อง) ระบบสามารถเปิดเอเจนต์หลายตัวพร้อมกันและทำให้ GPU ทำงานหนักเกินไป ซึ่งทำให้การสร้างข้อมูลช้าลงและกระตุ้นการหยุดอัตโนมัติ สำหรับการตั้งค่าท้องถิ่น ใช้ hermes kanban dispatch --max 2 สำหรับโมเดลที่ใช้ API เช่น Claude หรือ GPT-4o ปัญหานี้ไม่ค่อยเกิดขึ้น
ภาพรวมทั้งหมด
แต่ละส่วนมีหน้าที่เดียว:
- SOUL.md คือเอกลักษณ์คงที่ของเอเจนต์: มันคือใครและมันคิดอย่างไร
- Skills คือคำแนะนำทีละขั้นตอนสำหรับงานประเภทเฉพาะ
- Memory คือสิ่งที่เอเจนต์รู้เกี่ยวกับสภาพแวดล้อมของคุณข้ามเซสชัน
- Kanban คือเลเยอร์การประสานงาน: สถานะที่ใช้ร่วมกัน, การถ่ายโอนบริบท, และมนุษย์ในวงจร ณ จุดใดก็ได้

สี่โปรไฟล์, สี่ไฟล์ SOUL.md, หนึ่ง gateway start อธิบายสิ่งที่คุณต้องการสร้างให้ project manager บน Telegram และดูกระดานเต็มไปด้วยงาน
ถ้าคุณเรียนรู้จากวิดีโอได้ดีกว่า คำแนะนำ Hermes Kanban ฉบับเต็มจะลงบน YouTube และ X ในอีกสองสามวัน
ขอบคุณที่อ่าน









