ทีมวิจัยจาก Purdue University ลองสำรวจการใช้ ChatGPT ตอบคำถามด้านโค้ดดิ้ง โดยเทียบคำถามเดียวกันกับที่ถามบน Stack Overflow จำนวน 517 คำถาม แล้วนำคำตอบมาเปรียบเทียบกับคำตอบของมนุษย์ว่าถูกต้อง แม่นยำ ครบถ้วนแค่ไหน อีกทั้งให้อาสาสมัครจำนวนหนึ่งเลือกว่าชอบคำตอบอันไหนมากกว่า
ผลคือคำตอบ 52% ของ ChatGPT ตอบผิด (incorrect) ส่วนอาสาสมัครเลือกคำตอบจาก ChatGPT จำนวน 39.34% เนื่องจากใช้ภาษาดี แสดงเหตุผลดูน่าเชื่อถือ ซึ่ง 77% ของคำตอบเหล่านี้ผิดซะด้วย
คณะวิจัยบอกว่า ในกรณีที่ ChatGPT ตอบผิดแบบจะแจ้ง ผู้ใช้จะแยกแยะได้ง่าย แต่ถ้าคำตอบไม่สามารถยืนยันได้ง่ายว่าผิดถูกอย่างไร จำเป็นต้องนำโค้ดไปลองรันใน IDE หรือเปิดจากเอกสาร ผู้ใช้มักแยกแยะความถูกต้องของคำตอบไม่ได้เลย อีกทั้งวิธีการใช้ภาษาของ ChatGPT ที่ดูเป็นทางการ เขียนอธิบายแนวคิด ไม่มีอารมณ์เชิงลบ ทำให้ผู้ใช้มีโอกาสโน้มเอียงไปทางคำตอบของ ChatGPT (ที่มีโอกาสผิดสูง) ด้วย
อีกประเด็นที่น่าสนใจคือ ChatGPT มักตอบผิดในเชิงคอนเซปต์ผิด (conceptual) มากกว่าข้อมูลผิด (factual) ซึ่งแสดงให้เห็นว่า ChatGPT ยังไม่เข้าใจบริบทของคำถามดีพอ
ที่มา - The Register
Comments
คำถามนึงผมจะถาม chat ไปประมาณสามถึงสี่มุมเพื่อ cross check สิ่งที่มันตอบ ซึ่งเอาจริงๆมันก็ตอบวนไปวนมานะ อันที่ผิดก็เจอบ่อยเหมือนในข่าวเลย
แต่ข้อดีที่ยังใช้อยู่คือ บางทีมันก็ได้ idea เพิ่มเติมจากที่สอบถามไปนะ แต่นั้นหมายถึงเราต้องมีความรู้มากพอที่จะแยกแยะหรือประเมินคำตอบเบื้องต้นได้ด้วย
เข้าใจได้นะ Stack Overflow เองคนเก่งเยอะแต่ก็ Toxic ในระดับหนึ่งเลย ส่วนตัวผมใช้ ChatGPT เพราะรู้จักเป็นที่แรกล้วน ๆ ส่วนมากเอาไว้ถามกับดัดแปลง Snippet เล็ก ๆ เอาไปใส่โค้ด และแน่นอนว่ามันผิดบ่อย ต้องคอยเติม API ที่ไม่มีอยู่ตลอด 555
เคยถาม ChatGPT คำตอบมันก็เอามาใช้ไม่ได้ ลองรันแล้วไม่ได้ผลแบบที่ต้องการ แต่มันได้ concept ที่นั่งคิดเองไม่ออกเลยเอาไปเขียนต่อเองจนได้ สำหรับผมมันก็ช่วยได้ระดับนึง
ผมใช้บาร์ดเพราะฟรี มันตอบถูกเรื่องดนตรีนะครับ มีนักดนตรีบอกมีคนร้องเพลงได้โดยไม่ต้องฟังมอนิเตอร์
บาร์ดเหมาะกับข้อมูลปัจจุบันซึ่งเป็นข้าได้เปรียบอย่างเดียว แต่เอามาใช้ช่วยในการเขียนโค้ดนี่ได้ระดับที่ต่ำมากครับ
ทั้งมั่วและผิดเพี้ยนจากที่ต้องการ
+1 ครับ ข้อดีของ bard คือเร็วและปัจจุบันแค่นั้นเอง แต่เรื่องโค้ดเนี่ย ถ้าถามในเชิง doc ยังพอไหว แต่ถ้าให้ช่วย generate code เนี่ยพึ่งพาได้ค่อนข้างน้อยเลยครับ
ส่วนใหญ่ผมใช้ bard ให้ช่วยสรุปข่าวหรือถามเกี่ยวกับสินค้า/สถานที่มากกว่า
หลายครั้งที่ Code ออกมาแล้วใช้งานไม่ได้ทันที
เราก็บอกไปตรงๆ ว่ายังใช้ไม่ได้เพราะอะไร แล้วมันก็จะแนะนำ Code ให้ใหม่ หรือบางทีระบบก็ขอตัวอย่างผลลัพท์ที่เราอยากได้เลย เพื่อทำ Code ในแบบที่ต้องการ
โดยรวมแล้ว ดีกว่าไปตั้งต้นหา Code บน Google เยอะครับ เพราะอย่างน้อยมีโครงตั้งต้นให้ ที่เหลือก็ Verify ร่วมกับมัน คุยๆ แก้ไข ออกมาเป็น Code ที่แบบถ้าต้องทำเอง คงใช้เวลาเป็นเดือนๆ กับการหาตัวอย่างในแต่ละ Logic
ที่ผมเจอบ่อยมากคือ dependencies ไม่ครบ ทั้งที่โค้ดจริงๆ ถูกหมดแล้ว ลืม import นั่นนี่นิดๆ หน่อยๆ แต่ทั้งนี้คือเราเข้าใจข้อจำกัดแล้ว และไม่พยายามไปสั่งอะไรที่ซับซ้อนกว่าที่มันเคยตอบได้แล้ว (ถ้ามันเก่งขึ้นก็คงไม่ค่อยรู้ตัวแล้ว)
lewcpe.com, @wasonliw
เห็นด้วยกับผลวิจัยนะ
เพราะว่า โค้ดไม่ถูกต้องซะทีเดียว แต่มันก็ได้แนวคิดและไอเดียไปต่อยอดครับ
โปรเจคเว็บที่ผมเคยพับไว้หลายปี ถูกเอามาทำต่อจนจบได้ ต้องขอยกเครดิตให้ chatgpt เกือบทั้งหมดนะ เพราะถ้าไม่มีตัวช่วยแบบนี้ ผมคงทำไม่สำเร็จซะที
หลายต่อหลายครั้ง หากถามใน stack อาจจะได้คำตอบเชิงลบเป็นประจำ เลยเลือกที่จะถามใน chatgpt แทน เพราะสบายใจกว่า และสามารถถามในสิ่งที่เราสงสัยได้ทุกอย่าง จนมันอธิบายเราเข้าใจโดยมีแต่ความสุภาพทั้งหมด ซึ่งคนขี้สงสัยอย่างเราก็ชอบสิ แต่เราก็ต้องทดสอบและกรองโค้ดอีกทีก่อนน่ะนะ
แต่ภาพรวมแล้ว ควรมี chatgpt แบบนี้ตั้งนานแล้ว โปรเจหลาย ๆ อย่างของผมจะได้สำเร็จไปได้ซะที
แม้จะไม่ถูกต้องแต่ก็ได้แนวทางและถามจี้ทีละจุดไปเรื่อยๆ สุดท้ายก็ได้คำตอบออกมา (GPT 4 นะ)
ส่วนตัว GPT-3.5 นี่ถ้าตันเมื่อไหร่จะตอบกำกวม วกไปวนมาจนสุดท้ายก็ไม่ได้อยู่ดี
เคยให้ช่วยเขียน regex เงื่อนไขยากๆ มันก็เขียนมาให้ผิด แต่ก็พอได้ไอเดียไปดัดแปลงต่อให้ถูก แต่ถ้าใครcopy ไปใช้โดยไม่ตรวจสอบนี่เจ๊งแน่ เพราะมันรันได้และเงื่อนไขบางส่วนถูกแต่ไม่ครบและบางส่วนผิด
แปลกแฮะ ผมใช้แต่ autocomplete ผ่าน copilot ช่วยได้ประหยัดเวลาได้เยอะมากนะ เพราะผมเป็นคนพิมพ์ๆ ลบๆ เนื่องจากพิมพ์ผิดเยอะ
copilot มันก็คล้าย chatgpt ในแง่ของที่ว่าสุดท้ายคำตอบที่มันแนะนำมาเราก็ต้องมากรองอยู่ดี แต่ความแม่นยำในเรื่อง coding ก็สูงเช่นกันเพราะมันมาจากโค้ดใน github ผมเคยใช้อยู่บางทีมันก็แนะนำถูกบ้าง ผิดบ้าง แล้วแต่สถานการณ์
แล้วจุดใช้งานมันต่างกัน copilot มันเป็นแค่ autocomplete คนเขียนต้องรู้ไอเดียในเรื่องที่จะเขียนอยู่แล้ว แต่ chatgpt มันคือที่ปรึกษา ถ้าไม่มีไอเดีย ไม่รู้จะเริ่มยังไง chatgpt เหมาะกว่า
ดังนั้นมันไม่แปลกหรอก เพราะลักษณะการใช้งานของคุณมันไม่ได้ต้องการ chatgpt
ใช้copilotแล้วได้โค้ดgplหรือagpl คุณต้องไปคอมพี้กับเขา ไม่งั้นโดนฟ้องเละ ไม่รู้ไมโครเอาพวกโค้ดไม่มีไลเซ้นมาให้ด้วยไหมเหอเหอ พวกนั้นยิ่งแล้วใหญ่
copilot แชทได้นะครับ
ตามนี้ฮะ คุยได้เหมือน chatgpt เลย
อ่านคอมเม้นต์ในนี้ก็สรุปได้แล้ว ไปฝึกเขียนโค้ด อ่านด็อก หรือติดตามโซเชียลคนดัง ไม่ใช่ดารานะจ๊ะ พวกคนดังที่มีฝีมือระดับเทพ อดีตโปรแกรมเมอร์ที่มีชื่อและทำงานบริษัทยักษ์ เชาชอบแบ่งบัน ใช้วิธีพวกนี้เรียนรู้ดีที่สุดแล้ว
ทุกวันนี้ไม่เคยต้องพึ่งพาแมทชีนเลินนิ่งเลย เคยลองแล้วใช้การไม่ได้ เหลือเชื่อที่เคยมีคอมเม้นต์ในบทความก่อนหน้านี้อวยหนักมาก ถ้ามีงานง่ายแบบนั้น ไม่ต้องกลัวอีกไม่นานแมทชีนเลินนิ่งก็แทนที่พวกนี้เอง ตั้งแต่ทำงานมาไม่เคยเจออะไรที่มันตอบได้เลย
เรื่องพิมพ์ผิดพวกไอดีอีมีsyntaxhighlightพร้อม suggestion ช่วยอยู่แล้ว ไม่ต้องผ่านแมทชีนเลินนิ่งมา autocompletion เลย แต่พอเข้าใจว่าไม่มีปัญญาใช้
แรกๆใช้บ่อย พอเจอโจทย์ยากๆ เหมือนจะช่วยอะไรไม่ได้ พาหลง และช้าอีก
หลังๆ ไม่ค่อยได้ใช้แล้ว