แนวทางการพัฒนาในยุค AI (SDD+TDD)
(app-place-tech.com)เมื่อความเร็วที่ AI สร้างโค้ดแซงหน้าความเร็วที่มนุษย์จะทำความเข้าใจ บทบาทของนักพัฒนาก็กำลังเปลี่ยนจาก "คนเขียนโค้ด" ไปเป็น "ผู้ออกแบบที่กำหนดเจตนาและตรวจสอบความถูกต้อง" บทความนี้เสนอการผสาน SDD(Spec-Driven Development) กับ TDD เป็นแพตเทิร์นสถาปัตยกรรมหลักของแนวทางดังกล่าว
- การผงาดขึ้นของ SDD(การพัฒนาแบบขับเคลื่อนด้วยสเปก)
พื้นหลัง: การระเบิดของประสิทธิภาพการผลิตโค้ดจาก AI ทำให้ "การนำและรีวิวโดยมนุษย์" กลายเป็นคอขวด ทรัพย์สินที่สำคัญที่สุดจึงไม่ใช่ตัวโค้ด แต่คือ "เจตนาที่ชัดเจน(Spec)"
แนวคิด: ใช้เอกสารสเปกความต้องการที่ผ่านการกลั่นกรองมาอย่างดีเป็นทั้งพรอมป์ต์ของ AI agent และเป็น "อาร์ติแฟกต์ที่รันได้จริง" ทำหน้าที่เป็นระนาบควบคุม(Control Plane) ที่ป้องกันการอิมพลีเมนต์ที่ออกนอกสเปกตั้งแต่ต้นทาง
- ซินเนอร์จีกับ TDD (Spec = Test Case)
ราวป้องกัน: เพื่อป้องกันอาการหลอน(Hallucination)และการกระโดดข้ามเชิงตรรกะของ AI จึงกำหนดโค้ดทดสอบก่อนการอิมพลีเมนต์ เพื่อกักความคิดสร้างสรรค์ของ AI ให้อยู่ภายในขอบเขตของข้อกำหนด
เวิร์กโฟลว์: สร้างการทดสอบจากสเปก(Red) → AI อิมพลีเมนต์อัตโนมัติ(Green) → ปรับปรุงการออกแบบด้วยการช่วยเหลือของ AI(Refactor)
การบูรณาการ: สเปกกลายเป็นการทดสอบ และความล้มเหลวของการทดสอบก็ย้อนกลับไปเติมเต็มสเปก จนเกิดโครงสร้างวงจรเชิงบวก
- มายด์เซ็ตใหม่ของนักพัฒนา
การเปลี่ยนบทบาท: เปลี่ยนจาก "ช่างก่ออิฐ" ไปเป็น "ผู้บัญชาการ/สถาปนิก" ที่คุมระบบ
ทักษะที่จำเป็น: 1. วิสัยทัศน์ในการกำหนดคุณค่าที่แท้จริงของผลิตภัณฑ์
2. ความสามารถในการออกแบบโครงสร้างโมดูลที่มีความพร้อมใช้งานสูง
3. ความรู้เชิงโดเมนที่ลึกพอจะตรวจทานผลลัพธ์ของ AI อย่างมีวิจารณญาณ(Discrimination)
สรุป: มอบหมายรายละเอียดการอิมพลีเมนต์(How) ให้ AI ไป แต่ให้นักพัฒนาเป็น "system orchestrator" ที่กำหนดและตรวจสอบค่าคงเดิมของระบบและเจตนาของบิสิเนสลอจิก(What/Why)
1 ความคิดเห็น
ดูเหมือนว่า AI ไม่ได้มาแทนที่นักพัฒนา แต่ให้ความรู้สึกเหมือนคัดบางคนออกไป และค้นพบนักพัฒนาบางคนขึ้นมามากกว่า