Agent Dev Thai Academyprinciples · patterns · architecture

Multi-Agent is Overrated — ทุกคนสร้างทีม AI 5 ตัว ผมใช้ตัวเดียว

multi-agent ส่วนใหญ่คือ model เดียวกันใส่ prompt คนละอัน แต่ได้ coordination cost เพิ่มมา ผมใช้ Claude Code ตัวเดียวกับ skill 21 ตัว ปัญหาจริงคือ governance ไม่ใช่ specialization

ทุกคนตื่นเต้นกับ multi-agent

CrewAI, AutoGen, LangGraph — framework ใหม่ออกมาทุกอาทิตย์ แต่ละตัวขายฝันเหมือนกัน: "สร้างทีม AI ของคุณ marketing agent ตัวนึง code agent อีกตัว research agent อีกตัว ให้มันคุยกันเอง ทำงานให้"

ฟังดูดีมาก demo ก็สวย

ผมลองมาแล้ว แล้วผมเลิกใช้


ปัญหาแรก — specialization มักถูกพูดเกินจริง

"marketing agent" กับ "code agent" คืออะไร?

คือ model เดียวกัน ใส่ system prompt คนละอัน แค่นั้น

ไม่ได้มี brain คนละตัว ไม่ได้มี skill set ที่ต่างกันจริง ไม่ได้ถูก train มาต่างกัน Claude คือ Claude GPT คือ GPT ต่อให้เรียกมันว่า "Senior Marketing Strategist Agent" มันก็ยังเป็น LLM ตัวเดิมที่ตอบตาม prompt

ถ้าความต่างมีแค่ prompt — ก็เหมือนจ้างคนคนเดียว แล้วให้ใส่หมวก 5 ใบ สลับหมวกทุก 5 นาที แล้วบอกว่า "ผมมีทีม 5 คน"


ปัญหาที่สอง — coordination cost สูงกว่าที่คิด

พอมี agent หลายตัว ต้องมีระบบให้มันคุยกัน

ใครส่ง message ก่อน? ใครตัดสินใจ? ถ้า marketing agent กับ code agent ขัดกัน ใครชนะ? output จาก agent A เป็น input ของ agent B ได้เลยมั้ย หรือต้องแปลง format? ถ้า agent C ให้ข้อมูลผิด agent D ที่รับไปจะรู้ได้ยังไง?

ปัญหาพวกนี้ไม่ใช่ปัญหา AI มันคือปัญหา distributed systems ที่คนทำ microservices เจอมา 10 ปี แล้วยังแก้ไม่จบ

แต่พอใส่คำว่า "agent" เข้าไป คนทำเป็นลืมว่ามันคือปัญหาเดิม


ปัญหาจริงไม่ใช่ specialization แต่คือ governance

ผมรัน Claude Code ทุกวัน ใช้ตัวเดียว กับ skill 21 ตัว

skill คืออะไร? คือ markdown file ที่บอกว่า "ถ้าเจอ context แบบนี้ ให้ทำแบบนี้"

ถ้าผมส่ง URL มา → โหลด link triage skill
ถ้าผมพูดเรื่อง market → โหลด morning brief skill
ถ้าผมพูดเรื่อง content → โหลด AGT content skill

model เดิม context เปลี่ยนตาม task ไม่ต้องสร้าง agent ใหม่ ไม่ต้องมี coordination protocol ไม่ต้องมี message queue ระหว่าง agent

CLAUDE.md ทำหน้าที่เป็น governance document — กฎกลางที่ทุก skill ต้องเชื่อฟัง ไม่ว่าจะอยู่ใน context ไหน agent ก็ตัวเดิม กฎก็เดิม แค่โหลด skill ที่ตรงกับงาน

ไม่มี overhead ของ multi-agent เลย


"แล้วถ้าต้อง run หลายงานพร้อมกัน?"

ผม run 3 terminal พร้อมกัน ทุกวัน แต่ละ terminal ทำงานคนละ repo

แต่มันไม่ใช่ multi-agent ตามที่ CrewAI ขาย

มันคือ model เดียวกัน governance เดียวกัน (Kanly protocol) ทำงานคนละ scope แต่มี rules ที่ป้องกันไม่ให้ overwrite กัน มี dispatch ส่งข้ามเมื่อ repo หนึ่งเปลี่ยนอะไรที่กระทบอีก repo

governance layer ต่างหาก ไม่ใช่ agent layer


CrewAI / AutoGen แก้ปัญหาอะไรจริง?

demo กับ conference talk

ถ้ามี 5 agent คุยกัน ทำงานให้ตอนขึ้น stage — มัน impressive มันขายได้ มัน raise fund ได้

แต่ production workflow จริงๆ ปัญหาไม่ใช่ "ต้องมี agent หลายตัว" ปัญหาคือ:

  • ใครตัดสินใจว่าอะไรสำคัญ?
  • source of truth อยู่ไหน?
  • ถ้า output ผิด จะรู้ได้ยังไงก่อนที่มันจะ ship?
  • drift จะจับยังไง?

พวกนี้คือปัญหา governance ไม่ใช่ปัญหา specialization

เพิ่ม agent ไม่ได้ช่วยแก้ปัญหาพวกนี้ เพิ่ม agent ทำให้ปัญหาพวกนี้ยากขึ้น

multi-agent มีประโยชน์จริงเมื่อ tools, permissions, หรือ state ต้องแยกกันชัดเจน เช่น parallel I/O-bound tasks ที่คุ้มกว่า overhead แต่ส่วนใหญ่ที่เห็นบน demo stage ไม่ใช่เคสนั้น


สรุป

ถ้าคุณกำลังจะสร้าง multi-agent system ถามตัวเองก่อน:

agent ตัวที่ 2 3 4 5 ทำอะไรที่ agent ตัวเดียวกับ skill ที่ดีกว่าทำไม่ได้?

ถ้าคำตอบคือ "ไม่มี" → ปัญหาที่คุณต้องแก้ไม่ใช่ specialization แต่คือ governance

one agent + good skills + clear rules > committee of specialized juniors

ลอง skill-based approach ก่อน ถ้ามันไม่พอ ค่อยเพิ่ม agent — แต่เพิ่มเพราะต้อง run parallel จริง ไม่ใช่เพราะ framework บอกว่าต้องมีทีม