ข้ามไปเนื้อหาหลัก

● กำลังพัฒนา

Multi-Agent Tmux Workflow

ระบบ orchestration ใช้ tmux แบ่ง session หลายหน้าต่าง ให้ AI หลายตัวทำงานพร้อมกันบน codebase เดียวโดยไม่ชนกัน

· อ่านประมาณ 2 นาที

สารบัญ

แรงบันดาลใจ

เวลาพัฒนาโปรเจคคนเดียว งานส่วนใหญ่แบ่งได้เป็น 3-4 ประเภทที่ไม่เกี่ยวกันเลย เช่น UI, เนื้อหา, และ QA แต่ถ้าจะใช้ AI ช่วยแต่ละส่วน การสลับ context ใน session เดียวทำให้ประสิทธิภาพลดลงมาก จึงออกแบบระบบ tmux ที่แต่ละ session มีหน้าที่ชัดเจน และสามารถทำงานพร้อมกันได้โดยไม่ชนกัน

โครงสร้าง Session

SessionEngineบทบาท
leaderclaudeอ่านแผน, แตก task, มอบหมายงาน, commit, จด log
frontendcodexงาน UI/layout/component
contentclaudeงาน markdown, copywriting
qacodexตรวจสอบ build, ทดสอบ link, accessibility

วิธีสื่อสารระหว่าง Session

ใช้ tmux send-keys ส่งข้อความได้โดยตรง:

# leader ส่งงานไป frontend
tmux send-keys -t frontend -l "[จาก leader] ทำ Card component ให้มี hover effect" Enter

# frontend รายงานกลับ leader
tmux send-keys -t leader -l "[frontend เสร็จ] แก้ src/components/Card.astro แล้ว" Enter

สำคัญ: ส่งข้อความ → รอ 1 วิ → กด Enter เพิ่ม 2-3 ครั้ง เพื่อป้องกัน input ค้าง

กฎการแบ่งไฟล์

  • แต่ละ session ถือสิทธิ์ไฟล์ที่ตัวเองดูแลแบบ exclusive
  • leader รัน git status ก่อนมอบหมายงานเสมอ เพื่อดูว่าไฟล์ไหนถูกแก้อยู่
  • ถ้าพบไฟล์ถูกแก้จาก session อื่น ต้องหยุดและรายงานทันที
src/layouts/       → leader / frontend
src/components/    → frontend
src/content/       → content
src/pages/         → แบ่งตามหน้า

Leader Log

leader จดทุก task ที่มอบหมายและผลลัพธ์ใน leader-log.md พร้อม timestamp:

## 2025-12-10T14:30+07:00 — Sprint 3

### มอบหมาย
- FRONT-03 → frontend: ทำ mobile nav hamburger
- CONT-02 → content: เขียน about.md ฉบับเต็ม

### ผลลัพธ์
- FRONT-03 ✅ — src/components/Header.astro แก้แล้ว
- CONT-02 ✅ — src/content/about.md สร้างแล้ว

สิ่งที่เรียนรู้

  • tmux send-keys -l (literal mode) จำเป็นมากเพื่อกันตัวอักษรพิเศษหลุด
  • ต้องมี protocol ชัดเจนว่า session ไหนเป็นคนรัน build ท้ายสุด (leader เสมอ)
  • log file ช่วยมากในการ debug ว่าทำอะไรไปแล้ว เมื่อ context window หมด

Safety Rules ที่ขาดไม่ได้

# รัน git status ก่อนมอบหมายงานทุกครั้ง
git status

# ห้ามแก้ไฟล์เดียวกันพร้อมกันหลาย session
# ถ้าพบ conflict ต้องหยุดและรายงาน leader
  • ห้าม commit secrets, token, API key หรือไฟล์ .env
  • ทุก session ต้องรัน npm run build ก่อนรายงาน
  • leader เป็นคนเดียวที่ commit และ push

ข้อดีเทียบกับ Single-Session

Single SessionMulti-Agent Tmux
งาน frontend + contentทำทีละอย่างทำพร้อมกันได้
Context windowหมดเร็วจากหลายโดเมนแต่ละ session โฟกัสโดเมนเดียว
Error isolationปนกันแยกชัดเจน ง่ายต่อการ debug
Speed1x~2.5x (ประมาณการ)

สถานะปัจจุบัน

ใช้ระบบนี้พัฒนา Panupong WS ข้ามหลาย sprint (Sprint 1–27+) — ประหยัดเวลาได้มากเมื่อเทียบกับ single-session workflow โดยเฉพาะเมื่องานแต่ละประเภทต้องใช้ context ที่ต่างกันโดยสิ้นเชิง