- งานวิจัยของ Anthropic ที่ตรวจสอบเชิงทดลองว่า การใช้ผู้ช่วยเขียนโค้ดด้วย AI ส่งผลต่อการเรียนรู้และความชำนาญของนักพัฒนาอย่างไร
- ผลการทดลองแบบสุ่มมีกลุ่มควบคุมพบว่า กลุ่มที่ใช้ AI มีความเข้าใจเชิงแนวคิดและความสามารถในการดีบักต่ำกว่าค่าเฉลี่ย 17% และการเพิ่มขึ้นของความเร็วไม่มีนัยสำคัญทางสถิติ
- อย่างไรก็ตาม ผู้เข้าร่วมที่ใช้ AI ไม่ใช่แค่เพื่อสร้างโค้ด แต่ใช้เพื่อขอคำอธิบายและทำความเข้าใจแนวคิด กลับได้คะแนนสูง
- งานวิจัยชี้ว่า รูปแบบการพึ่งพา AI เป็นตัวกำหนดผลลัพธ์การเรียนรู้ และการทำงานอัตโนมัติแบบตรงไปตรงมาอาจขัดขวางการเติบโตของทักษะ
- องค์กรและนักพัฒนาจำเป็นต้องมีกลยุทธ์การนำ AI มาใช้ที่คำนึงถึง ความสมดุลระหว่างการเพิ่มผลิตภาพกับการสั่งสมทักษะระยะยาว
ภาพรวมการวิจัย
- งานวิจัยนี้เป็นการทดลองแบบสุ่มมีกลุ่มควบคุมเพื่อวิเคราะห์ ผลของผู้ช่วย AI ต่อการเรียนรู้การเขียนโค้ดและความชำนาญทางเทคนิค
- ผู้เข้าร่วมคือจูเนียร์นักพัฒนา 52 คนที่ใช้ Python มาแล้วมากกว่า 1 ปี และไม่คุ้นเคยกับไลบรารี Trio
- การทดลองประกอบด้วย 3 ขั้นตอน ได้แก่ วอร์มอัป งานเขียนโค้ดหลัก (พัฒนาฟังก์ชัน 2 รายการบนพื้นฐานของ Trio) และแบบทดสอบ
- ผู้เข้าร่วมทำงานใน สภาพแวดล้อมการเขียนโค้ดออนไลน์ที่มีผู้ช่วย AI รวมอยู่ด้วย โดยผู้ช่วยสามารถเข้าถึงโค้ดและช่วยสร้างโค้ดคำตอบได้
- เกณฑ์การประเมินประกอบด้วย 4 ด้าน ได้แก่ การดีบัก การอ่านโค้ด การเขียนโค้ด และความเข้าใจเชิงแนวคิด โดยเน้นเป็นพิเศษที่การดีบักและความเข้าใจเชิงแนวคิด
ผลลัพธ์สำคัญ
- กลุ่ม AI ได้คะแนนแบบทดสอบเฉลี่ย 50% ส่วนกลุ่มที่ไม่ใช้ AI ได้ 67% ต่างกันประมาณสองระดับเกรด (Cohen’s d=0.738, p=0.01)
- ด้านความเร็ว กลุ่ม AI เร็วกว่าเฉลี่ย 2 นาที แต่ไม่มีนัยสำคัญทางสถิติ
- ความต่างของคะแนนที่มากที่สุดปรากฏใน โจทย์การดีบัก ซึ่งบ่งชี้ว่า การใช้ AI อาจเกี่ยวข้องกับความสามารถในการทำความเข้าใจข้อผิดพลาดที่ลดลง
- ผลด้านการเรียนรู้แตกต่างกันตามวิธีใช้ AI
- การให้ AI สร้างโค้ดอย่างเดียวหรือมอบหมายการดีบักให้ทั้งหมดนำไปสู่คะแนนที่ต่ำกว่า
- แต่เมื่อใช้ควบคู่กับการถามแนวคิดหรือขอคำอธิบายโค้ด จะได้คะแนนสูงกว่า
การวิเคราะห์ตามรูปแบบปฏิสัมพันธ์กับ AI
- รูปแบบคะแนนต่ำ (เฉลี่ยต่ำกว่า 40%)
- แบบมอบหมายให้ AI ทั้งหมด (n=4) : ให้ AI ทำโค้ดทั้งหมด จบงานเร็วที่สุด แต่ขาดความเข้าใจเชิงแนวคิด
- แบบพึ่งพาเพิ่มขึ้นทีละน้อย (n=4) : ช่วงแรกพยายามทำเอง แต่ค่อย ๆ พึ่งพา AI อย่างเต็มที่ และไม่เข้าใจแนวคิดของงานที่สองดีพอ
- แบบดีบักซ้ำ ๆ ด้วย AI (n=4) : ให้ AI แก้ข้อผิดพลาด ทำให้ช้าและได้คะแนนต่ำ
- รูปแบบคะแนนสูง (เฉลี่ย 65% ขึ้นไป)
- แบบสร้างก่อนแล้วค่อยเข้าใจ (n=2) : หลังสร้างโค้ดแล้วให้ AI อธิบายเพิ่มเติม ส่งผลให้ความเข้าใจสูง
- แบบผสมโค้ด-คำอธิบาย (n=3) : ขอทั้งโค้ดและคำอธิบายพร้อมกัน แม้ช้ากว่าแต่ช่วยเพิ่มความเข้าใจ
- แบบสำรวจแนวคิด (n=7) : ทำงานโดยเน้นถามเรื่องแนวคิด แม้มีข้อผิดพลาดมากแต่แก้เองได้อย่างอิสระและเสร็จเร็ว
การตีความและนัยสำคัญ
- การนำ AI มาใช้ก่อให้เกิดโจทย์เรื่องสมดุลระหว่างผลิตภาพกับการเรียนรู้
- ในสภาพแวดล้อมที่ให้ความสำคัญกับผลลัพธ์รวดเร็ว อาจมีความเป็นไปได้ที่จะ ขัดขวางการเติบโตของทักษะของนักพัฒนาระดับจูเนียร์
- การออกแบบวิธีใช้ AI เป็นตัวแปรสำคัญ โดยจำเป็นต้องมีปฏิสัมพันธ์ที่ส่งเสริมการเรียนรู้ มากกว่าการทำงานอัตโนมัติอย่างเดียว
- องค์กรควรบริหาร การจัดวางเครื่องมือ AI และการออกแบบการเรียนรู้ อย่างตั้งใจ และ
ต้องรักษา ความสามารถของวิศวกรในการตรวจสอบโค้ดที่ AI สร้างขึ้น ไว้
บทสรุปและประเด็นสำหรับอนาคต
- งานวิจัยนี้เสนอว่า AI อาจช่วยเพิ่มผลิตภาพสำหรับทักษะที่เชี่ยวชาญอยู่แล้ว แต่เป็นปัจจัยที่ขัดขวางเมื่อใช้เรียนรู้ทักษะใหม่
- เนื่องจากขนาดตัวอย่างเล็กและเป็นการประเมินระยะสั้น ความเชื่อมโยงกับการเติบโตของทักษะในระยะยาวจึงยังไม่ได้รับการยืนยัน
- หัวข้อสำหรับการวิจัยต่อไป ได้แก่
- ผลกระทบในงานด้านอื่นนอกเหนือจากการเขียนโค้ด
- ผลการเรียนรู้ระยะยาวจะคงอยู่หรือไม่
- ความแตกต่างระหว่างการมีเมนเทอร์มนุษย์กับการสนับสนุนด้วย AI
- แม้อยู่ในสภาพแวดล้อมที่มี AI ช่วย ความพยายามทางความคิดและการลองผิดลองถูกก็ยังจำเป็นต่อการก่อรูปความชำนาญ และ
AI ควรถูกออกแบบให้สนับสนุนทั้งประสิทธิภาพและการเรียนรู้ไปพร้อมกัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
น่าประทับใจที่ Anthropic เป็นผู้วางแผนและเผยแพร่งานวิจัยลักษณะนี้ด้วยตัวเอง
คิดว่าเป็นเรื่องที่แทบไม่ค่อยเห็นจากสถาบันวิจัยอื่น
น่าสนใจที่แม้กลุ่มที่ใช้ AI ช่วยจะเร็วกว่าเล็กน้อย แต่ก็ไม่มีนัยสำคัญทางสถิติ
สุดท้ายแล้ว AI ดูเหมือนจะช่วยเพิ่มผลิตภาพ แต่ในความเป็นจริงก็เหมือนแลกมากับความสามารถในการเรียนรู้ที่ลดลง
ควรคงท่าทีแบบตั้งข้อสงสัยต่อข้ออ้างในงานนี้ไว้ก่อน จนกว่าจะมีบุคคลที่สามทำซ้ำและตรวจสอบยืนยัน
มองว่าแทบไม่ต่างจาก ‘งานวิจัยด้านสุขภาพ’ ของบริษัทบุหรี่
กังวลว่าในอนาคตจูเนียร์อาจเติบโตเป็นนักพัฒนาที่พึ่งพา AIและสูญเสียความสามารถในการแก้ปัญหาด้วยตัวเอง
ฉันเดาว่าผู้ใช้ AI อาจพัฒนาทักษะการเขียนโค้ดน้อยกว่า แต่มีแนวโน้มว่าความสามารถด้านการระบุความต้องการจะดีขึ้น
บทบาทของนักพัฒนาระดับต้นกำลังเปลี่ยนไปสู่การโฟกัสกับการนิยามความต้องการให้ชัดเจน
และเป็นไปได้มากว่ากลยุทธ์นี้จะใช้ได้ผล
คนส่วนใหญ่มักเลือกเส้นทางที่ใช้แรงต้านน้อยที่สุด แต่บางคนกลับเรียนรู้ได้เร็วขึ้นผ่าน AI
กล่าวคือ ไม่ใช่ข้อสรุปที่ใช้ได้เหมือนกันกับผู้ใช้ทุกคน
กังวลว่าจะเกิดอะไรขึ้นถ้าเครื่องมือเหล่านี้ใช้งานไม่ได้ขึ้นมากะทันหัน
ถ้าอินเทอร์เน็ตล่มหรือเครดิตหมด ธุรกิจและการทำมาหากินอาจเป็นอัมพาตได้
สุดท้ายแล้วนักพัฒนาอาจลดบทบาทเหลือแค่ผู้เฝ้าประตู และเมื่อระบบล่มก็อาจทำอะไรไม่ได้เลย
ฉันเคยทำงานมาหลายที่ทั่วโลก แต่เวลาที่เสียไปเพราะปัญหาการเชื่อมต่อรวมกันยังไม่ถึงหนึ่งวัน
ถ้า Anthropic ล่มก็ใช้ Gemini แทนได้ ถ้าเครดิตหมดก็ใช้เครดิตฟรีแทนได้
ทุกวันนี้โมเดลแบบรันในเครื่องก็ใช้งานได้ดีพอแล้ว
ท้ายที่สุดคนยุคใหม่ต่างก็พึ่งพาบริการออนไลน์กันทั้งนั้น
ถ้าไม่ชอบความเสี่ยงแบบนี้ ก็ต้องยอมจ่ายกับทางเลือกที่ไม่มีประสิทธิภาพเท่าแต่เสถียรกว่า
ถ้าเกิดเรื่องแบบนั้นจริง ฉันคิดว่าควรทำตามขั้นตอนรับมือฉุกเฉิน มากกว่าจะย้อนกลับไปใช้วิธีเดิม
สมัยก่อนเราบิลด์เองแล้วอัปโหลดผ่าน ISDN แต่ตอนนี้ CI/CD เข้ามารับบทนั้นแทนแล้ว
ถ้ามันพังก็ซ่อมมัน การดีพลอยแบบแมนนวลกลับเป็นสิ่งที่สร้างปัญหามากกว่า
โดยเฉพาะตอนเรียนรู้ไลบรารีใหม่ ผลกระทบยิ่งชัด
ฉันยังทำงานได้อย่างมีประสิทธิภาพระหว่างไฟลต์ระยะไกลโดยไม่ต้องใช้อินเทอร์เน็ต
มนุษย์เป็นสิ่งมีชีวิตที่ยิ่งสภาพแวดล้อมแย่ลงก็ยิ่งปรับตัวเก่งขึ้น
นักพัฒนาระดับซีเนียร์ยังคงได้เปรียบในเรื่องความเข้าใจพื้นฐานอย่างลึกซึ้ง
เหมือนกับที่คนรุ่นก่อนเข้าใจแอสเซมบลีและฮาร์ดแวร์ คนรุ่นปัจจุบันก็เรียนรู้วิธีใช้ AI
สิ่งที่จำเป็นในท้ายที่สุดคือความสามารถในการเรียนรู้ให้เหมาะกับสถานการณ์
ฉันเองทำงานมาเกิน 20 ปีแล้ว ความรู้ส่วนใหญ่ก็ลืมไปหมดแล้ว แต่ไม่ใช่เพราะ AI
โค้ดแย่ ๆ และปัญหาเชิงโครงสร้างก็มีอยู่ก่อนยุค LLM แล้ว
ตามงานวิจัย ส่วนที่ลดลงมากที่สุดคือความสามารถในการแก้ปัญหา
จูเนียร์ยุคนี้กำลังเสียโอกาสที่จะได้ฝึกดีบักด้วยตัวเอง
ฉันทำหน้าที่เป็น‘นักดีบักคนสุดท้าย’ในทีมมาตลอด และเคยจับบั๊กระดับคอมไพเลอร์ได้ด้วย
ตอนนี้ฉันใช้ Claude ช่วยรับงานซ้ำ ๆ ไป และลงลึกเฉพาะส่วนที่ควรเรียนรู้อย่างมีกลยุทธ์
ทำให้การเรียนรู้มีประสิทธิภาพขึ้นมาก
ไม่เรียนก็ไม่ได้เสียหายอะไร แต่ถ้าได้เรียนก็ไม่มีข้อเสีย
ท้ายที่สุดนักพัฒนามนุษย์ที่มีความคิดเชิงตรรกะก็ยังเหนือกว่า LLM
ไม่จำเป็นต้องเขียนเอง แต่ควรต้องเข้าใจมันได้
เมื่อก่อน ‘โมเดลที่ฉลาดน้อยกว่า (GPT‑4 เป็นต้น)’ ช่วยได้แค่ประมาณ 90% เลยยังต้องแก้ที่เหลือเอง
กระบวนการนั้นทำให้เกิดประสบการณ์การเรียนรู้อย่างลึกซึ้ง
แต่โมเดลสมัยนี้สมบูรณ์เกินไป จนกลับทำให้มีโอกาสคิดด้วยตัวเองน้อยลง
วิธีทำงานร่วมกับ AIในเอดิเตอร์น่าจะดีกว่าใน CLI
สุดท้ายผู้พัฒนาที่ยังอยู่ระหว่างการเรียนรู้จึงได้รับผลกระทบหนักที่สุด
กำลังเกิดวัฒนธรรมที่ทุกสายอาชีพพึ่งพา LLM
งานออกแบบโครงสร้างโดยรวมยังคงเป็นหน้าที่ของมนุษย์
ฉันใช้ LLM เป็นเครื่องมือเรียนรู้ และขอตัวอย่างกับไดอะแกรมแบบโต้ตอบเพื่อช่วยให้มองภาพการออกแบบได้ชัดขึ้น
ตัวอย่างเช่น grok 4.1 fast ถูกกว่า 10 เท่าและยังดีกว่านิดหน่อย
ถ้าโมเดลทำงานได้ดีเกินไป ความคิดของมนุษย์ก็อาจเฉื่อยลงได้
แต่ในสนามแข่งขัน คนที่เรียนรู้ทักษะที่มีประสิทธิภาพย่อมเป็นฝ่ายชนะ
อย่างไรก็ตาม AI มักแสดงแต่ผลลัพธ์ที่ overfit มาแล้ว จึงอันตราย
ตอนนี้ยังมีวิธีแก้ปัญหานี้ไม่มากนัก
สุดท้ายมนุษย์ต้องเป็นผู้ตรวจสอบเองและสร้างรูปแบบการเรียนรู้ขึ้นมา
มันยอดเยี่ยมสำหรับโปรเจกต์งานอดิเรก แต่มีข้อจำกัดเมื่อเป็นโค้ดเบสขนาดใหญ่
แก่นแท้ของโปรแกรมเมอร์คือการเรียนรู้อย่างต่อเนื่อง
ฉันทำงานมา 25 ปีแล้ว แต่ก็ยังเรียนรู้อะไรใหม่ทุกวัน
ปัญหาของการใช้ที่ปรึกษาคือโค้ดอาจถูกทิ้งไว้ แต่ความรู้กลับอยู่ข้างนอกองค์กร
ท้ายที่สุดการเขียนโปรแกรมก็คือตัวการเรียนรู้นั่นเอง
หลายครั้งเป็นการดัดแปลงโซลูชันที่มีอยู่แล้วมาใช้แก้ปัญหา
บางครั้งการเรียนรู้มากเกินไปกลับทำให้ความซับซ้อนเพิ่มขึ้น
ตามผลวิจัย การใช้ AI ทำให้ความเข้าใจและความสามารถในการดีบักลดลง ขณะที่ประสิทธิภาพที่เพิ่มขึ้นมีเพียงเล็กน้อย
ดูลิงก์ต้นฉบับ
กลุ่ม AI ได้คะแนนเฉลี่ย 50 คะแนน ส่วนกลุ่มที่เขียนโค้ดแบบแมนนวลได้ 67 คะแนน
เป็นงานวิจัยที่น่าสนใจ
มันทำให้เราคิดว่า บ่อยครั้งเราอาจเข้าใจผิดว่าความสะดวกคือความสามารถ
เป็นเรื่องดีที่มีการทำวิจัยแบบนี้
เช่นเดียวกับการเรียนภาษา ถ้าไม่ลงมือใช้เอง ทักษะก็จะคงอยู่ไม่ได้
เมื่อหยุดใช้แล้วค่อย ๆ ถดถอยลงก็เป็นเรื่องธรรมชาติ
ชื่นชมความโปร่งใสและแนวทางเชิงวิทยาศาสตร์ของ Anthropic มาก
ฉันเองก็มอบหมายงานพัฒนาจริงออกไป แล้วโฟกัสกับการเรียนรู้แนวคิด จึงเติบโตได้เร็วขึ้นเช่นกัน
ชื่อโพสต์ชวนให้เข้าใจผิด
งานวิจัยนี้ไม่ได้พูดถึงการเพิ่มผลิตภาพของนักพัฒนามือใหม่ แต่พูดถึงผลกระทบต่อกระบวนการเรียนรู้
สังคมขับเคลื่อนด้วยความชำนาญเชิงใช้งานมากกว่าความเข้าใจแบบสมบูรณ์
ฉันเองก็เคยดูแลไลบรารี regex ที่ตรวจสอบความถูกต้องด้วย test case หลายร้อยชุดเท่านั้น
แม้จะไม่เข้าใจ implementation อย่างสมบูรณ์ แต่ก็สร้างความเชื่อมั่นได้ด้วยความถูกต้องที่ยืนยันผ่านการทดสอบ
AI ช่วยเพิ่มผลิตภาพให้ผู้เริ่มต้นได้ แต่ก็อาจขัดขวางการได้มาซึ่งทักษะ
ผู้ใช้แบบมอบหมายงานทั้งหมดให้ AI จะได้ประสิทธิภาพเพิ่มขึ้นเล็กน้อย แต่การเรียนรู้ลดลง
ในทางกลับกัน หากยังคงรูปแบบการใช้งานที่มีส่วนร่วมทางความคิดไว้ ก็สามารถรักษาผลลัพธ์ด้านการเรียนรู้ได้
กล่าวคือ ผลิตภาพจาก AI ไม่ใช่ทางลัดสู่ความชำนาญ
ต่อให้ทำงานมา 25 ปีแล้ว ก็ยังเรียนรู้อะไรใหม่ทุกวัน