ผมเลิก vibe coding แล้วครับ — ประโยคเปิดคลิปตรงๆ แบบนี้เลย
— ทีโน่ (TinoThamTech) เจ้าของช่อง YouTube ที่พาไปลงลึกเรื่อง Software, Infrastructure, AI/Machine Learning แบบเจาะลึก เคยมาไลฟ์ในเพจ AI กับ Peesamac ด้วยกัน
ผมไปฟัง "ผมเลิก vibe coding แล้วครับ" มา ต่อจากคลิปก่อนของทีโน่ที่พูดเรื่อง maintenance cost ของซอฟต์แวร์ (McKinsey บอกว่ากว่า 80% ของคอสซอฟต์แวร์ตลอดอายุการใช้งานคือ maintenance ไม่ใช่ตอนสร้าง)
เหมาะมากสำหรับคนที่ใช้ AI เขียนโค้ดอยู่ทุกวันแต่ไม่แน่ใจว่ากำลังสร้างหนี้เทคโนโลยีให้ตัวเองอยู่หรือเปล่า เลยอยากมาแชร์ให้ฟังครับ
1. Maintenance cost คือต้นทุนที่แพงที่สุดของซอฟต์แวร์
ทีโน่เปรียบซอฟต์แวร์เหมือนบ้าน ถ้าสร้างแล้วไม่ดูแลมันจะค่อยๆ พัง ท่อแตก โจรงัดง่ายขึ้น พอ AI เข้ามาทำให้ทุกคนสร้างบ้านได้เองโดยไม่ต้องมีความรู้ ต้นทุนตอนสร้าง (initial cost) เลยดูถูกลงมาก แต่ต้นทุนดูแลรักษากลับพุ่งไม่หยุด
2. จุดกำเนิดคำว่า vibe coding มาจาก Andrej Karpathy
ทีโน่เล่าว่าคำนี้มาจากคุณ Andrej Karpathy หนึ่งในเจ้าพ่อวงการ AI คนสำคัญ เขาเคยพูดว่า "I accept all, I didn't read the diffs anymore" คือกด accept รัวๆ ไม่อ่านโค้ดที่ AI เปลี่ยนแปลงอีกต่อไป
3. vibe coding ไม่ได้แย่เสมอไป ถ้าใช้ถูกจังหวะ
ทีโน่บอกว่าสมัยก่อนไม่มี AI ก็มีสิ่งที่เรียกว่า Exploratory Coding อยู่แล้ว คือเขียนโค้ดเพื่อ explore solution หลายแบบโดยยังไม่สนใจ architecture หรือ quality พอมี AI ก็ช่วยลดเวลาทำ Proof of Concept ได้เยอะมาก
4. ปัญหาคือหลายคนไม่ทำขั้นตอนสุดท้าย
ปัญหาคือหลังจาก exploratory coding แล้ว หลายคนไม่กลับมา refactor ให้มัน maintain ได้ง่าย กลายเป็นสิ่งที่ทีโน่เรียกว่า "vibe coder" คือคนที่พร้อมตามคำสั่งแบบ literally ไม่อ่านโค้ด ถ้าใช้ไม่ได้ก็พร้อมใหม่ไปเรื่อยๆ
5. Open Source community เริ่มโดน vibe coder ก่อกวน
ทีโน่ยกตัวอย่างว่า community เริ่มเจอ "denial of service" จาก PR ที่เปิดโดย vibe coder คือแก้แบบไม่เข้าใจปัญหาจริง แก้ได้แค่เคสเดียวแต่ไปทำให้แพลตฟอร์มอื่นพัง สุดท้ายภาระตกไปที่ maintainer ที่ต้องมานั่งรีวิวโค้ดที่ไม่ได้ถูกคิดมาด้วยซ้ำ
6. Mitchell Hashimoto แก้เผ็ดด้วยกับดักใน AGENTS.md
ประเด็นที่ฟังแล้วขำแต่จริงจังคือ Mitchell Hashimoto (คนสร้าง HashiCorp/Terraform ที่ maintain โปรเจค Ghostty) วางกับดักไว้ในไฟล์ agent.md ของโปรเจค ถ้าใครสั่ง AI แบบไม่ดูจริงๆ มันจะสร้างไฟล์ที่เขียนว่า "I'm a sad dumb little AI driver with no real skills" ขึ้นมาเอง เป็นวิธี filter คนที่ contribute แบบชุ่ยๆ ออกไป
7. Karpathy เองก็เปลี่ยนคำใหม่แล้ว
ทีโน่บอกว่า Andrej Karpathy เองก็ไม่ค่อยชอบคำว่า vibe coding ที่ตัวเองคิดเท่าไหร่ เพราะมันฟังดูไม่ใส่ใจ เลยเปลี่ยนมาเรียกสิ่งที่ตัวเองทำว่า "Agentic Engineering" แทน
8. Software Engineer กำลังผันตัวเป็นคนออกแบบ Factory
ทีโน่มองว่างานซอฟต์แวร์ตอนนี้เริ่มถูก automate ได้เยอะขึ้น Software Engineer เลยผันตัวจากคนที่ implement ระบบเอง มาเป็นคนออกแบบระบบที่สร้างระบบอีกทีและคอย control quality
9. SDLC มี 4 ขั้นตอน แต่มีแค่ขั้นเดียวที่ automate อยู่แล้ว
ทีโน่แบ่งขั้นตอนทำงานปกติเป็น 4 ส่วน: (1) What do I need to build (2) Groom the spec (3) Coding (4) Guardrails เช่น run test, static analysis, security scan เขาบอกว่าขั้นตอนที่ 4 นี่แหละที่ทุกทีม automate อยู่แล้วผ่าน CI/CD แต่อีก 3 ขั้นตอนแรกก็สามารถ automate ได้ 80-90% ด้วย agent เหมือนกัน
10. ขั้นตอน "จะทำอะไร" ต้องใช้หัวคนเช็คเอง ห้ามให้ AI เลือก
ประเด็นที่ทีโน่ย้ำหนักคือขั้นตอนแรก (priority งานที่จะทำ) ต้องผ่านหัวสมองคนเกือบทั้งหมด เพราะถ้า AI มั่วเลือกผิดทางแล้วทีมไม่ทันเห็น ในองค์กรใหญ่การ rework ต้องไปบอกอีกทีมนึงว่าทำผิด กลายเป็นล้มกันเป็น domino ใช้เวลานานมาก
11. Grill Me skill ช่วย groom spec ได้ดี แต่ไม่เหมาะ implementation detail
ทีโน่แนะนำสกิล "Grill Me" ของคุณ Mat (สัมภาษณ์ถามรัวๆ จนเข้าใจตรงกันกับ AI) บอกว่าใช้ตอนคุย requirement/functionality ได้ดีมาก แต่ถ้าเอาไปใช้ตอน implementation detail จะถามเยอะเกินไป
12. งานแบ่งเป็น 2 ประเภท: Easy Fix กับ Large Feature
ทีโน่แบ่งงานเป็นประเภทแรกคือ Easy Fix/Safe Refactor เช่นแก้เล็กๆ ที่มี test ครอบอยู่แล้ว พวกนี้ automate ได้เกือบ 100% ปล่อยให้ agent รันเองได้เลยชั่วโมงละครั้ง ส่วนประเภทที่ 2 คือ Large Feature หรือ non-trivial change ที่ยังไม่มีตัวอย่างในโค้ดเบส พวกนี้ต้องมี human in the loop ค่อนข้างเยอะ เพราะบอก AI ไปทำแล้วมันมักจะทำผิดถ้าโค้ดเบสใหญ่จริง
13. Deep Module, Simple Interface ช่วยประหยัด context window ทั้งคนและ AI
ทีโน่แนะนำคอนเซปต์ที่เรียกว่า Deep Module คือโมดูลควร abstract ความซับซ้อนไว้ข้างในแล้วโชว์ interface ที่ใช้งานง่ายออกมา แทนที่จะมีโมดูลเล็กๆ เยอะแยะ 100 อัน ให้มี deep module แค่ 20-30 ตัวที่คนเข้าใจได้ว่าแอปประกอบด้วยอะไรบ้าง เขาบอกว่านี่คือ Context Engineering แบบหนึ่งที่มีมาก่อน AI จะฮิตด้วยซ้ำ
14. Hexagonal Architecture ทำให้โค้ดกลายเป็น Lego เปลี่ยนชิ้นส่วนได้โดยไม่กระทบกัน
ทีโน่สาธิตด้วยตัวอย่าง Todo app อธิบาย Ports and Adapters ว่าฝั่ง Driving Port (ทางที่คนอื่นมาสั่งแอปเรา เช่น CLI หรือเว็บ) กับฝั่ง Driven Port (ทางที่แอปเราไปพึ่งของอื่น เช่น เซฟไฟล์หรือ database) ถ้าออกแบบเป็น interface ชัดเจน จะสลับ implementation ได้โดยไม่ต้องแก้ core logic เลย เช่นเปลี่ยนจากเซฟไฟล์ไปเซฟ database ก็แค่เขียน adapter ใหม่อันเดียว
15. สรุปปิดคลิป: พร้อมอย่างเดียวทำซอฟต์แวร์คุณภาพสูงไม่ได้
ทีโน่ปิดท้ายว่า Agentic Engineering ต้องใช้ความรู้ความเข้าใจเรื่องซอฟต์แวร์ค่อนข้างเยอะ ไม่ใช่กด accept อย่างเดียว แต่ก็ไม่ใช่ทุกงานต้องการ quality สูงสุดเสมอไป บริษัทที่ core business พึ่งซอฟต์แวร์เป็นหลัก ถ้าไม่มีคนดูแล maintenance เลยก็รอวันเจ๊งได้เหมือนกัน
ฟังจบแล้วคิดว่าทีมของตัวเองอยู่ตรงไหนของ 4 ขั้นตอนนี้ครับ ยังพร้อมอย่างเดียวอยู่ หรือเริ่มมี guardrails กับ architecture รองรับแล้ว
คลิปเต็มดูได้ที่ช่อง TinoThamTech: https://www.youtube.com/watch?v=KWo_sZWrs3Y
อยากใช้ AI กับงานจริงเป็นระบบ?
เรียน Claude Method — วิธีคิดและลงมือใช้ Claude/AI กับงานจริง ตั้งแต่วันแรก
📍 โพสต้นฉบับบน Facebook: AI กับ Peesamac