บทวิจารณ์เครื่องมือเขียนโค้ดที่ขับเคลื่อนด้วย AI ของนักพัฒนาคนหนึ่งเมื่อเร็วๆ นี้ได้จุดประกายการถกเถียงอย่างร้อนแรงในชุมชนเทคโนโลยีเกี่ยวกับว่าเครื่องมือเหล่านี้เรียนรู้และใช้งานได้อย่างมีประสิทธิภาพง่ายจริงหรือไม่ ความขัดแย้งมีจุดศูนย์กลางอยู่ที่การอ้างสิทธิ์ที่ขัดแย้งกันเกี่ยวกับความยากง่ายในการเรียนรู้และผลตอบแทนด้านผลิตภาพในโลกแห่งความจริงจากผู้ช่วยเขียนโค้ด AI ยอดนิยม
การอ้างว่าไม่มีความยากในการเรียนรู้จุดประกายการต่อต้าน
การยืนยันของบทความต้นฉบับที่ว่าการเรียนรู้วิธีใช้ LLMs ในขั้นตอนการเขียนโค้ดเป็นเรื่องเล็กน้อยได้รับการวิพากษ์วิจารณ์อย่างรุนแรงจากนักพัฒนาที่มีประสบการณ์ สมาชิกชุมชนหลายคนโต้แย้งว่าคำกล่าวนี้เผยให้เห็นความเข้าใจผิดพื้นฐานเกี่ยวกับวิธีการทำงานกับเครื่องมือเขียนโค้ด AI อย่างมีประสิทธิภาพ นักวิจารณ์ชี้ให้เห็นว่าการได้ผลลัพธ์พื้นฐานจากเครื่องมือ AI อาจง่าย แต่การพัฒนาขั้นตอนการทำงานที่มีประสิทธิภาพต้องใช้ทักษะและการปรับตัวอย่างมาก
การถกเถียงนี้เน้นให้เห็นรูปแบบทั่วไปที่นักพัฒนาที่ประสบปัญหากับเครื่องมือ AI มักสรุปว่าเครื่องมือเองมีข้อบกพร่อง แทนที่จะตระหนักถึงความจำเป็นในการพัฒนาวิธีการทำงานใหม่ ผู้แสดงความคิดเห็นหลายคนสังเกตว่าการปฏิเสธเครื่องมืออย่าง Cursor โดยไม่มีการประเมินที่เหมาะสมแสดงให้เห็นว่าผู้วิจารณ์ไม่เคยเรียนรู้ที่จะปรับขั้นตอนการทำงานของตนให้ทำงานได้อย่างมีประสิทธิภาพกับความช่วยเหลือจาก AI
รูปแบบการใช้งานในโลกแห่งความจริงเริ่มปรากฏ
แม้จะมีความขัดแย้ง การอภิปรายของชุมชนเผยให้เห็นข้อมูลเชิงลึกที่มีค่าเกี่ยวกับแนวทางปฏิบัติการเขียนโค้ด AI ที่มีประสิทธิภาพ นักพัฒนารายงานความสำเร็จเมื่อพวกเขาแบ่งงานออกเป็นชิ้นเล็กๆ พร้อมคำแนะนำที่ชัดเจน สร้างฐานโค้ดที่มีโครงสร้างดีก่อนใช้ AI อย่างหนัก และมุ่งเน้นไปที่งานอย่างการสร้างโครงสร้าง การทดสอบการรวมระบบ และการทำงานกับมาตรฐานที่กำหนดไว้แล้ว
นักพัฒนาคนหนึ่งแบ่งปันแนวทางของพวกเขาในการจัดระเบียบโครงสร้างโค้ดด้วยตนเองก่อน จากนั้นใช้ AI เพื่อสร้างการกำหนดค่าการปรับใช้ การตั้งค่าการตรวจสอบ และโค้ดแม่แบบตามรูปแบบที่มีอยู่ วิธีการนี้รายงานว่าสร้างโค้ดที่สามารถปรับใช้ได้พร้อมข้อผิดพลาดน้อยที่สุดในไฟล์ 10-15 ไฟล์
กรณีการใช้งาน AI ในการเขียนโค้ดที่มีประสิทธิภาพ:
- การนำมาตรฐานและโปรโตคอลที่มีการยอมรับแล้วมาใช้งาน
- การเขียนการทดสอบการรวมระบบและโค้ดพื้นฐาน
- การคัดแยกและแก้ไขข้อผิดพลาดง่ายๆ ใน Sentry
- การทำงานกับเทคโนโลยีใหม่และเอกสารประกอบ
- การสร้างส่วนประกอบซอฟต์แวร์ขนาดเล็กที่สามารถเปลี่ยนแทนได้
- การสร้างโครงสร้างพื้นฐานและการกำหนดค่าการปรับใช้งาน
ข้อพิจารณาด้านภาษาและเฟรมเวิร์ก
ชุมชนระบุความแตกต่างที่สำคัญในประสิทธิภาพของเครื่องมือ AI ในภาษาโปรแกรมมิ่งต่างๆ Rust กลายเป็นภาษาที่เหมาะสมเป็นพิเศษสำหรับความช่วยเหลือจาก AI เนื่องจากคอมไพเลอร์มุ่งเน้นไปที่ข้อความแสดงข้อผิดพลาดที่มนุษย์อ่านได้ ซึ่งช่วยนำทางเครื่องมือ AI ไปสู่โซลูชันที่ถูกต้อง ในทางตรงกันข้าม Python ต้องการการพิมพ์ที่แข็งแกร่งตลอดฐานโค้ดเพื่อให้ได้ผลลัพธ์ที่ดีกับความช่วยเหลือจาก AI
นักพัฒนาหลายคนสังเกตว่าเครื่องมือ AI เก่งกับภาษาและเฟรมเวิร์กหลัก แต่ประสบปัญหากับเทคโนโลยีที่ไม่ค่อยได้รับความนิยม อย่างไรก็ตาม บางคนรายงานความสำเร็จแม้กับภาษาเฉพาะทางอย่าง D programming ซึ่งแสดงให้เห็นว่าความสามารถของ AI อาจกว้างกว่าที่คิดไว้ในตอนแรก
ประสิทธิภาพของภาษาโปรแกรมมิ่งกับเครื่องมือ AI:
- ประสิทธิภาพดีที่สุด: Rust (ข้อความแสดงข้อผิดพลาดของคอมไพเลอร์ที่ยอดเยี่ยมช่วยแนะนำ AI)
- ต้องการการตั้งค่า: Python (ต้องการ strong typing เพื่อผลลัพธ์ที่ดี)
- ดีอย่างน่าประหลาดใจ: ภาษาโปรแกรมมิ่ง D (แม้จะมีข้อมูลการฝึกอบรมที่จำกัด)
- โดยทั่วไปแข็งแกร่ง: TypeScript , เฟรมเวิร์กและมาตรฐานที่มีชื่อเสียง
ความท้าทายด้านราคาและความเสถียร
ความกังวลที่เกิดขึ้นซ้ำๆ ในการอภิปรายเกี่ยวข้องกับภูมิทัศน์ที่เปลี่ยนแปลงอย่างรวดเร็วของราคาและความพร้อมใช้งานของเครื่องมือ AI นักพัฒนาแสดงความผิดหวังกับผู้ให้บริการที่ทำให้โมเดลกลายเป็นพรีเมียมในชั่วข้ามคืนและความจำเป็นที่ต้องอัปเดตขั้นตอนการทำงานอย่างต่อเนื่องเมื่อเครื่องมือและโมเดลใหม่เกิดขึ้นทุกสัปดาห์ ความไม่เสถียรนี้ทำให้ยากต่อการสร้างกระบวนการพัฒนาที่เชื่อถือได้ซึ่งขึ้นอยู่กับความช่วยเหลือจาก AI
ฉันทามติของชุมชนแสดงให้เห็นว่าแม้เครื่องมือเขียนโค้ด AI สามารถเพิ่มผลิตภาพได้อย่างมาก ความสำเร็จต้องใช้ความอดทน การทดลอง และความเต็มใจที่จะปรับขั้นตอนการทำงานที่กำหนดไว้แล้ว แทนที่จะคาดหวังให้เครื่องมือรวมเข้ากับแนวทางปฏิบัติที่มีอยู่อย่างราบรื่น