เจาะประเด็น
Coding / AI Agents
AI เขียนโค้ดให้แล้ว แต่ความรับผิดชอบมันเป็นของนายเต็มๆ
บรรทัดที่ AI พ่นออกมา จะกลายเป็นหนี้ทางเทคนิคของใครก็ไม่รู้ แต่สุดท้ายลายเซ็นรับผิดชอบมันอยู่ที่เธอ
ทีมข่าว เอไอไทย.com
⏱ อ่าน 4 นาที
คำถามที่นักพัฒนาทุกคนต้องตอบตัวเองให้ได้ก่อนจะกด Accept: ถ้าโค้ดพังตอนตีสาม นายจะอ้างว่า "AI เขียนเอง" ได้จริงเหรอ?
เรื่องนี้มันไม่ได้เกี่ยวกับว่า AI เขียนโค้ดได้ดีแค่ไหนแล้ว และมันก็ไม่ใช่คำถามเชิงปรัชญาเมื่อง่ายๆ ว่า "ใครเป็นเจ้าของผลงาน" ด้วย ประเด็นมันอยู่ที่ว่าในวงการที่ทุกคนเร่งรีบกด Tab เพื่อให้ AI ช่วยเติมโค้ดให้เสร็จไวๆ นั้น เรากำลังสร้างกับดักความรับผิดชอบที่รอระเบิดอยู่หรือเปล่า? บทความจาก Martian Software ตั้งคำถามตรงๆ กับสิ่งที่หลายคนเลือกที่จะเมินเฉย นั่นคือ "AI-Written Code Is Still *Your* Code" หรือแปลง่ายๆ ว่า "โค้ดที่ AI เขียน มันก็ยังเป็นโค้ดของแกนั่นแหละ"
ฟังดูเหมือนประโยคซ้ำซาก แต่ลองคิดตามให้ลึกขึ้นอีกชั้นนึงนะ สมัยก่อน ถ้าเราเขียนโค้ดพลาด เรารู้ที่มาที่ไป เราจำได้ว่าเราแก้ตรงนั้นเพราะอะไร มันมี "ความตั้งใจ" ของมนุษย์กำกับอยู่ แต่ตอนนี้ เราใส่พรอมป์ต์บอก AI ว่า "ทำฟีเจอร์นี้ให้หน่อย" มันก็พ่นโค้ดออกมาเป็นสิบๆ บรรทัด เราก็เห็นว่ามันทำงานได้ผ่านเทสต์ก็คือผ่าน ผ่านแล้วจบ กด commit ไป แต่พอวันดีคืนดี มันพังในโปรดักชัน ใครจะรับผิดชอบ? บริษัทที่จ้างเรามา? หรือตัว AI? ความจริงอันโหดร้ายคือ มันตกเป็นของเราเสมอ เพราะเราเป็นคนสุดท้ายที่กดปุ่ม "ส่งงาน" นั่นแหละ
บทความนี้ชี้ให้เห็นถึงช่องโหว่ทางความคิดที่นักพัฒนายุคใหม่กำลังเผชิญ มันไม่ใช่แค่เรื่อง "ก๊อปปี้โค้ดจาก Stack Overflow มาวาง" อีกต่อไป เพราะ Stack Overflow มันมีคนเขียน มีบริบท มีคำอธิบายใต้คำตอบ แต่ AI ไม่มี มันสร้างคำตอบที่ดูมั่นใจและลื่นไหลออกมาจากสถิติความน่าจะเป็น ซึ่งหมายความว่ามันอาจจะ "ดูถูกต้อง" แต่จริงๆ แล้วพลาดประเด็นเล็กๆ น้อยๆ ไปอย่างแนบเนียน และร้ายแรงกว่านั้นคือ เราที่ใช้ AI เริ่มชินชากับการไม่ต้องอ่านโค้ดละเอียดๆ เพราะเราเชื่อใจเครื่องมือ
เรากำลังแลก "ความเข้าใจ" ในโค้ด กับ "ความเร็ว" ในการผลิตโค้ด นี่คือข้อความที่ผมอยากให้ทุกคนที่ใช้ Copilot หรือ Cursor อ่านแล้วเก็บไปคิดนานๆ เพราะมันคือกับดักที่แท้จริงของการใช้ AI ช่วยเขียนโปรแกรม มันเหมือนเราขับรถด้วยระบบ Autopilot ตอนแรกก็สบายดี แต่พอถึงเวลาที่ระบบมันงง เราจะไม่รู้วิธีบังคับรถเลย เพราะเราไม่เคยเรียนรู้ที่จะบังคับด้วยตัวเองตั้งแต่แรก
ผลกระทบที่ว่านี้ไม่ได้เกิดกับตัวเราในฐานะโปรแกรมเมอร์คนเดียว แต่มันลามไปถึงทีม และองค์กรทั้งหมด เมื่อทุกคนเริ่มใช้ AI เป็นค่าเริ่มต้น โค้ดเบสในรีโพสิทอรีจะกลายเป็นกองทัพของโค้ดที่ "ไม่มีใครเข้าใจจริงๆ" สักคน ถ้ามีคนเก่งๆ ลาออกไป ปัญหาที่ตามมาคือ ไม่มีใครกล้าแตะโค้ดส่วนนั้น เพราะมันคือกล่องดำที่ AI สร้างขึ้นมา การดีบั๊กจะกลายเป็นฝันร้ายที่ต้องไล่ถาม AI วนไปวนมาว่า "ทำไมมันพัง" ซึ่ง AI ก็จะมั่วคำตอบกลับมาให้เรื่อยๆ จนกว่าเราจะเจอคำตอบที่ฟังดูเข้าท่า
มุมมองของผมต่อเรื่องนี้คือ มันไม่ใช่การต่อต้าน AI แต่เป็นการเรียกร้องให้ "รู้เท่าทัน" ต่างหาก AI คือเครื่องมือที่ทรงพลังที่สุดเท่าที่โปรแกรมเมอร์เคยมีมาในรอบหลายสิบปี แต่มันคือเครื่องมือประเภท "มีด" ไม่ใช่ "โล่" มันช่วยให้เราเขียนโค้ดได้เร็วขึ้น แต่ไม่ได้ช่วยปกป้องเราจากความผิดพลาดของมันเอง หรือช่วยรับผิดชอบเวลาที่มันทำพลาด ดังนั้นหน้าที่ของเราคือต้องเป็น "คนถือมีด" ที่มีสติ ไม่ใช่แค่ปล่อยให้มีดมันหมุนไปเอง
บทความนี้ไม่ได้บอกให้เรากลับไปเขียนโค้ดด้วยมือแบบยุคหิน แต่มันเตือนสติว่า การใช้ AI ให้ฉลาดไม่ใช่แค่การรู้จักพรอมปต์เก่งๆ แต่คือการรู้ว่า "จุดไหนที่เราต้องหยุดและตรวจสอบด้วยตัวเอง" การที่ AI เขียนเทสต์ให้ผ่าน ไม่ได้หมายความว่าโค้ดนั้นถูกต้องตามความต้องการของลูกค้า หรือปลอดภัยต่อข้อมูลผู้ใช้ มันแค่หมายความว่า "มันทำงานตามที่เทสต์บอก" ซึ่งคนเขียนเทสต์ก็คือเรา และถ้าเราสั่ง AI ให้เขียนเทสต์ด้วย มันก็จะเขียนเทสต์ที่ "ทำให้โค้ดของมันเองผ่าน" ซึ่งมันก็จะผ่านเสมอ นี่คือวงจรอุบาทว์ที่ต้องระวังให้มาก
ความรับผิดชอบ
เมื่อโค้ดพังในโปรดักชัน ลูกค้าไม่สนใจว่าใครเป็นคนเขียน พวกเขาสนใจว่าใครเป็นคนรับผิดชอบให้มันพัง ซึ่งคนๆ นั้นคือนาย ไม่ใช่ OpenAI หรือ Anthropic
ความเข้าใจในโค้ด
การอ่านโค้ดที่ AI เขียนแล้วเข้าใจจริงๆ ต้องใช้เวลามากกว่าการปล่อยให้มันเขียนเอง แต่มันคือการลงทุนที่จำเป็น เพื่อไม่ให้กลายเป็นหนี้ทางเทคนิคของทีมในอนาคต
การตรวจทาน (Code Review)
การรีวิวโค้ดที่ AI เขียนต้องเข้มงวดกว่าเดิมเป็นสองเท่า เพราะเราไม่สามารถเดา "ความตั้งใจ" ของผู้เขียนได้ เราต้องตรวจสอบด้วยตรรกะของเราเองล้วนๆ
สุดท้ายแล้ว ผมว่ามันเป็นเรื่องของวินัยและความซื่อสัตย์ต่อตัวเองมากกว่า เราใช้ AI เพราะมันทำให้ชีวิตง่ายขึ้น แต่ถ้าการใช้มันทำให้เราโง่ลงและไม่กล้าตัดสินใจด้วยตัวเอง นั่นคือการแลกที่แพงเกินไป บทความนี้ไม่ได้ให้คำตอบสำเร็จรูป แต่มันยื่นกระจกมาให้เราส่องดูตัวเองว่า เรากำลังเป็นโปรแกรมเมอร์ที่ใช้ AI เป็นเครื่องมือ หรือกำลังเป็นแค่ "คนกดปุ่ม" ที่คอยรับคำสั่งจาก AI อยู่ดี
สรุปคือ AI ไม่ได้มาแทนที่โปรแกรมเมอร์ แต่มันกำลังทดสอบว่าเราเป็นโปรแกรมเมอร์จริงหรือแค่ "คนพิมพ์คำสั่ง" ใครที่ยังคิดว่า "AI เขียนให้ ก็ให้มันรับผิดชอบไปสิ" คนนั้นกำลังเดินเล่นอยู่ในทุ่งทุ่นระเบิดที่ยังไม่ระเบิด จำไว้ให้ขึ้นใจ: โค้ดทุกบรรทัดที่ commit ไป มีชื่อเรากำกับอยู่เสมอ ไม่ว่าใครจะเป็นคนพิมพ์มันออกมา
ที่มา: Martian Software — อ่านต้นฉบับ
ความคิดเห็น 6
กำลังโหลดความคิดเห็น...