อ่านบทความนี้ใน Facebookเรามักได้ยินว่า “vibe-code เหมาะกับโปรเจคเล็ก ๆ” โพสนี้อยากชวนมาคุยอีกมุมว่า “vibe code ก็ work เหมือนกันโดยเฉพาะในโปรเจคใหญ่ ๆ”
เหตุผลง่าย ๆ คือ “ในโปรเจคใหญ่ ๆ เรามี assets ที่สามารถ leverage ได้มากกว่า project เล็กที่ไม่มีอะไรให้ AI leverage ได้เลย”
ตอนนี้เราเองก็กำลังสร้าง motion graphic editor อยู่ (แวะไปดูได้ แปะะ 👉 StoryMotion)
ในตอนแรกที่ขึ้นโปรเจคใหม่ ๆ เราก็ใช้ AI โปรเจคขึ้นมา ถึงแม้ว่าจะได้ของที่ใช้งานได้ออกมาได้ไวมาก ๆ แต่พอมันเริ่มจาก 0 บางทีเราก็ได้ UI style แปลก ๆ หรือพอ prompt ไปเรื่อย ๆ ไฟล์ก็บวมขึ้นเรื่อย ๆ
ซึ่งถ้าเราปล่อยไปแล้วไม่ได้แคร์มันมาก มันก็เหมือนเป็นระเบิดเวลาในอนาคต ที่ code complexity ของเราก็บวมขึ้นเรื่อย ๆ จนจะแก้อะไร หรือบัคทีนี่ลำบากเลย
หลังจากที่ refactor ใหญ่ ๆ มา 2-3 ครั้ง เรารู้สึกว่าใช้ AI มันตรงใจขึ้นพอสมควร
เรามี example code อยู่แล้วว่าโค้ด style เป็นแบบไหน ปกติเราเขียนยังไง เรามี docs ที่เขียนไว้ว่ามี project structure แบบไหน architecture แบบไหน (ว่าแบบอนาคตจะ scale ไปทางไหน) หรือ features นี้ต้องไปอ่านไฟล์ไหนบ้าง เรามี tooling/scripts/system ที่เวลาจะ test หรือ release new version ต้องทำอะไรบ้าง 1,2,3
หรือก็คือ เรามี “assets to leverage” เยอะที่พอใช้ AI เราไม่ต้องเสียเวลา feedback มันขนาดนั้น หรือต่อให้ feedback ก็ไม่ต้องพูดเยอะ แค่บอกให้ไปดูตรงโน้นตรงนี้
จริง ๆ เรื่องนี้ไม่ได้ใหม่อะไรมาก มันก็คือการลงทุนระยะสั้น vs ระยะยาวเลย (tactical programming vs strategic programming)
ว่าเราจะได้ผลลัพธ์ไวแต่ลำบากในอนาคต หรือลงทุนเสียเวลาตอนนี้แต่อนาคตสบายอะไรแบบนั้น
แต่ประเด็นคือพอในยุคที่มี AI เรารู้สึกว่า “อนาคต” ที่ว่ามันไม่ได้ไกลขนาดนั้นเหมือนเมื่อก่อน บางทีลงทุนในระยะยาวไปเยอะ ๆ เลยแต่แรกก็อาจจะคุ้มกว่า vibe ไปเรื่อย ๆ ให้ ship ได้ไว ๆ แล้วมา refactor ครั้งใหญ่ทีหลัง
(นั่นหล่ะฮะ ไม่งั้นเราคงไม่ต้องมานั่ง refactor ทีหลังเกือบอาทิตย์ 😭😭)
ตอนนี้อ่าน A Philosophy of Software Design ไปด้วยกับ refactor + ทำโปรเจคไปด้วย ไว้มาแชร์ถ้ามีโอกาส
