ในงานประชุม AI Engineering Conference ปีนี้ นักวิจัย OpenAI ชื่อ Sean Grove ได้นำเสนอการบรรยายที่ท้าทายเรื่อง The New Code โดยโต้แย้งว่าข้อกำหนดที่ชัดเจนและอ่านเข้าใจได้สำหรับมนุษย์จะมาแทนที่โค้ดแบบดั้งเดิมให้เป็นผลลัพธ์หลักในการพัฒนาซอฟต์แวร์ วิสัยทัศน์ของเขาได้จุดประกายการถกเถียงอย่างรุนแรงในชุมชนเทคโนโลยี โดยบางคนเรียกว่าเป็นการปฏิวัติ ขณะที่คนอื่นๆ ปฏิเสธว่าเป็นเพียงการห่อหุ้มวิธีการพัฒนาที่ล้าสมัยใหม่
ปรัชญาหลัก: การสื่อสารเหนือโค้ด
วิทยานิพนธ์หลักของ Grove ท้าทายภูมิปัญญาการเขียนโปรแกรมแบบดั้งเดิมด้วยการยืนยันว่าโค้ดแทนเพียง 10-20% ของมูลค่ารวมในการพัฒนาซอฟต์แวร์เท่านั้น ตามกรอบความคิดของเขา ส่วนที่เหลือ 80-90% อยู่ในการสื่อสารที่มีโครงสร้าง—การเข้าใจความต้องการของผู้ใช้ การกำหนดวัตถุประสงค์ การวางแผนกลยุทธ์การดำเนินงาน และการประสานงานความพยายามของทีม เขาโต้แย้งว่าเมื่อโมเดล AI มีความซับซ้อนมากขึ้น คอขวดในการพัฒนาซอฟต์แวร์จะเปลี่ยนจากการเขียนโค้ดไปเป็นการเขียนข้อกำหนดที่ชัดเจนซึ่งจับความตั้งใจของมนุษย์ได้
นักวิจัย OpenAI ใช้การเปรียบเทียบระหว่างแนวทางการเขียนโปรแกรมที่ AI ช่วยเหลือในปัจจุบันกับเวิร์กโฟลว์ของคอมไพเลอร์ เมื่อนักพัฒนาใช้ TypeScript หรือ Rust พวกเขาจะเก็บซอร์สโค้ดไว้ขณะที่ทิ้งไฟล์ไบนารีหลังจากคอมไพล์ อย่างไรก็ตาม ด้วยการสร้างโค้ดด้วย AI Grove สังเกตว่านักพัฒนามักจะเก็บโค้ดที่สร้างขึ้นไว้ขณะที่ทิ้งพรอมต์ที่สร้างมันขึ้นมา—โดยพื้นฐานแล้วคือการเก็บไบนารีและทิ้งซอร์สโค้ด
ข้อโต้แย้งหลักของ Grove:
- โค้ดแสดงถึงมูลค่าเพียง 10-20% ของการพัฒนาซอฟต์แวร์
- อีก 80-90% ที่เหลืออยู่ในการสื่อสารที่มีโครงสร้าง
- ข้อกำหนด (Specifications) ควรได้รับการปฏิบัติเป็นเอกสารที่สามารถดำเนินการและทดสอบได้
- โมเดล AI ทำให้ความชัดเจนของข้อกำหนดมีความสำคัญมากกว่าทักษะการเขียนโค้ด
ข้อกำหนดในฐานะเอกสารที่ปฏิบัติการได้
วิสัยทัศน์ของ Grove ขยายไปเกินกว่าเอกสารธรรมดา เขามองเห็นข้อกำหนดในฐานะเอกสารที่ปฏิบัติการได้และทดสอบได้ซึ่งทำหน้าที่หลายอย่างพร้อมกัน โดยใช้ข้อกำหนดโมเดลของ OpenAI เป็นตัวอย่าง—ซึ่งเป็นชุดเอกสาร Markdown ที่มีอยู่บน GitHub—เขาแสดงให้เห็นว่าข้อกำหนดภาษาธรรมชาติสามารถรวมการควบคุมเวอร์ชัน บันทึกการเปลี่ยนแปลง และความสามารถในการทดสอบอัตโนมัติได้
ข้อกำหนดโมเดลจัดการกับความท้าทายในโลกจริง เช่น ปัญหาล่าสุดกับการตอบสนองที่เอาใจใส่มากเกินไปของ GPT-4 เมื่อโมเดลเริ่มเห็นด้วยกับผู้ใช้มากเกินไปจนเสียความแม่นยำของข้อเท็จจริง ข้อกำหนดทำหน้าที่เป็นจุดยึดสำหรับการระบุและแก้ไขพฤติกรรม Grove อธิบายว่าข้อกำหนดระบุอย่างชัดเจนว่าอย่าเป็นคนประจบ ซึ่งให้มาตรฐานที่ชัดเจนที่สามารถวัดและแก้ไขพฤติกรรมของโมเดลได้
ตัวอย่าง OpenAI Model Specification:
- มีให้บริการในรูปแบบเอกสาร Markdown แบบ open-source บน GitHub
- รวมถึงความสามารถในการควบคุมเวอร์ชันและการทดสอบแบบอัตโนมัติ
- สามารถระบุและแก้ไขพฤติกรรมการเอาใจผู้ใช้แบบเกินเหตุของ GPT-4 ได้สำเร็จ
- แสดงให้เห็นการประยุกต์ใช้งานจริงของการพัฒนาที่ขับเคลื่อนด้วยข้อกำหนด
การผลักดันจากอุตสาหกรรมและความกังวลเรื่อง Waterfall
การตอบสนองของชุมชนเทคโนโลยีมีความสงสัยอย่างเห็นได้ชัด นักวิจารณ์โต้แย้งว่าแนวทางของ Grove เปลี่ยนวิศวกรให้เป็นผู้จัดการผลิตภัณฑ์ที่ดูแลเอกสารความต้องการ ผู้ใช้ Reddit คนหนึ่งชี้ให้เห็นว่าวิธีการที่เสนอนั้นคล้ายกับเวิร์กโฟลว์การจัดการผลิตภัณฑ์แบบดั้งเดิม—การรวบรวมความต้องการของผู้ใช้ การร่างเอกสารความต้องการผลิตภัณฑ์ และการประสานงานกับผู้มีส่วนได้ส่วนเสียเกี่ยวกับตัวชี้วัดประสิทธิภาพหลัก
นักพัฒนาหลายคนได้เปรียบเทียบกับโมเดลการพัฒนา waterfall โดยแนะนำว่าชุมชนวิศวกรรมซอฟต์แวร์กำลังค่อยๆ คิดค้นวิธีการที่การพัฒนาแบบ agile พยายามแทนที่โดยเฉพาะ การวิจารณ์มุ่งเน้นไปที่ความกังวลว่าการพัฒนาแบบขับเคลื่อนด้วยข้อกำหนดอาจนำกระบวนการที่เข้มงวดและหนักด้วยเอกสารที่การพัฒนาซอฟต์แวร์สมัยใหม่ได้ละทิ้งไปแล้วกลับมาใหม่
การวิจารณ์จากชุมชน:
- แนวทางนี้มีลักษณะคล้ายกับแบบจำลองการพัฒนาแบบ waterfall แบบดั้งเดิม
- เปลี่ยนวิศวกรให้กลายเป็น "ผู้ดูแลเอกสารความต้องการ"
- ไม่คำนึงถึงความเป็นจริงในทางปฏิบัติของการแก้ไขข้อผิดพลาดและการบำรุงรักษา
- อาจนำกระบวนการที่เข้มงวดและเน้นเอกสารหนักหนาสาบักกลับมาใช้
การตรวจสอบความเป็นจริง: โค้ดยังคงสำคัญ
บางทีการวิจารณ์ที่แหลมคมที่สุดมาจากนักพัฒนาที่เน้นความเป็นจริงในทางปฏิบัติของการบำรุงรักษาซอฟต์แวร์ ดังที่ผู้แสดงความคิดเห็นคนหนึ่งกล่าวไว้ว่า เมื่อแอปพลิเคชันของคุณขัดข้องตอนตี 3 คุณกำลังแก้ไขโค้ดจริง ไม่ใช่เอกสาร Markdown เมื่อ AI สร้างโค้ดที่มีบั๊ก—และมันจะเกิดขึ้น—คุณคิดว่าเราจะแก้ไขอะไร? ไม่ใช่ข้อกำหนด โค้ดคือความจริงที่ปฏิบัติการได้ที่แท้จริง
มุมมองนี้เน้นความตึงเครียดพื้นฐานในวิสัยทัศน์ของ Grove แม้ว่าข้อกำหนดอาจจับความตั้งใจได้ชัดเจนกว่าโค้ด แต่ระบบซอฟต์แวร์จริงที่ผู้ใช้โต้ตอบด้วยนั้นสร้างจากโค้ดที่ปฏิบัติการได้ซึ่งต้องทำงานได้อย่างถูกต้องไม่ว่าข้อกำหนดเดิมจะมีเอกสารที่ดีเพียงใด
IDE และเครื่องมือพัฒนาในอนาคต
Grove มองเห็นอนาคตที่สภาพแวดล้อมการพัฒนาแบบบูรณาการพัฒนาเป็นเครื่องมือชี้แจงความคิดแบบบูรณาการ เครื่องมือเหล่านี้จะช่วยนักพัฒนาระบุส่วนที่คลุมเครือในข้อกำหนด แก้ไขความขัดแย้งของความตั้งใจ และรับประกันการจัดตำแหน่งระหว่างความตั้งใจของมนุษย์และผลลัพธ์ที่ AI สร้างขึ้น แทนที่จะเน้นที่การเน้นไวยากรณ์และการเติมโค้ด IDE ในอนาคตจะเน้นความชัดเจนของการสื่อสารและการตรวจสอบความตั้งใจ
ผลกระทบที่กว้างขึ้น
แม้จะมีการวิจารณ์ การนำเสนอของ Grove สัมผัสกับการเปลี่ยนแปลงที่แท้จริงในการพัฒนาซอฟต์แวร์ เมื่อโมเดล AI มีความสามารถมากขึ้นในการสร้างโค้ดจากคำอธิบายภาษาธรรมชาติ ข้อเสนอมูลค่าสำหรับนักพัฒนามนุษย์จะอยู่ที่ความสามารถในการแสดงความต้องการอย่างชัดเจนและตรวจสอบผลลัพธ์มากกว่าทักษะการเขียนโค้ดเพียงอย่างเดียว
การถกเถียงสะท้อนคำถามที่กว้างขึ้นเกี่ยวกับอนาคตของวิศวกรรมซอฟต์แวร์ในภูมิทัศน์ที่ AI ครอบงำ แม้ว่าวิสัยทัศน์เฉพาะของ Grove อาจเผชิญกับความท้าทายในการดำเนินการ แต่หลักฐานพื้นฐาน—ว่าการสื่อสารความตั้งใจที่ชัดเจนมีค่ามากขึ้นเมื่อการสร้างโค้ดเป็นไปโดยอัตโนมัติ—สะท้อนกับผู้สังเกตการณ์ในอุตสาหกรรมจำนวนมาก
การอภิปรายในที่สุดเผยให้เห็นความตึงเครียดพื้นฐานระหว่างสัญญาของการพัฒนาที่ AI ช่วยเหลือและความเป็นจริงในทางปฏิบัติของการสร้างและบำรุงรักษาระบบซอฟต์แวร์ที่ซับซ้อน ไม่ว่าแนวทางแบบขับเคลื่อนด้วยข้อกำหนดของ Grove จะแทนอนาคตของการเขียนโปรแกรมหรือเป็นก้าวถอยหลังไปสู่วิธีการที่ถูกปฏิเสธนั้นยังคงเป็นคำถามเปิดที่อุตสาหกรรมจะยังคงถกเถียงต่อไปเมื่อความสามารถของ AI ยังคงพัฒนาต่อไป