พอดีช่วงเห็นเห็นคน discuss กันเรื่อง ai vibe code เลยเขียนบทความนี้เพื่อขยายมุมมองกันหน่อย

การ vibe code ในมุมของการทำ mvp หรือ ระบบที่ไม่ซับซ้อนนั้น เป็นไปได้ และ fragile น้อย เพราะมันแบนราบ ไม่มีรายละเอียดในทางระบบเยอะ

นึกภาพว่า ระบบที่ทำมาเพื่อรองรับคนหลักร้อย กับ ระบบที่ทำมาเพื่อให้คนหลักพันใช้นั่นวิธีคิด วิธีการออกแบบระบบ ภาพอาจจะต่างกันเลย

ผมเข้าใจว่าตนนี้คนสายอื่นๆ กำลังสนุกกับการสร้างของได้เอง โดยเฉพาะฝั่ง business ที่สามารถสร้าง mvp เพื่อหาลูกค้าได้เร็วขึ้น ไม่ต้องรอการสร้างระบบจากฝั่ง development ที่นานอีกต่อไป

แต่ส่วนใหญ่ที่เราใช้ ai ออกแบบกันตอนนี้ เราไม่ได้ให้มันออกแบบระบบที่ใหญ่มาก ระบบที่ให้ ai ออกแบบ เราไม่ได้สนใจเรื่อง Non-Functional Requirements เลย หรือบางคนยังไม่รู้จัดคำนี้ด้วยซ้ำ

ลองนึกภาพดูนะ...โจทย์ ระบบลงทะเบียนรับสิทธิ์ โดยมีการ verify email, กรอกแบบ form, ยืนยันการรับสิทธิ์.ถ้ามาแค่นี้เราก็ vibe code เลย... จบใช่มั้ย

แต่ถ้าระบบลงทะเบียนรับสิทธิ์นั้นเป็นรับสิทธิ์ของร้านค้าที่คนกำลัง hype มาก ที่ต้องกดแย่งชิงกันสิ่งนี้จะเปลี่ยนไปเลย...​เพราะเราต้องคิดเยอะขึ้น

เช่น

  • จำนวนคนที่เข้ามาจะเท่าไหร่
  • req/s เป็นเท่าไหร่
  • availability ต้องเป็นยังไง
  • scalability ต้องทำยังไง
  • performance ต้องระดับไหน
  • ถ้าเป็นระบบที่ดูแลระยะยาว...​ Maintenance ต้องเป็นยังไง
  • เป็นต้น

แล้วถ้าโจทย์เป็น microservice ที่แบ่งออกมาเป็นหลายๆ ตัว การ vibe code ก็จะซับซ้อนขึ้น และ fragile มากขึ้น

ลองนึกว่าภาพ มีสัก features นึงที่ต้องทำงานต่อกัน 3 domain แล้วเราจะ vibe code ยังไง?

จะออกแบบภาพใหญ่เลย 1 features หรือ แยกออกไปแต่ละ domain ถ้าออกแบบของแต่ละ domain ภาพใหญ่ใครคุม?

การ vibe code เพื่อให้ได้ระบบนี้ ก็จะช้าลง... และจุดที่ vibe code ได้ก็จะแคบลงไปด้วย จากทำได้ทั้ง project -> domain -> api -> function

เท่านี้... เราก็เห็นแล้วว่าถ้าไม่มีความรู้ด้าน technical เรื่องพวกนี้ก็จบเลย ไปต่อไม่ได้ ถ้าเราไม่มีความรู้แล้วเราจะสั่งให้มันทำได้ยังไงนะ?

ในมุมของการทำของชิ้นเล็กๆ เอาสนุก หรือ ทดสอบตลาด อันนี้ ai ช่วยคุณได้จริงๆ

แต่ในมุมของการ scale หรือ complexity ของระบบ ai ยังช่วยเราได้ไม่หมด

ถ้าจะให้ ai มาช่วย เราต้องคิดเยอะขึ้นมาก... รวมถึงต้องเขียนบางอย่างเพื่อมาช่วยหรือคุม ai อีกที ซึ่งมันไม่ต่างอะไรกับที่ที่เรากำลังเขียนระบบ ai เพื่อให้สามารถสั่ง ai ทำในสิ่งที่เราต้องการอีกทีนึง

ภาพนึงที่ยังคงไม่เปลี่ยน คือ Business หาเงินได้เร็ว แต่ Technical ยังคงแบกระบบให้สามารถทำเงินระยะยาวได้

สรุปจบแบบหักมุม เวลาคุยเรื่อง AI Vibe code กลับมาดูกันก่อนว่า เรากำลังคุยกันที่โจทย์ไหน? ใช้โจทย์เดียวกันหรือเปล่านะ