บทวิจารณ์เรื่องความโง่เขลาของการเขียนโปรแกรมด้วยภาษาธรรมชาติ
- ตั้งแต่ยุคแรกเริ่มของเครื่องคำนวณอัตโนมัติ ก็มีคนที่ไม่พอใจกับการเขียนโปรแกรมที่ต้องอาศัยระบบสัญลักษณ์แบบเป็นทางการ
- เครื่องจักรเป็น “ทาสผู้ซื่อสัตย์” ที่ทำตามคำสั่งที่ได้รับอย่างตรงไปตรงมา และจะรันแม้แต่ข้อผิดพลาดที่เห็นได้ชัด
- บางคนคาดหวังว่า แทนที่เครื่องจะเพิกเฉยต่อข้อผิดพลาดและทำงานต่อไป มันควรจะแสดงพฤติกรรมที่ “มีเหตุผล” มากกว่านี้
การเกิดขึ้นและพัฒนาการของภาษาโปรแกรมระดับสูง
- ภาษาเครื่องถูกมองว่าเป็นอินเทอร์เฟซที่อันตราย เพราะแทบไม่มีการตรวจจับข้อผิดพลาดหรือความซ้ำซ้อนเลย
- ด้วยเหตุนี้ ภาษาโปรแกรมระดับสูงจึงถือกำเนิดขึ้น และมีการพัฒนาเพื่อป้องกันผลลัพธ์ที่ผิดพลาดผ่านข้อความแจ้งข้อผิดพลาด
- อย่างไรก็ตาม การเขียนโปรแกรมก็ยังคงต้องใช้สัญลักษณ์แบบเป็นทางการ และยังต้องการความแม่นยำอย่างพิถีพิถัน
ข้อเสนอให้เขียนโปรแกรมด้วยภาษาธรรมชาติและข้อโต้แย้งต่อแนวคิดนั้น
- มีข้อเสนอว่า หากควบคุมเครื่องด้วยภาษาธรรมชาติ ผู้ใช้จะใช้งานได้สะดวกขึ้น
- แนวคิดนี้มองว่า เมื่อเครื่องจักรซับซ้อนขึ้น ก็อาจช่วยผู้ใช้ได้มากขึ้น
- แต่การเปลี่ยนแปลงของอินเทอร์เฟซไม่ได้เป็นเพียงการปรับการแบ่งงาน กลับทำให้เกิดภาระงานด้านความร่วมมือและการสื่อสารเพิ่มขึ้น
- ในความเป็นจริง ยิ่งอินเทอร์เฟซกว้างขึ้น ปริมาณงานของทั้งสองฝ่ายก็มักเพิ่มขึ้น และทำให้ความซับซ้อนสูงขึ้นแทน
ตัวอย่างทางประวัติศาสตร์ของคณิตศาสตร์และระบบสัญลักษณ์
- คณิตศาสตร์กรีกโบราณยังคงยึดติดกับแนวทางที่เน้นภาษาและภาพ ทำให้พัฒนาการหยุดชะงัก
- คณิตศาสตร์อิสลามก็หยุดชะงักเช่นกัน เพราะไม่สามารถรับเอาระบบสัญลักษณ์มาใช้ได้
- ยุโรปกลับก้าวหน้าอย่างก้าวกระโดด เมื่อบุคคลอย่าง Vieta, Descartes, Leibniz และ Boole นำระบบสัญลักษณ์แบบเป็นทางการมาใช้
ข้อดีของภาษาทางการและข้อจำกัดของภาษาธรรมชาติ
- ภาษาทางการสามารถป้องกันข้อผิดพลาดจำนวนมากได้ด้วยกฎง่าย ๆ เพียงไม่กี่ข้อ
- สัญลักษณ์แบบเป็นทางการทำให้นักเรียนก็สามารถคิดเชิงตรรกะได้ ในแบบที่ครั้งหนึ่งเคยเป็นสิ่งที่มีแต่คนอัจฉริยะเท่านั้นทำได้
- ภาษาธรรมชาติมีความกำกวมและปะปนด้วยถ้อยคำที่ไร้ความหมายได้ง่าย จึงไม่เหมาะกับการแสดงตรรกะอย่างถูกต้องไร้ข้อผิดพลาด
ถ้าภาษาธรรมชาติเป็นวิธีเดียวของการป้อนข้อมูล/ส่งออกล่ะ?
- หากตั้งแต่แรกเราควบคุมเครื่องได้ด้วยภาษาธรรมชาติเพียงอย่างเดียว สุดท้ายเราก็คงต้องกลับไปสู่กระบวนการ “bootstrap” เพื่อสร้างระบบแบบเป็นทางการขึ้นมาอีกครั้ง
- กระบวนการนี้อาจกินเวลาหลายพันปี และท้ายที่สุดก็คงลงเอยที่ภาษาทางการอยู่ดี
ความถดถอยทางการศึกษาและปรากฏการณ์ “ผู้ไม่รู้หนังสือแบบใหม่”
- ในช่วงหลายทศวรรษที่ผ่านมา การฝึกฝนทางปัญญาที่อ่อนแอลงทำให้คนจำนวนมากแม้แต่ภาษาแม่ของตนเองก็ยังใช้ได้ไม่ดีพอ
- ปรากฏการณ์ที่คำพูดไร้ความหมายล้นหลามในบทความวิชาการ รายงานทางเทคนิค และเอกสารราชการ เป็นหลักฐานยืนยันเรื่องนี้
- ปรากฏการณ์เช่นนี้ทำให้พอมองเห็นล่วงหน้าได้ว่า การเขียนโปรแกรมด้วยภาษาธรรมชาติมีแนวโน้มจะล้มเหลว
สัญชาตญาณเชิงสรุป
- การสร้างเครื่องที่สามารถเขียนโปรแกรมด้วยภาษาธรรมชาติได้ อาจยากพอ ๆ กับการใช้งานมัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
มีความเห็นว่าการออกมาปกป้อง LLMs (โมเดลภาษาขนาดใหญ่) กลายเป็นเรื่องที่ดูเท่
ทำให้นึกถึงคำพูดเก่าของ Hal Abelson
ภาษาธรรมชาติมีข้อจำกัดที่มาจากขีดจำกัดทางความคิดของมนุษย์
ภาษาเครื่องถูกมองว่าเป็นอินเทอร์เฟซที่อันตรายเกินความจำเป็น
แทนที่จะสร้างโปรแกรมคอมพิวเตอร์ด้วยภาษาธรรมชาติ ก็ควรให้มันถูกนำไปประมวลผลได้โดยตรง
ภาษาธรรมชาติไม่เหมาะกับการถ่ายทอดกฎและคำสั่ง
ภาษาที่สร้างขึ้นสำหรับโดเมนเฉพาะให้ทั้งความแม่นยำและความชัดเจนที่ภาษาธรรมชาติให้ไม่ได้
Forth, PostScript, Assembly เป็นภาษาโปรแกรมแบบ 'ธรรมชาติ' ที่เข้ากับสภาพแวดล้อมการรันโค้ดได้ดี
วิธีการเขียนโปรแกรมระดับสูงจะเริ่มมีหน้าตาคล้ายภาษาโปรแกรมมากกว่าภาษาธรรมชาติ
การที่ความผิดพลาดแสดงออกมาเป็นข้อความผิดพลาดถือเป็นการปรับปรุงครั้งใหญ่