𝗔𝗜 𝗠𝗮𝗸𝗲𝘀 𝗖𝗼𝗱𝗶𝗻𝗴 𝗘𝗮𝘀𝗶𝗲𝗿. 𝗜𝘁 𝗗𝗼𝗲𝘀𝗻'𝘁 𝗠𝗮𝗸𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗘𝗮𝘀𝗶𝗲𝗿.
หลายคนบอกว่า AI ทำให้วิศวกรรมซอฟต์แวร์ง่ายขึ้น พวกเขาคิดผิด
AI ทำให้การเขียนโค้ดเร็วขึ้น ช่วยให้คุณสร้างต้นแบบ (prototype) ได้อย่างรวดเร็ว และเปลี่ยนจากไอเดียไปสู่ผลลัพธ์ได้ภายในไม่กี่วินาที
การเขียนโค้ดไม่เคยเป็นส่วนที่ยากที่สุดของงานนี้เลย
ความท้าทายที่แท้จริงยังคงอยู่:
- การทำความเข้าใจปัญหา
- การกำหนดสถาปัตยกรรม (architecture) ที่เหมาะสม
- การเปลี่ยนความต้องการของลูกค้าให้กลายเป็นระบบที่เชื่อถือได้
- การทดสอบและตรวจสอบความถูกต้องของซอฟต์แวร์
- การดูแลรักษาและการขยายระบบ (scaling)
การที่ LLM สร้างฟังก์ชันขึ้นมาภายในสามวินาที ไม่ได้ช่วยแก้ปัญหาเหล่านี้ได้เลย
ช่องว่างระหว่าง "โค้ดที่มีอยู่" กับ "ซอฟต์แวร์ที่ใช้งานได้จริง" กำลังกว้างขึ้น เมื่อก่อนตอนที่การเขียนโค้ดยังช้า คุณจำเป็นต้องใช้ความคิด คุณต้องชั่งน้ำหนักข้อดีข้อเสีย และตั้งคำถามกับสมมติฐานต่างๆ
แต่ตอนนี้โค้ดปรากฏขึ้นมาในทันที คุณจึงต้องหาเวลาเพื่อคิดแยกต่างหากอย่างรอบคอบ ทีมส่วนใหญ่ล้มเหลวในการปรับเปลี่ยนกระบวนการทำงานให้สอดคล้องกับการเปลี่ยนแปลงนี้
ทีมที่ประสบความสำเร็จไม่ได้มุ่งเน้นไปที่การสร้างโค้ดให้ได้มากที่สุด แต่พวกเขามุ่งเน้นไปที่การตั้งคำถามที่ดีกว่าเดิม
สิ่งที่พวกเขาทำคือ:
- กำหนดปัญหาให้ชัดเจนก่อนที่จะเขียน prompt
- ตรวจสอบว่าผลลัพธ์ที่ได้เข้ากับสถาปัตยกรรมของพวกเขาหรือไม่
- ทดสอบกรณีที่ผิดปกติ (edge cases) ที่ AI มองข้ามไป
- ทำความเข้าใจโค้ดก่อนที่จะส่งมอบ (ship)
บทบาทของคุณกำลังเปลี่ยนไป คุณกำลังเปลี่ยนจากคนที่เขียนโค้ดไปเป็นคนที่ออกแบบระบบ นี่คือมาตรฐานที่สูงขึ้น และการตัดสินใจทางวิศวกรรม (engineering judgment) คือจุดที่มูลค่าของคุณอยู่
AI ช่วยลดความพยายามในการผลิตซอฟต์แวร์ แต่มันกลับเพิ่มความต้องการในด้าน:
- การนิยามปัญหาที่ดีขึ้น
- การตัดสินใจด้านสถาปัตยกรรมที่แข็งแกร่งขึ้น
- การตรวจสอบความถูกต้องที่รวดเร็วขึ้น
- การตัดสินใจ (judgment) ที่ดีขึ้น
อนาคตเป็นของทีมที่ตัดสินใจทางเทคนิคได้ดีกว่า และเป็นของทีมที่สามารถตั้งคำถามที่ LLM ไม่สามารถตั้งได้
ทีมของคุณได้เปลี่ยนกระบวนการทำงาน (workflow) ตั้งแต่เริ่มนำ AI มาใช้บ้างหรือยัง? หรือคุณแค่เปลี่ยนเครื่องมือเท่านั้น?
Source: https://dev.to/dimitrisk_cyclopt/ai-makes-writing-code-easier-it-doesnt-make-engineering-easier-120