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

เปลี่ยนมุมมองสถาปัตยกรรมซอฟต์แวร์ เมื่อ AI Agents ทำให้ผมเลือก Vertical Slices

ประสบการณ์จริงจากการทำงานร่วมกับ AI agents ที่เปลี่ยนใจนักพัฒนาจากการใช้ Layered Architecture แบบเดิม หันมาจัดระเบียบโค้ดตามฟีเจอร์

เรียบเรียงโดย AI
Inewgen
29 Jul 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
เปลี่ยนมุมมองสถาปัตยกรรมซอฟต์แวร์ เมื่อ AI Agents ทำให้ผมเลือก Vertical Slices

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • นักพัฒนาเคยชื่นชอบ Layered Architecture เพราะหาไฟล์ง่ายตามหน้าที่
  • การใช้ AI หลายตัวทำงานพร้อมกันทำให้โค้ดกระจัดกระจายและรีวิวได้ยาก
  • Vertical Slices ทำให้ AI แต่ละตัวรับผิดชอบฟีเจอร์เบ็ดเสร็จในโฟลเดอร์เดียว
  • สถาปัตยกรรมที่ลดการประสานงานช่วยให้ทั้งมนุษย์และ AI ทำงานได้ดีขึ้น

หลายปีที่ผ่านมา ผมมักจะเลือกใช้สถาปัตยกรรมแบบแบ่งชั้นหรือ Layered Architecture เป็นอันดับแรกในการพัฒนาซอฟต์แวร์ โครงสร้างทั่วไปมักจะประกอบด้วย Controllers, Services, Repositories, DTOs และ Models ซึ่งช่วยให้การนำทางในโปรเจกต์ตรงไปตรงมา เพราะถ้าต้องการหา Repository ก็รู้ทันทีว่าต้องไปดูที่ไหน

coding project structure files

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ทุกอย่างเปลี่ยนไปเมื่อผมเริ่มทำงานร่วมกับ AI agents หลายตัวพร้อมกัน ซึ่งทำให้เป้าหมายในการปรับแต่งโค้ดเปลี่ยนไปโดยสิ้นเชิง ลองจินตนาการว่า Agent ตัวหนึ่งกำลังพัฒนาฟีเจอร์การจัดส่งสินค้า (Shipping) ในขณะที่อีกตัวกำลังพัฒนาเรื่องการชำระเงิน (Billing) ภายใต้สถาปัตยกรรมแบบแบ่งชั้น ทั้งสองตัวจะต้องเข้าไปแก้ไขไฟล์ใน Controllers, Services, Repositories, การทำ Tests และ Dependency Injection ร่วมกัน แม้ว่าพวกมันจะทำงานคนละฟีเจอร์กันก็ตาม ส่งผลให้การใช้งานฟีเจอร์เดียวถูกกระจายฝังตัวอยู่ทั่วทั้งโปรเจกต์ และทำให้กระบวนการ Code Review กลายเป็นเรื่องยากตามไปด้วย

แนวทางที่ให้ผลลัพธ์ดีกว่าคือการจัดระเบียบโค้ดรอบๆ ฟีเจอร์ แทนที่จะยึดตามชั้นหน้าที่ (Vertical Slices) ทำให้ Shipping และ Billing ไม่ใช่แนวคิดที่กระจัดกระจายอยู่ในหลายโฟลเดอร์อีกต่อไป แต่กลายเป็นโครงสร้างที่มองเห็นได้อย่างชัดเจนในโปรเจกต์ โค้ดจะถูกจัดกลุ่มใหม่ดังนี้:

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

  • Features/Shipping/Controllers, Services, Repositories, DTOs
  • Features/Billing/Controllers, Services, Repositories, DTOs

ด้วยวิธีนี้ AI แต่ละตัวจะเป็นเจ้าของฟีเจอร์ทั้งหมด ไม่ใช่แค่ไฟล์ไม่กี่ไฟล์ที่กระจายอยู่ทั่วโซลูชัน การตรวจทานการเปลี่ยนแปลงจึงเป็นการเปิดดูโฟลเดอร์ Features/Shipping แทนที่จะต้องตามหาไฟล์ในหลายๆ จุด นอกจากนี้ ขอบเขตความเป็นเจ้าของยังครอบคลุมไปถึงการทดสอบ (Verification) ด้วย หากโค้ดชุดนั้นอยู่ในฟีเจอร์ใด ชุดการทดสอบที่พิสูจน์ว่ามันทำงานได้ก็ควรถูกจัดกลุ่มไว้ที่ฟีเจอร์นั้นเช่นกัน ไม่เช่นนั้นกระบวนการรีวิวยังคงต้องกระโดดไปมาระหว่างหลายชั้นในโปรเจกต์ทดสอบ

แนวคิดเรื่อง Vertical Slices ไม่ได้ถูกออกแบบมาเพื่อรองรับ AI ตั้งแต่แรก แต่ถูกคิดค้นขึ้นมาเพื่อเพิ่มความเหนียวแน่น (Cohesion) ภายในโมดูล การเข้ามาของยุค AI agents เป็นตัวสะท้อนปัญหาเดิมให้เด่นชัดขึ้นอีกครั้ง นั่นคือระบบที่ซับซ้อนย่อมต้องการการประสานงานสูง ไม่ว่าผู้พัฒนาจะเป็นมนุษย์หรือ AI หลักการจึงเหมือนกันเสมอ นั่นคือสถาปัตยกรรมที่ลดภาระการสื่อสารข้ามส่วนได้มากเท่าไหร่ ก็จะยิ่งส่งผลดีต่อประสิทธิภาพโดยรวมมากเท่านั้น

ก่อนหน้านี้ผมเคยสนับสนุนสถาปัตยกรรมแบบ Event-driven ว่าเหมาะกับ AI เพราะช่วยให้พฤติกรรมของระบบสังเกตได้ง่าย ผมมองว่าสถาปัตยกรรมแบบ Vertical Slices นี้ก็ให้ผลลัพธ์ในลักษณะเดียวกัน มันทำให้ความเป็นเจ้าของ (Ownership) สังเกตเห็นได้ทันที คุณรู้ได้ทันทีว่า Agent ตัวไหนดูแลฟีเจอร์อะไร และการทดสอบซ่อนอยู่ตรงไหน

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้