การทดลองของนักพัฒนาคนหนึ่งกับเครื่องมือเขียนโค้ดที่ขับเคลื่อนด้วย AI ได้จุดประกายการถกเถียงอย่างเข้มข้นเกี่ยวกับว่าเทคโนโลยีเหล่านี้ช่วยเพิ่มผลิตภาพจริงหรือสร้างปัญหาใหม่ขึ้นมา ประสบการณ์ที่แบ่งปันในบล็อกโพสต์ที่มีรายละเอียดครบถ้วนเผยให้เห็นว่าโค้ดที่สร้างโดย AI สามารถนำข้อบกพร่องด้านความปลอดภัยที่ร้ายแรงเข้ามาได้ ขณะเดียวกันก็ทำให้นักพัฒนาไม่คุ้นเคยกับฐานโค้ดของตนเอง
นักพัฒนาคนนี้ในตอนแรกต่อต้านการใช้เครื่องมือ AI แต่ในที่สุดก็ลองใช้เนื่องจากแรงกดดันในที่ทำงาน หลังจากสร้างโค้ดประมวลผลภาพ 200 บรรทัดในเวลาเพียง 30 นาที ซึ่งเป็นงานที่ปกติจะใช้เวลานานกว่านี้มาก ผลลัพธ์เบื้องต้นดูน่าประทับใจ อย่างไรก็ตาม เมื่อเครื่องมือ AI ตัวเดียวกันถูกขอให้ตรวจสอบโค้ดของตัวเองเพื่อหาปัญหาด้านความปลอดภัย มันพบช่องโหว่ร้ายแรงหลายจุด รวมถึงการโจมตี directory traversal และการเขียนทับไฟล์ระบบที่อาจเกิดขึ้นได้
ปัญหาความปลอดภัยทั่วไปของเครื่องมือเขียนโค้ด AI:
- การโจมตีแบบ directory traversal
- ขาดการจำกัดขนาดไฟล์
- ช่องโหว่การเขียนทับไฟล์ระบบ
- ขาดการตรวจสอบข้อมูลนำเข้า
- การควบคุมการเข้าถึงที่ไม่เพียงพอ
ปัญหาจุดบอดด้านความปลอดภัย
การค้นพบที่น่ากังวลที่สุดคือ AI รู้เรื่องความเสี่ยงด้านความปลอดภัยเหล่านี้มาตั้งแต่ต้น แต่ไม่ได้รวมการป้องกันไว้ในโค้ดต้นฉบับ สิ่งนี้สร้างสถานการณ์อันตรายที่นักพัฒนาที่ไม่มีความรู้ด้านความปลอดภัยเชิงลึกอาจนำโค้ดที่มีช่องโหว่ไปใช้งานโดยไม่รู้ตัว การอภิปรายในชุมชนเผยให้เห็นว่านี่ไม่ใช่เหตุการณ์เดียว นักพัฒนาหลายคนรายงานประสบการณ์ที่คล้ายกันที่เครื่องมือ AI ผลิตโค้ดที่ใช้งานได้แต่มีข้อบกพร่อง
เมื่อพยายามแก้ไขปัญหาด้านความปลอดภัย นักพัฒนาพบปัญหาอีกประการหนึ่ง เนื่องจากพวกเขาไม่ได้เขียนโค้ดด้วยตนเอง จึงขาดแบบจำลองทางความคิดที่จำเป็นในการทำการเปลี่ยนแปลงอย่างมีประสิทธิภาพ สิ่งนี้นำไปสู่วงจรของการขอให้ AI แก้ไขเพิ่มเติม ทำให้พวกเขาห่างไกลจากการเข้าใจฐานโค้ดของตนเองมากขึ้น
ความขัดแย้งของผลิตภาพ
การตอบสนองของชุมชนเน้นให้เห็นความแตกแยกอย่างชัดเจนในประสบการณ์กับเครื่องมือเขียนโค้ด AI นักพัฒนาบางคนรายงานการเพิ่มขึ้นของผลิตภาพอย่างมีนัยสำคัญ ในขณะที่คนอื่นๆ อธิบายเวลาที่เสียไปกับการแก้ไขข้อบกพร่องปัญหาที่สร้างโดย AI การศึกษาล่าสุดที่กล่าวถึงในการอภิปรายพบว่านักพัฒนาที่มีประสบการณ์มีผลิตภาพลดลง 19% เมื่อใช้เครื่องมือ AI ซึ่งขัดแย้งกับการอ้างสิทธิ์ผลิตภาพที่รายงานด้วยตนเองหลายรายการ
LLM ให้โค้ดห่วยแตกกับฉัน ทำให้ฉันไม่รู้เรื่องฐานโค้ดของตัวเอง และขี้เกียจเกินไปที่จะพยายามแก้ไขด้วยตนเอง และในเวลาเดียวกัน ประสบการณ์ทั้งหมดรู้สึกราบรื่น ไร้แรงเสียดทาน เสริมพลัง
การถกเถียงมักจะมุ่งเน้นไปที่ prompt engineering ทักษะในการสร้างคำสั่งที่ดีกว่าสำหรับเครื่องมือ AI ผู้สนับสนุนโต้แย้งว่าผลลัพธ์ที่ไม่ดีเกิดจากการ prompting ที่ไม่เพียงพอ ในขณะที่นักวิจารณ์ชี้ให้เห็นว่าข้อกำหนดนี้ทำให้เครื่องมือเหล่านี้เชื่อถือได้น้อยกว่าที่โฆษณาไว้
ผลการศึกษาประสิทธิภาพการทำงานของนักพัฒนา:
- นักพัฒนาที่มีประสบการณ์: ประสิทธิภาพการทำงานลดลง 19% เมื่อใช้เครื่องมือ AI
- นักพัฒนาระดับเริ่มต้น: รายงานว่ามีการเพิ่มขึ้นของประสิทธิภาพการทำงานในการศึกษาบางชิ้น
- ประสิทธิภาพการทำงานที่รายงานด้วยตนเองเทียบกับที่วัดได้จริงมักแสดงผลลัพธ์ที่ขัดแย้งกัน
ความกังวลเรื่องการเสื่อมสลายของทักษะ
นักพัฒนาที่มีประสบการณ์หลายคนกังวลว่าการพึ่งพาเครื่องมือ AI มากเกินไปอาจกัดกร่อนทักษะการเขียนโปรแกรมพื้นฐานของพวกเขา ผู้เขียนต้นฉบับสรุปว่าความเสี่ยงที่แท้จริงไม่ใช่ AI ที่มาแทนที่นักพัฒนา แต่เป็น AI ที่ทำให้นักพัฒนาพึ่งพาจนกลายเป็นคนที่มีความสามารถน้อยลงในการแก้ปัญหาด้วยตนเอง
อย่างไรก็ตาม สมาชิกชุมชนบางคนโต้แย้งเพื่อแนวทางที่สมดุล โดยใช้เครื่องมือ AI เป็นตัวคูณผลิตภาพขณะรักษาทักษะหลักผ่านการฝึกฝนอย่างมีจุดมุ่งหมาย พวกเขาแนะนำให้ปฏิบัติต่อเครื่องมือ AI เหมือนกับ autocomplete ขั้นสูงมากกว่าเครื่องมือแก้ปัญหาที่ชาญฉลาด
การอภิปรายสะท้อนความกังวลที่กว้างขึ้นเกี่ยวกับว่าเครื่องมือ AI อาจเปลี่ยนแปลงลักษณะของงานพัฒนาซอฟต์แวร์อย่างไร แม้ว่าเครื่องมือเหล่านี้สามารถเร่งงานบางอย่างได้ แต่ชุมชนยังคงแบ่งแยกเกี่ยวกับว่าพวกมันแสดงถึงความก้าวหน้าที่แท้จริงหรือสร้างรูปแบบใหม่ของหนี้ทางเทคนิคที่จะต้องได้รับการแก้ไขในภายหลัง