แอปคณิตศาสตร์เก่าที่ถูกชุบชีวิตด้วยเอเจนต์เขียนโค้ดสมัยใหม่ และแอปใหม่ที่สร้างขึ้น
(terrytao.wordpress.com)- ย้ายแอปเพล็ตคณิตศาสตร์ Java 1.0 ราว 24 ตัวที่เลิกได้รับการสนับสนุนแล้วไปเป็น JavaScript ด้วย เอเจนต์เขียนโค้ด AI สมัยใหม่ และยังทำเครื่องมือสร้างภาพที่ในอดีตเคยทำไม่สำเร็จได้ด้วย
- แอปเพล็ตเดิมถูกกู้คืนได้ภายในไม่กี่ชั่วโมง พร้อม การปรับปรุงกราฟิก เช่น การแสดงผลแบบสีของชุด Besicovitch และการนำแอปเพล็ต honeycomb ที่เคยทำร่วมกับ Allen Knutson ในปี 1999 กลับมาสร้างใหม่
- ระหว่างการย้ายระบบ บั๊กที่เอเจนต์สร้างขึ้นมีเพียงปัญหาเล็กน้อย 1 จุดที่เกี่ยวกับการลาก ขณะเดียวกันกลับพบบั๊กที่ไม่เคยตรวจพบในโค้ดเดิม 2 จุด ทำให้ คุณภาพโค้ดโดยรวม ยังคงอยู่ในระดับใกล้เคียงกัน
- แนวคิด “Inkscape แห่งปริภูมิ Minkowski” ที่เคยล้มเลิกไปในปี 1999 เพราะความซับซ้อน ถูกทำเป็นเวอร์ชันอัลฟาของแอปสร้างภาพทฤษฎีสัมพัทธภาพพิเศษได้ด้วย vibe coding เพียงไม่กี่ชั่วโมง และยังสร้างภาพประกอบสำหรับข้อคาดการณ์ Gilbreath ขึ้นใหม่ด้วย
- เนื่องจาก ภาพประกอบเสริม เหล่านี้ไม่ใช่แกนหลักของการพิสูจน์ทางคณิตศาสตร์ ความเสี่ยงจากบั๊กในโค้ดที่ LLM สร้างจึงค่อนข้างต่ำ และอาจนำไปใช้เป็นสื่อเสริมเชิงโต้ตอบสำหรับงานวิจัยในอนาคตได้
จุดเริ่มต้นและการยุติของแอปเพล็ต Java 1.0
- ตั้งแต่ปี 1999 ได้สนใจวิธีใช้คอมพิวเตอร์เพื่อศึกษาวิจัยและสอนคณิตศาสตร์ และพัฒนา แอปเพล็ตหลายตัว สำหรับการสอนวิชา complex analysis และ linear algebra ด้วย Java 1.0
- นอกจากใช้ในการสอนแล้ว ยังใช้แอปเพล็ตเพื่อสร้างภาพของวัตถุทางคณิตศาสตร์หลายชนิด รวมถึง honeycomb และชุด Besicovitch
- แม้จะได้ผลลัพธ์พอสมควร แต่การเขียนโปรแกรมด้วยตนเองต้องใช้เวลามาก และเมื่อมาตรฐานเว็บเลิกรองรับ Java เวอร์ชันนั้น แอปเพล็ตก็ใช้งานไม่ได้อีกต่อไป
การย้ายไปยัง JavaScript ด้วย AI
- ระหว่างย้ายหน้าเว็บและข้อมูลบล็อกเดิมไปยัง คลังเก็บที่ดูแลรักษาได้ง่ายกว่า ก็ได้นำ AI ช่วยพัฒนา สมัยใหม่มาใช้
- เพื่อทดลอง จึงให้เอเจนต์ย้ายแอปเพล็ตเดิมไปยังภาษาที่ปัจจุบันยังรองรับอยู่ และสุดท้ายเลือก JavaScript
- แอปเพล็ตเดิม ราว 24 ตัวกลับมาทำงานได้อีกครั้งภายในไม่กี่ชั่วโมง และบางส่วนยังได้กราฟิกที่ดีขึ้น
- แอปเพล็ตชุด Besicovitch เปลี่ยนจากหน้าจอขาวดำเดิมเป็นการแสดงผลแบบสี
- แอปเพล็ต honeycomb ที่ทำร่วมกับ Allen Knutson ในปี 1999 และเคยเป็นงานที่ทำด้วยมือได้ยากเป็นพิเศษ ก็ถูกกู้คืนได้เช่นกัน
การพบบั๊กใหม่และข้อผิดพลาดในโค้ดเดิม
- แม้เอเจนต์เขียนโค้ดที่อิง LLM อาจสร้างบั๊กที่ทั้งชัดเจนหรือแฝงอยู่ได้ แต่ปัญหาใหม่ที่พบในการย้ายครั้งนี้มีเพียง บั๊กเล็กน้อย 1 จุด
- ในแอปเพล็ต complex analysis ตัวหนึ่ง เมื่อทำการลากออกนอกพื้นที่หลักจะเกิดพฤติกรรมที่ไม่ต้องการ
- ในทางกลับกัน เอเจนต์กลับค้นพบ บั๊กที่ไม่เคยตรวจพบ 2 จุด ที่ซ่อนอยู่ในโค้ดเดิม และเมื่อพิจารณารวมกันแล้ว คุณภาพโค้ดโดยรวมยังถือว่าใกล้เคียงเดิม
- แอปเพล็ตเหล่านี้เป็นสื่อภาพประกอบเสริม ไม่ใช่องค์ประกอบหลักของการพิสูจน์ทางคณิตศาสตร์ ดังนั้นแม้จะเกิดบั๊กขึ้น ความเสี่ยงที่ตามมาก็ค่อนข้างต่ำ
เครื่องมือทฤษฎีสัมพัทธภาพพิเศษที่เคยล้มเลิกในปี 1999
- เมื่อการย้ายแอปเดิมดำเนินไปได้ไม่ยาก จึงลอง สร้างแอปใหม่ ด้วย
- ในปี 1999 เคยวางแนวคิดเครื่องมือสร้างภาพทฤษฎีสัมพัทธภาพพิเศษในลักษณะ “Inkscape แห่งปริภูมิ Minkowski” แต่ในเวลานั้นแม้แต่ Inkscape เองก็ยังไม่เปิดตัว
- แม้จะเริ่ม เขียนโค้ด Java แล้ว แต่โครงการก็ต้องยุติลงเพราะรับมือกับความซับซ้อนไม่ไหว
- หลังทำ vibe coding ร่วมกับเอเจนต์ AI อยู่ไม่กี่ชั่วโมง ก็สามารถสร้าง แอปเพล็ตแผนภาพกาลอวกาศ ที่ตรงกับแนวคิดในตอนนั้นได้
- ยังมีการเผยแพร่ สรุปบทสนทนาระหว่างการสร้าง ด้วย โดยได้ตัดรายงานเชิงเทคนิคที่ซ้ำ ๆ ออกจำนวนมากในขั้นตอนเรียบเรียง
- ปัจจุบันแอปนี้ยังเป็นเพียง เวอร์ชันอัลฟา ที่ผ่านการทดลองเล่นเพียงบางส่วน และด้วยธรรมชาติของโค้ดที่สร้างโดย LLM จึงอาจยังมีบั๊กหรือส่วนที่หยาบอยู่และต้องการฟีดแบ็กเพิ่มเติม
ภาพประกอบข้อคาดการณ์ Gilbreath
- หลังเขียนบล็อกโพสต์เกี่ยวกับงานวิจัยเรื่องข้อคาดการณ์ Gilbreath ก็ได้ขอให้เอเจนต์ช่วยสร้าง เครื่องมือสร้างภาพ สำหรับแนบกับบทความและโพสต์ดังกล่าวด้วย
- หลังพูดคุยกันไม่กี่ชั่วโมง ก็สร้าง ภาพประกอบข้อคาดการณ์ Gilbreath เสร็จสมบูรณ์
- ยังมีการเผยแพร่ บันทึกบทสนทนาระหว่างการสร้าง ควบคู่กันไปด้วย และการพัฒนาดำเนินไปโดยไม่มีอุปสรรคใหญ่
การใช้เป็นสื่อเสริมเชิงโต้ตอบสำหรับงานวิจัย
- มีการพิจารณาว่าในอนาคตอาจเพิ่ม ภาพประกอบเชิงโต้ตอบ เป็นสื่อเสริมให้กับงานวิจัย
- เนื่องจากภาพประกอบลักษณะนี้ไม่ใช่ส่วนสำคัญที่ขาดไม่ได้ของเนื้อหาหลักในงานวิจัย จึงอาจยอมรับความเสี่ยงจากข้อผิดพลาดได้ในระดับหนึ่ง แม้จะสร้างขึ้นผ่านการโต้ตอบแบบมีการชี้นำกับเอเจนต์ LLM
1 ความคิดเห็น
ความเห็นจาก Hacker News
การสร้างสื่อภาพประกอบด้วย LLMช่วยให้วิชาวิทยาการคอมพิวเตอร์ดีขึ้นอย่างมาก: https://htmx.org/essays/universities-and-ai/#demos-visualiza...
ตอนนี้มีสื่อที่อยากทำมาตลอดแต่ไม่มีเวลาได้ทำเสียที และด้วยความช่วยเหลือจาก Claude ก็ยังออกแบบคอมพิวเตอร์ 8 บิตแบบง่าย ๆ เพื่อเสริมคอมพิวเตอร์เพื่อการศึกษารุ่น 16 บิตเดิมได้ภายในไม่กี่วัน: https://bdp.cs.montana.edu/
ทำให้เข้าใจเนื้อหาได้เร็วขึ้น และอ่านเปเปอร์ได้มากกว่าเดิม
เลยคิดว่าน่าจะดีถ้าจำลองสิ่งที่สอนได้มากกว่านี้ การศึกษาคือการแยกสิ่งหนึ่งออกเป็นองค์ประกอบแล้วดูปฏิสัมพันธ์ระหว่างกัน ดังนั้นซิมูเลชันที่เขียนแบบ vibe codingจึงอาจเป็นเครื่องมือที่ยอดเยี่ยมได้
ถ้า Terry Tao สร้างแอปด้วย coding agent ต่อไปนี้ก็คงอีกแค่ก้าวเดียวก่อนที่เจ้าของรางวัล Fields Medal จะมาถาม LLM แบบเดียวกับพวกเราว่าทำไม Docker container ถึงไม่ยอมเริ่มทำงาน
โดยเฉพาะนอกเหนือจากแวดวงซอฟต์แวร์แบบดั้งเดิมแล้ว ความต้องการซอฟต์แวร์ที่เป็นไปได้มีอยู่แทบไม่สิ้นสุด แม้การพัฒนา LLM จะหยุดวันนี้เลย ก็คงยังต้องใช้เวลาอีก 10 ปีกว่าจะใช้ความสามารถในการเขียนซอฟต์แวร์ที่เพิ่งเกิดขึ้นใหม่นี้ได้หมด และกรณีนี้ก็แสดงให้เห็นได้ดี
ข้อสรุปที่ว่า “สื่อประกอบแบบโต้ตอบที่สร้างด้วย LLM ไม่ใช่ส่วนสำคัญต่อแก่นของงานวิจัย ดังนั้นความเสี่ยงจากการสร้างภาพลักษณะนี้ผ่านปฏิสัมพันธ์ที่ชี้นำกับเอเจนต์จึงเป็นสิ่งที่ยอมรับได้” ดูสมดุลดี
LLM เป็นเครื่องมือ จึงมีงานที่เหมาะและไม่เหมาะ และโดยทั่วไปก็ไม่ควรเชื่อผลลัพธ์ตรง ๆ
เราเชื่อใจใช้ค้อนกับตะปูได้ แต่ไม่ใช้กับสกรู ทว่าก็ไม่ได้สรุปว่าค้อนเป็นสิ่งที่เชื่อถือไม่ได้โดยทั่วไป ปัญหาของ AI คือเรายังไม่รู้ว่าอะไรคือตะปูและอะไรคือสกรู
แทนที่จะบอกแค่ว่าอย่าเชื่อ น่าจะมีประโยชน์กว่าหากแนะนำให้ใช้เวลากับการวางแผน การวนซ้ำ และการทบทวนให้มากขึ้นกว่าที่เคย เรียนรู้ทั้งทักษะ บริบท และวิธีใช้ sub-agent และเริ่มฝึกจากโปรเจกต์ที่ไม่ใช่งาน production และมีความเสี่ยงต่ำก่อน เป้าหมายควรเป็นการสร้างความเชื่อมั่นผ่านความเข้าใจใน workflow ที่ดีและกรณีใช้งานที่เหมาะสม
ภาพที่ Terry Tao ใช้ coding agent ดูเหมือนฉากที่เชฟมิชลินสตาร์ค้นพบอาหารพร้อมทานสำหรับไมโครเวฟแล้วตื่นเต้นจากใจจริง
José Andrés ก็ยกออมเล็ตไมโครเวฟให้เป็นหนึ่งในเมนูที่พลาดได้ยากที่สุด พร้อมเรียกมันว่า “ออมเล็ตเนื้อนุ่มที่ดีที่สุดในประวัติศาสตร์มนุษยชาติ”: https://www.tasteofhome.com/article/jose-andres-microwave-om...
ปรมาจารย์อย่าง Tao กำลังแสดงให้เห็นว่าเทคโนโลยีสามารถสร้างจิ๊กนั้นได้ และบรรดาช่างเครื่องก็กำลังพิสูจน์ทีละขั้นว่า พวกเขาสร้างได้ไม่ใช่แค่จิ๊กสำหรับทำกล่องเครื่องประดับเท่านั้น แต่ยังสร้างได้ถึงจิ๊กสำหรับทำเครื่องจักรที่ใช้สร้างจิ๊กอีกด้วย
การรัน Java applet เก่า ๆ ด้านการศึกษาในสายคณิตศาสตร์และฟิสิกส์นั้นเป็นหนึ่งในการใช้งานยอดนิยมมายาวนานของCheerpJ Applet Runner ซึ่งรัน Java bytecode ในเบราว์เซอร์ผ่าน WebAssembly
เลยรู้สึกซับซ้อนว่าจะมองสถานการณ์ที่ agent มาปรับให้ทันสมัยและแก้ปัญหานี้ได้อย่างไร แน่นอนว่าการที่นักเรียนสามารถโต้ตอบกับเนื้อหาได้ด้วยวิธีที่ทันสมัยและเข้าถึงง่ายกว่าย่อมเป็นเรื่องดี แต่การใช้งานด้านการศึกษาแม้ไม่สำคัญในเชิงพาณิชย์ ก็เป็นแหล่งความภาคภูมิใจมาโดยตลอด: https://chromewebstore.google.com/detail/cheerpj-applet-runn...
บทความที่ผู้เชี่ยวชาญในสาขาใช้ AI มาสร้างอะไรสนุก ๆ ในวงการของตัวเองนั้นอ่านเพลินเสมอ แต่ก็มักดูเหมือนจะเป็นแค่โปรเจกต์งานอดิเรก ไม่ใช่งานจริงจัง
https://terrytao.wordpress.com/tag/artificial-intelligence/, https://academy.openai.com/public/blogs/terence-tao-ai-is-re...
ผมอายุมากแล้ว และถ้าจำเป็นพรุ่งนี้จะเกษียณแบบตึงมือหน่อยก็ยังพอได้ แต่ผมเป็นห่วงนักพัฒนารุ่นหนุ่มสาวอย่างหลานวัย 25 ปีที่ยังสะสมทรัพย์สินไม่มากพอจะหยุดทำงานได้ การเขียนโค้ดด้วยมือตรง ๆ จะกลายเป็นงานเฉพาะทางที่มีคนทำเพียงส่วนน้อย เหมือนการคำนวณรากที่สองด้วยมือหรือการหล่อตัวพิมพ์
การใช้ AI ช่วยเขียนโค้ดในวงกว้างเพิ่งเริ่มต้นเท่านั้น และตัวโมเดลเองก็เพิ่งมาถึงระดับที่ทำงานจริงจังได้เมื่อไม่นานนี้ แม้จะมีการใช้งานจริงให้เห็นแล้ว แต่ก็มีหลายเหตุผลที่เปิดเผยการใช้กับโค้ด productionบนบล็อกส่วนตัวได้ยาก เช่น นโยบายองค์กร โค้ดปิด และความลับทางการค้า
ตรงที่บอกว่า “ความซับซ้อนของโค้ดใหญ่เกินกว่าจะรับมือไหว เลยเลิกโปรเจกต์” ทำเอาหัวเราะออกมา มีแม้กระทั่งโค้ดที่ต่อให้เป็น Terry Tao ก็ยังซับซ้อนเกินกว่าจะเขียนได้
คาดหวังมากว่า LLM จะทำให้คนจำนวนมากที่ฉลาดมากในสาขาเฉพาะทาง แต่ไม่เคยก้าวเข้าสู่การเขียนโปรแกรม สามารถเข้ามามีส่วนร่วมกับการพัฒนาซอฟต์แวร์ได้
ใช้ Claude เพื่อพอร์ต Java applet เกมภาษาเยอรมันระดับมัธยมปลายอายุ 30 ปีไปเป็น JavaScript และยังสร้างประวัติ Git ปลอมขึ้นมาด้วย: https://github.com/bradfitz/koffer#der-verloren-koffe
ลองรันออนไลน์ได้ด้วย: https://bradfitz.github.io/koffer/js/
การได้เห็นโค้ดเมื่อราว 30 ปีก่อนกลับมามีชีวิตอีกครั้งเป็นอะไรที่ยอดเยี่ยม
ประโยคแรกที่ฟังแปลก ๆ ของบทความนี่แหละคือหลักฐานว่ามันไม่ได้เขียนโดย AI ประโยคนั้นคือ “ตั้งแต่ตอนที่ผมสร้างแอปเล็ตสำหรับวิชาการวิเคราะห์เชิงซ้อนและพีชคณิตเชิงเส้นด้วย Java 1.0 ในปี 1999 พร้อมทำ visualization ของวัตถุทางคณิตศาสตร์อย่างโครงสร้างรังผึ้งหรือเซตของ Besicovitch ผมก็สนใจวิธีวิจัยและสอนคณิตศาสตร์ด้วยความช่วยเหลือของเครื่องจักรมาโดยตลอด”