𝗧𝗵𝗲 𝗥𝘀𝘆𝗻𝗰 𝗗𝗶𝘀𝗮𝘀𝘁𝗲𝗿 𝗮𝗻𝗱 𝗔𝗜 𝗜𝗻𝗳𝗿𝗮𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 𝗥𝗶𝘀𝗸
ผู้ดูแล rsync คนหนึ่งใช้ Claude เพื่อช่วยในการออกเวอร์ชันใหม่ (release) แต่เวอร์ชันดังกล่าวกลับทำให้การจัดการ absolute path เสียหาย
rsync ทำงานอยู่บนเซิร์ฟเวอร์หลายล้านเครื่อง มันทำหน้าที่จัดการทั้งการสำรองข้อมูล (backups), การติดตั้งซอฟต์แวร์ (deployments) และการทำ mirror หาก rsync ล้มเหลว การสำรองข้อมูลก็จะหยุดชะงัก ข้อมูลจะไม่ซิงค์กัน ความเสียหายที่เกิดขึ้นนั้นมหาศาลเพราะเครื่องมือนี้มีอยู่ทุกหนทุกแห่ง
บั๊กนี้เกิดจากแพตช์ความปลอดภัย (security patch) ที่มี AI ช่วยเขียน ซึ่งสิ่งนี้ตอกย้ำถึงปัญหาครั้งใหญ่ของเครื่องมือเขียนโค้ดด้วย AI
ผู้ช่วย AI ทำงานโดยอาศัยรูปแบบ (patterns) พวกมันเก่งในการเขียนโค้ดใหม่หรือโค้ดพื้นฐาน (boilerplate) แต่โค้ดสำหรับโครงสร้างพื้นฐานที่ต้องมีความเสถียรนั้นต้องคงเดิมไว้เสมอ มันไม่ควรเปลี่ยนพฤติกรรมการทำงานของมัน
โค้ดของ rsync ดูแปลกประหลาดโดยตั้งใจ เพราะมันถูกเขียนขึ้นเพื่อจัดการกับกรณีพิเศษ (edge cases) ที่พบในระบบจริงเมื่อหลายปีก่อน เมื่อ AI เห็นโค้ดที่ดูแปลกเหล่านี้ มันจึงพยายามที่จะปรับปรุงให้ดีขึ้น โดยที่มันไม่เข้าใจถึงข้อตกลงโดยนัย (implicit contracts) ที่มีต่อผู้ใช้งาน
AI ไม่ได้ตั้งใจจะทำให้เครื่องมือพัง แต่มันแค่ไม่รู้ว่าลำดับความสำคัญสูงสุดคือการไม่เปลี่ยนแปลงอะไรเลย
ผมใช้ AI ทุกวัน มันช่วยให้ผมเขียนโค้ดได้เร็วขึ้นและได้ทดลองสิ่งใหม่ๆ ผมไม่ได้ต่อต้าน AI แต่ผมไม่เคยปล่อยให้ AI ตัดสินใจในเรื่องสำคัญของโค้ดโครงสร้างพื้นฐาน ผมปฏิบัติกับทุกคำแนะนำของ AI เหมือนกับเป็นคอมเมนต์จากนักพัฒนาฝึกหัด (junior developer)
อันตรายอยู่ที่ "ระดับความเชื่อใจ" (trust gradient) หาก AI ให้คำตอบที่ดีแก่คุณสิบครั้ง คุณจะเริ่มเชื่อคำตอบที่สิบเอ็ดมากเกินไป คุณจะตรวจสอบมันน้อยลง และอนุมัติมันเร็วขึ้น
นี่คือปัญหาเรื่อง "การล่มสลายของบริบท" (context collapse) AI ปฏิบัติต่อโปรเจกต์ทำเล่นช่วงวันหยุดและยูทิลิตี้ Unix ที่มีอายุสามสิบปีด้วยระดับความมั่นใจที่เท่ากัน มันไม่รู้ถึงความสำคัญของโค้ดที่มันกำลังเข้าไปแตะต้อง
ผู้ดูแลระบบคือผู้แบกรับความรับผิดชอบ แต่เราต้องการแนวทางป้องกัน (guardrails) ใหม่ๆ
การพัฒนาโดยมี AI ช่วยเหลือจำเป็นต้องมีกฎเกณฑ์ที่แตกต่างกันตามระดับความเสี่ยง โค้ดบางอย่างมีราคาที่ต้องจ่ายสูงมากหากมันพัง ซึ่งรวมถึง rsync, OpenSSL และไดรเวอร์ฐานข้อมูล (database drivers)
เหตุการณ์ rsync เป็นคำเตือน แม้จะไม่มีข้อมูลสูญหาย แต่มันแสดงให้เห็นว่าทำไมเราถึงต้องระมัดระวัง
อย่าหยุดใช้ AI แต่จงสร้างสัญชาตญาณที่ดีขึ้น รู้ว่าเมื่อไหร่ที่ควรไม่ไว้วางใจเครื่องจักร
ถึงจุดไหนที่คุณจะหยุดเชื่อคำแนะนำของ AI? และเมื่อไหร่ที่ฐานโค้ด (codebase) จะมีความสำคัญมากเกินกว่าจะยอมรับการตรวจสอบที่น้อยกว่าระดับ "ระแวงขั้นสุด" (paranoid review)?
Source: https://dev.to/adioof/the-rsync-disaster-proves-ai-isnt-ready-for-infrastructure-code-4154
Optional learning community: https://t.me/GyaanSetuAi