Tossaporn (Tree) Saengja

สรุปบทเรียน 8 ปีแห่งการรอคอย สู่ 3 เดือนที่สร้างเสร็จด้วย AI

บทความนี้ถ่ายทอดประสบการณ์ของ Lalit Maganti ที่พยายามสร้างเครื่องมือสำหรับ SQLite มานานกว่า 8 ปี แต่โปรเจกต์มักจะติดขัดเพราะความซับซ้อนและน่าเบื่อ จนกระทั่งเขาได้นำ AI เข้ามาเป็นตัวช่วยในการทำงานอย่างจริงจัง

1. กับดักของ "Vibe-coding" และการก้าวข้าม Spaghetti Code

ในช่วงแรก Lalit ลองใช้วิธีที่เรียกว่า Vibe-coding คือการปล่อยให้ AI (Claude Code) เป็นผู้ตัดสินใจเกือบทั้งหมด ทั้งการวาง Design และการ Implementation ผลลัพธ์ที่ได้คือเขาสามารถสร้าง Prototype ที่ใช้งานได้จริงภายในเวลาอันสั้น แต่ปัญหาที่ตามมาคือ Codebase กลายเป็น Spaghetti ที่ซับซ้อนจนเขาไม่สามารถควบคุมหรือต่อยอดในระยะยาวได้

เขาสรุปบทเรียนว่า แม้ AI จะพิสูจน์ได้ว่าแนวทางนั้น Viable (เป็นไปได้) แต่การขาดการควบคุมจากมนุษย์ทำให้โครงสร้างพังทลาย เขาจึงตัดสินใจ Restart ใหม่ทั้งหมดจาก Scratch

2. AI ในฐานะ Research Assistant ที่ทรงพลังที่สุด

สิ่งที่ให้ Value สูงที่สุดเมื่อเทียบกับเวลาที่เสียไปไม่ใช่การให้ AI เขียน Code แต่คือการใช้ AI ในการทำ Research * แทนที่จะต้องนั่งอ่านเอกสารหรือทำความเข้าใจการทำงานของ SQLite ที่ซับซ้อนด้วยตัวเองทั้งหมด เขาใช้ AI ช่วยเสนอแนวทางและอธิบายแนวคิดยากๆ (เช่น Wadler-Lindig สำหรับการทำ Formatter)

AI ช่วยย่นระยะเวลาการเรียนรู้จากหลายวันให้เหลือเพียงไม่กี่ชั่วโมง ทำให้เขาสามารถข้ามผ่านช่วงเวลาที่น่าเบื่อและยากลำบากไปได้เร็วขึ้น

3. ความสำคัญของ Mental Model และความเสี่ยงของการ "Lost Touch"

ประเด็นที่น่าสนใจมากคือเรื่อง Mental Model ของนักพัฒนาต่อ Codebase * เมื่อเราปล่อยให้ AI เขียน Code ในปริมาณมหาศาล เราจะเริ่มสูญเสียความเข้าใจในรายละเอียดเชิงลึก หรือที่เรียกว่าการ Lost touch * เมื่อไม่มี Mental Model ที่ชัดเจน การสื่อสารกับ AI จะเริ่มติดขัด กลายเป็นเหมือนผู้บริหารที่ไม่เข้าใจ Code แล้วไปสั่งงานที่ทำไม่ได้จริง

Lalit แก้ปัญหานี้ด้วยการกลับมาเป็นคนคุมทิศทางและตัดสินใจเองทั้งหมด (Taking ownership) โดยใช้ AI เป็นเพียง "Autocomplete on steroids" เท่านั้น

4. Implementation vs. Design

บทสรุปสำคัญจากโปรเจกต์นี้คือ:

AI คือ Force Multiplier ที่ยอดเยี่ยมสำหรับการ Implementation (เขียน Code ที่ชัดเจน, ทำงานซ้ำๆ, สร้าง Unit Test)

แต่ AI เป็นตัวแทนที่อันตรายสำหรับเรื่อง Design และ Architecture เพราะ AI ไม่มีรสนิยม (Taste) และไม่มีความเข้าใจเรื่องบริบทของเวลาหรือความรู้สึกของผู้ใช้งาน (UX)

บทสรุป: หัวใจสำคัญของการพัฒนาซอฟต์แวร์ในยุค AI ยังคงอยู่ที่มนุษย์ต้องวาง Fundamental Foundation (รากฐานที่แข็งแรง) และโครงสร้างที่ชัดเจน เพราะสุดท้ายแล้ว "Simple data structure wins all algorithm" และ AI จะทำงานได้ดีที่สุดเมื่อทำงานภายใต้การกำกับดูแลของนักพัฒนาที่มี Mental Model แม่นยำเท่านั้น

https://lalitm.com/post/building-syntaqlite-ai/

#ai #software-engineering #summary #thai