นักวิจัย OpenAI เสนอ "การพัฒนาโปรแกรมแบบขับเคลื่อนด้วยข้อกำหนด" เป็นอนาคตของการเขียนโปรแกรม นักวิจารณ์เรียกว่าเป็นการกลับไปสู่โมเดล Waterfall

ทีมบรรณาธิการ BigGo
นักวิจัย OpenAI เสนอ "การพัฒนาโปรแกรมแบบขับเคลื่อนด้วยข้อกำหนด" เป็นอนาคตของการเขียนโปรแกรม นักวิจารณ์เรียกว่าเป็นการกลับไปสู่โมเดล Waterfall

ในงานประชุม 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 ยังคงพัฒนาต่อไป