การเติบโตของผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI อย่าง Claude Code ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนนักพัฒนาเกี่ยวกับว่าเครื่องมือเหล่านี้กำลังปฏิวัติการเขียนโปรแกรมหรือสร้างการพึ่งพาที่ไม่ดีต่อสุขภาพ นักเขียนโปรแกรมจำนวนมากขึ้นเปรียบเทียบประสบการณ์การใช้เครื่องมือเขียนโค้ด AI กับการเล่นเครื่องสล็อต โดยอ้างถึงรางวัลที่ไม่แน่นอนและรูปแบบการรอคอยที่เสพติดที่มาพร้อมกับการสั่งให้ AI สร้างโค้ด
การเปรียบเทียบนี้เกิดจากธรรมชาติที่คาดเดาไม่ได้ของคุณภาพโค้ดที่ AI สร้างขึ้น บางครั้ง AI สร้างโซลูชันที่ยอดเยี่ยมและใช้งานได้ในครั้งแรก ครั้งอื่นๆ นักพัฒนาพบว่าตัวเองติดอยู่ในลูปที่มีค่าใช้จ่ายสูงของความพยายามที่ล้มเหลว โดยใช้เวลาหลายชั่วโมงและเงินจำนวนมากในการเรียกใช้ API ขณะที่ดึงคันโยกซ้ำๆ ด้วยความหวังที่จะได้โค้ดที่ใช้งานได้
ช่องว่างระหว่างรุ่นในการนำ AI มาใช้
การอภิปรายในชุมชนเผยให้เห็นรูปแบบที่ชัดเจนว่าใครเป็นผู้ยอมรับและใครต่อต้านเครื่องมือเขียนโค้ด AI นักพัฒนาที่เริ่มเขียนโปรแกรมในช่วง 15 ปีที่ผ่านมา ผู้ที่หยุดพักงานในอาชีพ และนักเขียนโปรแกรมที่มุ่งเน้นการสร้างผลิตภัณฑ์มักจะต้อนรับความช่วยเหลือจาก AI ในขณะที่ผู้เชี่ยวชาญที่มีประสบการณ์ 25 ปีขึ้นไปที่มีความสุขกับกระบวนการเขียนโค้ดจริงๆ แสดงความต่อต้านเครื่องมือเหล่านี้มากกว่า
ช่องว่างนี้สะท้อนแรงจูงใจที่แตกต่างกันในการเขียนโปรแกรม นักพัฒนาบางคนมองโค้ดเป็นเครื่องมือเพื่อบรรลุเป้าหมาย - เครื่องมือสำหรับสร้างผลิตภัณฑ์และแก้ปัญหา สำหรับพวกเขา AI ช่วยลดงานที่น่าเบื่อและเร่งการพัฒนา คนอื่นๆ พบความสุขในกระบวนการเขียนโค้ดจริง โดยมองว่าเป็นงานฝีมือที่ไม่ควรถูกทำให้เป็นอัตโนมัติ
กลุ่มนักพัฒนาที่มีแนวโน้มจะนำเครื่องมือเขียนโค้ด AI มาใช้มากที่สุด:
- โปรแกรมเมอร์ที่เริ่มงานในช่วง 15 ปีที่ผ่านมา
- นักพัฒนาที่เคยหยุดพักงาน (กลายเป็นผู้บริหาร หรือออกจากอุตสาหกรรมชั่วคราว)
- นักพัฒนาที่เน้นผลิตภัณฑ์ซึ่งมองโค้ดเป็นเพียงเครื่องมือเพื่อให้บรรลุเป้าหมาย
- ผู้ที่ทำงานกับภาษาโปรแกรมมิ่ง/เฟรมเวิร์กที่ใช้โค้ดยาว
ความขัดแย้งของผลิตภาพ
แม้ว่าเครื่องมือเขียนโค้ด AI จะสัญญาว่าจะเพิ่มผลิตภาพอย่างมหาศาล แต่ความเป็นจริงนั้นซับซ้อนกว่า นักพัฒนาหลายคนรายงานว่า AI เก่งในการสร้างโค้ด boilerplate จัดการงานที่ซ้ำซาก และทำงานกับเฟรมเวิร์กและไลบรารีที่มีชื่อเสียง อย่างไรก็ตาม มันดิ้นรนกับปัญหาใหม่ สถาปัตยกรรมระบบที่ซับซ้อน และการรักษาคุณภาพโค้ดเมื่อเวลาผ่านไป
เครื่องมือเหล่านี้ทำงานได้ดีที่สุดเมื่อนักพัฒนารักษาการดูแลอย่างเข้มงวด ตรวจสอบทุกบรรทัดของโค้ดที่สร้างขึ้นอย่างระมัดระวัง และให้คำสั่งที่ละเอียดและเฉพาะเจาะจง สิ่งนี้ต้องการความเชี่ยวชาญอย่างมากในการใช้งานอย่างมีประสิทธิภาพ - น่าขบขันที่นักพัฒนาที่ได้ประโยชน์มากที่สุดจากเครื่องมือเขียนโค้ด AI มักเป็นผู้ที่ต้องการมันน้อยที่สุด
ฉันใช้เวลาเพียงเศษเสี้ยวในการตรวจสอบการผลิต LLM ของโค้ดแบบ rote เมื่อเทียบกับการเขียนมันเอง ฉันไม่เข้าใจว่าทำไมคนถึงคาดหวังให้สิ่งนี้เป็นการโต้แย้งที่ชนะเด็ดขาดเสมอ
เครื่องมือ AI สำหรับการเขียนโค้ดทำงานได้ดีที่สุดสำหรับ:
- การสร้างโค้ด boilerplate
- การรวมระบบ API และการค้นหาเอกสารประกอบ
- การแปลงระหว่างภาษาโปรแกรมมิ่งต่างๆ
- การสร้าง unit tests และคอมเมนต์
- การทำงานกับเฟรมเวิร์กที่มีอยู่แล้ว ( React , Django เป็นต้น)
- การจัดการงานที่เกี่ยวกับการจัดรูปแบบสตริงและการจัดการข้อมูลที่ซ้ำๆ
ความท้าทายของโมเดลทางความคิด
แนวโน้มที่น่ากังวลที่เกิดขึ้นจากการอภิปรายในชุมชนคือผลกระทบต่อโมเดลทางความคิดของนักพัฒนาเกี่ยวกับ codebase ของพวกเขา เมื่อ AI สร้างโค้ดส่วนใหญ่ นักพัฒนาอาจไม่พัฒนาความเข้าใจอย่างลึกซึ้งเหมือนที่จะได้จากการเขียนด้วยตนเอง สิ่งนี้อาจนำไปสู่ความท้าทายในการบำรุงรักษาและความยากลำบากในการแก้ไขปัญหาที่ซับซ้อนในภายหลัง
นักพัฒนาที่มีประสบการณ์บางคนกังวลเกี่ยวกับรุ่นของนักเขียนโปรแกรมที่พึ่งพา AI อย่างหนักโดยไม่สร้างทักษะการแก้ปัญหาพื้นฐาน ความกลัวคือเมื่อเครื่องมือ AI ล้มเหลวหรือสร้างบั๊กที่ละเอียดอ่อน นักพัฒนาเหล่านี้จะไม่มีความเชี่ยวชาญในการระบุและแก้ไขปัญหา
กลุ่มนักพัฒนาที่ต่อต้านเครื่องมือ AI สำหรับการเขียนโค้ดมากที่สุด:
- นักพัฒนาที่มีประสบการณ์การเขียนโปรแกรมอย่างต่อเนื่องมากกว่า 25 ปี
- นักพัฒนาที่รักและสนุกกับกระบวนการเขียนโค้ดจริงๆ
- ผู้ที่ชอบทำความเข้าใจทุกรายละเอียดในฐานโค้ดของตนเอง
- โปรแกรมเมอร์ที่ทำงานเกี่ยวกับปัญหาใหม่หรือเฉพาะทางสูง
การหาสมดุลที่เหมาะสม
แม้จะมีความกังวล แต่นักพัฒนาหลายคนกำลังหาวิธีใช้เครื่องมือเขียนโค้ด AI อย่างมีประสิทธิภาพโดยไม่ตกอยู่ในกับดักเครื่องสล็อต แนวทางที่ประสบความสำเร็จรวมถึงการใช้ AI สำหรับงานเฉพาะที่กำหนดไว้อย่างชัดเจนแทนที่จะเป็นฟีเจอร์ทั้งหมด การรักษากระบวนการตรวจสอบโค้ดอย่างเข้มงวด และการปฏิบัติต่อ AI เป็นการเติมคำอัตโนมัติที่ซับซ้อนแทนที่จะเป็นการทดแทนความรู้การเขียนโปรแกรม
สิ่งสำคัญดูเหมือนจะเป็นการเข้าใจว่าเมื่อไหร่ควรใช้ AI และเมื่อไหร่ควรเขียนโค้ดด้วยตนเอง AI ทำงานได้ดีสำหรับงานประจำ API ที่ไม่คุ้นเคย และการสร้าง test case มันไม่เหมาะสำหรับ business logic หลัก โค้ดที่สำคัญต่อประสิทธิภาพ และงานอัลกอริทึมใหม่
ขณะที่เครื่องมือเขียนโค้ด AI ยังคงพัฒนาต่อไป ชุมชนนักพัฒนายังคงเรียนรู้วิธีบูรณาการเครื่องมือเหล่านี้เข้ากับขั้นตอนการทำงานอย่างมีประสิทธิผล การเปรียบเทียบเครื่องสล็อตทำหน้าที่เป็นคำเตือนที่มีประโยชน์เกี่ยวกับศักยภาพของการเสพติดและการพึ่งพามากเกินไป ขณะเดียวกันก็เน้นรางวัลที่ไม่แน่นอนที่ทำให้เครื่องมือเหล่านี้น่าสนใจเมื่อมันทำงานได้ดี
อ้างอิง: Claude Code is a Slot Machine