กฎ 80/20 ของการเขียนโค้ดด้วย AI
AI เขียนฟีเจอร์ของผมเสร็จไป 80% ภายในเวลาเพียง 10 นาที โค้ดดูสะอาดตา ตรรกะสมเหตุสมผล และมันทำงานได้ตั้งแต่ครั้งแรกที่ลอง ผมรู้สึกดีมาก
แต่ AI มีประโยชน์สำหรับ 80% แรก และไร้ประโยชน์สำหรับ 20% สุดท้าย
AI ถูกปรับแต่งมาเพื่อ happy path มันสร้างขึ้นเพื่อโลกที่ทุกอย่างเป็นไปตามแผน แต่ซอฟต์แวร์ที่ใช้งานจริงนั้นอยู่ในโลกที่ทุกอย่างมักจะผิดพลาด
เมื่อเร็วๆ นี้ผมได้สร้าง Sol Email Worker ขึ้นมา AI ช่วยสร้าง core logic, threading และ routing ให้เสร็จภายใน 20 นาที นั่นคือส่วนที่ง่ายที่สุด
ส่วน 20% สุดท้ายต้องใช้ความเชี่ยวชาญที่แท้จริงของผม:
• Deduplication: การจัดการกับข้อความที่ซ้ำกัน • Sender-skip logic: การหลีกเลี่ยงไม่ให้ประมวลผลข้อความของตัวเอง • Error recovery: การจัดการกับ API response ที่ไม่คาดคิด • Log output: เพื่อให้สามารถ debug ได้ตอนตี 2
AI ทำตามสิ่งที่ผมสั่ง แต่ผมล้มเหลวในการสั่งให้จัดการกับ edge cases เพราะผมยังไม่ได้คิดถึงเรื่องพวกนั้นให้ถี่ถ้วน
เรากำลังมีปัญหาเรื่องการวัดผล เรามักจะติดตามจำนวนบรรทัดของโค้ดและจำนวน ticket ที่ปิดได้ ตัวชี้วัดเหล่านี้ให้รางวัลกับความรวดเร็วใน 80% แรก แต่ไม่มีใครติดตามเวลาที่เสียไปกับการจัดการ error handling หรือการตรวจสอบ null checks เลย
20% นั้นมองไม่เห็นบน dashboard แต่นั่นคือจุดที่งานจริงๆ เกิดขึ้น ตอนนี้ผมจึงเปลี่ยนมาติดตาม prompt-to-ship time ซึ่งก็คือเวลาตั้งแต่การเขียน prompt ครั้งแรกไปจนถึงฟีเจอร์ที่เสถียรพร้อมใช้งานบน production ตัวเลขนี้มักจะมากกว่าเวลาที่ AI ใช้สร้างโค้ดอย่างน้อย 4 เท่าเสมอ
นี่คือวิธีที่ผมทำงานในตอนนี้:
- ผมเผื่อเวลาไว้ 4 เท่าของเวลาที่ AI ใช้สำหรับทุกงาน
- ผมเขียน prompt สำหรับ unhappy path โดยสั่งให้ AI สมมติว่าเครือข่ายล้มเหลวหรือ API ส่งค่า null กลับมา
- ผมถือว่าร่างแรกเป็นเพียงจุดเริ่มต้น ไม่ใช่เส้นชัย
เวลา 3 ชั่วโมงที่ผมใช้ไปกับการจัดการ error handling หลังจากที่ AI ใช้เวลาสร้างโค้ดเพียง 30 วินาที ไม่ใช่เรื่องสูญเปล่า แต่มันคืองานจริงๆ AI ได้เปลี่ยนลักษณะงานจากการเขียนโครงสร้าง ไปสู่การทำให้โค้ดใช้งานได้จริง
การทำให้โค้ดใช้งานได้จริงนั้นต้องใช้เวลา มันต้องอาศัยบริบทเฉพาะตัวของคุณ ผู้ใช้งานของคุณ และประวัติของ codebase ของคุณ นั่นแหละคือความหมายของความเชี่ยวชาญ
AI ทำงานได้ดีในพื้นที่ที่คุ้นเคย แต่ edge cases คือพื้นที่ที่ไม่คุ้นเคยเสมอ
ครั้งต่อไปที่การสาธิตของ AI ทำให้คุณประทับใจ ลองถามดูว่าเกิดอะไรขึ้นหลังจากที่การสาธิตนั้นจบลง
ที่มา: https://dev.to/amrree/the-8020-rule-of-ai-code-id
ชุมชนแห่งการเรียนรู้ (ไม่บังคับ): https://t.me/GyaanSetuAi
