Agent Dev Thai Academyprinciples · patterns · architecture

จัดการ AI agent เหมือนจัดการลูกทีม

รัน Claude Code 3 terminal พร้อมกันแล้วงานชนกัน ทางแก้เหมือนจัดการทีมคน ให้แต่ละตัวเป็นเจ้าของโดเมนเดียว เขียนขอบเขตไว้ใน CLAUDE.md แล้วเราจะเลิกเป็นคอขวด

ทุกคนพูดเรื่อง vibe coding — สั่ง AI แล้วมันเขียน code ให้

แต่พอผมรัน Claude Code 3 terminal พร้อมกัน (backend / frontend / contract แยกกัน 3 repo) vibe coding อย่างเดียวไม่พอ

มันเขียน code เป็น แต่มันไม่รู้ว่าใครควรแตะอะไร — terminal นึงแก้ไฟล์ อีกอันเขียนทับ พอจะ commit งานชนกันมั่ว 3 ตัวที่ควรเร็วขึ้น 3 เท่า กลายเป็นช้ากว่าเดิม เพราะต้องคอยวิ่งห้ามมันทั้งวัน

แล้วก็นึกออกว่า — นี่ไม่ใช่ปัญหา AI มันคือปัญหาเดียวกับ "ทีมคนที่ไม่มีขอบเขตงาน"

ทีมคนที่งานชนกัน เราไม่ได้แก้ด้วยการยืนคุมทุกคน เราแก้ด้วยการแบ่งให้ชัดว่าใครรับผิดชอบอะไร AI ก็เหมือนกัน


1. ให้แต่ละตัวเป็นเจ้าของโดเมนเดียว

terminal backend แตะแค่ backend / contract แตะแค่ contract ห้ามข้ามเส้น

พอแต่ละตัวมีอาณาเขต มันไม่เขียนทับกัน เพราะมันไม่ได้อยู่ที่เดียวกันตั้งแต่แรก

2. เขียนกฎไว้ในไฟล์ ไม่ใช่ในหัวเรา

แต่ละ terminal มี CLAUDE.md บอกขอบเขตตัวเอง — แตะอะไรได้ ส่งงานให้กันยังไง

CLAUDE.md = สัญญาของทีม มันอ่านเอง ไม่ต้องคอยเตือนทุกครั้ง

3. คนสั่งงานเลิกเป็นคอขวด

ก่อนหน้านี้ทุกการตัดสินใจต้องผ่านเรา เพราะเราคือคนเดียวที่รู้ว่าอะไรอยู่ตรงไหน

พอย้ายกฎไปอยู่ในไฟล์ agent คุยกันผ่านขอบเขตที่เขียนไว้ เราดูภาพรวมพอ ไม่ต้องเป็นคนกลางทุก step


หัวใจมันง่ายมาก: จัดการ AI agent เหมือนจัดการทีมคน

ทีมพังเพราะอะไร AI ก็พังเพราะอันนั้น — ขอบเขตไม่ชัด, ไม่มี interface ที่ตกลงกัน, มีคนเป็นคอขวด

vibe coding ได้ "code ที่รันได้" — architecture ได้ "code ที่ไม่พังใส่กัน"

พอ agent เยอะขึ้น โครงสร้างไม่ใช่ของแถม มันคือเส้นแบ่งระหว่าง "เร็วขึ้น 3 เท่า" กับ "พังเร็วขึ้น 3 เท่า"


อยากลองแยกเองมั้ย เริ่มจากให้ AI หา boundary ใน repo คุณก่อน — ก๊อปไปวางได้เลย:

วิเคราะห์ repo นี้แล้วบอกหน่อยว่าควรแบ่งเป็นกี่ domain
แต่ละ domain เป็นเจ้าของโฟลเดอร์ไหน
มีจุดไหน logic พันกันข้าม domain (cross-cutting)
ที่ควรดึงออกมาเป็นส่วนกลาง

แล้วใส่ขอบเขตลงใน CLAUDE.md ของแต่ละ agent — ศัพท์ที่ดรอปไปใช้ได้เลย:

  • bounded context — 1 agent = 1 โดเมน ไม่ก้าวก่าย
  • ubiquitous language — ตั้งชื่อสิ่งเดียวกันให้ตรงกันทุก agent (เขียน glossary ไว้)
  • platform vs stream — agent ทำ feature, คุณ + CLAUDE.md คือ platform ที่ทำให้มันไหล

ผมไม่ได้อ่านหนังสือ management มาก่อนแล้วเอามาใช้กับ AI ผมเจอ 3 terminal ชนกันก่อน แล้วเพิ่งมารู้ทีหลังว่ามันคือเรื่องที่คนเขียนหนังสือไว้นานแล้ว

ถ้าใครอยากขุดลึก แนวคิดพวกนี้มาจาก:

  • Team Topologies (Skelton & Pais) — แบ่งทีมให้งานไหล ไม่ให้ทีมนึงเป็นคอขวดของทีมอื่น
  • Domain-Driven Design (Eric Evans) — "bounded context" แบ่งโดเมนให้ชัดว่าใครเป็นเจ้าของอะไร

แต่อย่าเพิ่งไปโหลด framework มาทั้งดุ้น framework เป็นแค่นั่งร้าน — พอโครงสร้างเข้าที่แล้วก็ถอดออก เหลือแค่ agent ที่ไม่ชนกัน กับคุณที่ไม่ต้องคุมทุกอย่าง


ผมแพ็ค prompt แยก repo + ขอบเขตพวกนี้เป็น skill ฟรีไว้แล้ว (agent-boundaries) เอาไปลองได้เลย:somnus0x/agt-skill-packGitHub ↗อ่านคำอธิบาย repo นี้เป็นภาษาไทย →