Cloudflare ได้เปิดตัวไลบรารี OAuth provider สำหรับแพลตฟอร์ม Workers ซึ่งส่วนใหญ่เขียนขึ้นโดยใช้ Claude AI ทำให้เกิดการถกเถียงอย่างร้อนแรงเกี่ยวกับบทบาทของปัญญาประดิษฐ์ในการพัฒนาซอฟต์แวร์ โครงการนี้นำโดย Kenton Varda วิศวกรหัวหน้าของ Cloudflare ถือเป็นหนึ่งในตัวอย่างแรกๆ ที่สำคัญของไลบรารีด้านความปลอดภัยที่พร้อมใช้งานจริงซึ่งสร้างขึ้นผ่านความช่วยเหลือจาก AI เป็นหลัก
ไลบรารีนี้ใช้มาตรฐาน OAuth 2.1 สำหรับ Cloudflare Workers แต่สิ่งที่ทำให้มันโดดเด่นไม่ใช่แค่ฟังก์ชันการทำงาน แต่เป็นวิธีการสร้างมัน Varda ซึ่งอธิบายตัวเองว่าเป็นคนที่เคยสงสัยใน AI ได้ใช้ Claude Sonnet 3.7 ในการสร้างโค้ดส่วนใหญ่ผ่านการใส่คำสั่งอย่างระมัดระวังและการปรับปรุงแบบวนซ้ำ กระบวนการพัฒนาทั้งหมดรวมถึงคำสั่งและการโต้ตอบกับ AI ได้รับการบันทึกไว้ในประวัติ commit ของโครงการเพื่อความโปร่งใส
รายละเอียดทางเทคนิคที่สำคัญ
- แพลตฟอร์ม: Cloudflare Workers
- มาตรฐานที่ใช้: OAuth 2.1
- ภาษาโปรแกรมมิ่ง: TypeScript/JavaScript
- Repository: โอเพนซอร์สพร้อมประวัติ commit ครบถ้วน
- การตรวจสอบความปลอดภัย: การตรวจสอบข้อมูลอ้างอิง RFC อย่างครบถ้วน
การดูแลจากผู้เชี่ยวชาญยังคงมีความสำคัญ
แม้ว่า AI จะให้ผลลัพธ์ที่น่าประทับใจ แต่โครงการนี้ต้องการความเชี่ยวชาญจากมนุษย์อย่างกว้างขวางตลอดกระบวนการพัฒนา Varda และทีมงานได้ตรวจสอบโค้ดทุกบรรทัดอย่างละเอียด อ้างอิงการใช้งานกับ RFC ที่เกี่ยวข้อง และแก้ไขข้อบกพร่องหลายจุดด้วยตนเองที่ AI ไม่สามารถแก้ไขได้เอง ข้อความ commit หนึ่งระบุอย่างชัดเจนว่า: Claude มีข้อบกพร่องใน commit ก่อนหน้า ฉันได้ใส่คำสั่งหลายครั้งเพื่อแก้ไขข้อบกพร่องแต่มันยังคงทำผิดอยู่
ประสบการณ์นี้เน้นย้ำถึงข้อจำกัดสำคัญของเครื่องมือเขียนโค้ด AI ในปัจจุบัน พวกมันสามารถสร้างโค้ดที่ซับซ้อนได้ แต่มักจะมีปัญหาในการดีบักและการแก้ปัญหาที่ซับซ้อนเมื่อมีข้อผิดพลาดเกิดขึ้น ทีมพัฒนาพบว่าการเริ่มการสนทนาใหม่ตั้งแต่ต้นมักจะมีประสิทธิภาพมากกว่าการพยายามแก้ไขข้อผิดพลาดของ AI ภายในบริบทที่มีอยู่
ข้อจำกัดของ AI ที่สังเกตได้
- การแก้ไขปัญหาที่ซับซ้อน: ต้องการการแทรกแซงด้วยตนเองจากมนุษย์
- การรักษาบริบท: สูญเสียบริบทหลังจากการทำงานหลายรอบ
- การแก้ปัญหาใหม่ๆ: มีประสิทธิภาพน้อยกว่าการใช้งานแบบมาตรฐาน
- การปรับปรุงโค้ด: มีความสามารถจำกัดกับโค้ดเบสที่ซับซ้อนที่มีอยู่แล้ว
ปฏิกิริยาจากชุมชนแบ่งออกเป็นสองฝ่ายเรื่องบทบาทของ AI
การประกาศนี้ทำให้ชุมชนนักพัฒนาแบ่งออกเป็นค่ายที่แตกต่างกัน ผู้สนับสนุนมองว่านี่เป็นการยืนยันว่า AI สามารถเร่งการพัฒนาได้อย่างมีนัยสำคัญเมื่อได้รับการดูแลอย่างเหมาะสมจากวิศวกรที่มีประสบการณ์ Varda ประเมินว่าโครงการนี้ใช้เวลาเพียงไม่กี่วันด้วยความช่วยเหลือจาก AI เมื่อเทียบกับสัปดาห์หรือเดือนที่จะต้องใช้ในการเขียนด้วยมือ
อย่างไรก็ตาม ผู้ที่มีความกังวลได้ยกประเด็นเกี่ยวกับผลกระทบในวงกว้างต่ออุตสาหกรรมซอฟต์แวร์ บางคนกังวลเกี่ยวกับศักยภาพในการลดโอกาสการจ้างงาน ในขณะที่คนอื่นๆ ตั้งคำถามว่าโค้ดที่สร้างโดย AI สร้างความรู้สึกผลิตภาพที่ผิดๆ หรือไม่ นักวิจารณ์โต้แย้งว่ากระบวนการตรวจสอบที่กว้างขวางที่ต้องการอาจทำให้การพัฒนาช้าลงเมื่อเทียบกับวิธีการเขียนโค้ดแบบดั้งเดิม
ทุกบรรทัดได้รับการตรวจสอบอย่างละเอียดและอ้างอิงกับ RFC ที่เกี่ยวข้องโดยผู้เชี่ยวชาญด้านความปลอดภัยที่มีประสบการณ์ก่อนหน้ากับ RFC เหล่านั้น ฉันพยายามตรวจสอบความสงสัยของตัวเอง ในที่สุดฉันก็พิสูจน์ว่าตัวเองผิด
การเปรียบเทียบระยะเวลาการพัฒนา
- การพัฒนาด้วยความช่วยเหลือของ AI: ไม่กี่วัน
- การประมาณการพัฒนาแบบแมนนวล: ไม่กี่สัปดาห์ถึงหลายเดือน
- โมเดล AI ที่ใช้: Claude Sonnet 3.7
- ต้นทุนการพัฒนา: จำนวนเงินสองหลักในสกุลเงินดอลลาร์สหรัฐ
ข้อจำกัดของการพัฒนาด้วยความช่วยเหลือจาก AI
โครงการนี้เผยให้เห็นทั้งจุดแข็งและจุดอ่อนของความสามารถในการเขียนโค้ดของ AI ในปัจจุบัน ในขณะที่ AI เก่งในการใช้มาตรฐานที่มีการบันทึกไว้อย่างดีเช่น OAuth ซึ่งมีข้อมูลการฝึกอบรมที่กว้างขวาง แต่มันมีปัญหากับปัญหาใหม่ๆ และสถานการณ์การดีบักที่ซับซ้อน Varda สังเกตว่าความช่วยเหลือจาก AI มีประสิทธิภาพน้อยลงเมื่อทำงานกับ Workers Runtime เอง โดยเฉพาะสำหรับการปรับโครงสร้างโค้ดเบสที่ซับซ้อนที่มีอยู่
ความสำเร็จของโครงการนี้ดูเหมือนจะขึ้นอยู่กับปัจจัยหลายประการ: ข้อกำหนดที่ชัดเจน (มาตรฐาน OAuth) ความพร้อมใช้งานของข้อมูลการฝึกอบรมที่กว้างขวาง และที่สำคัญที่สุดคือการดูแลจากผู้เชี่ยวชาญมนุษย์ตลอดกระบวนการ สิ่งนี้ชี้ให้เห็นว่าการเขียนโค้ดด้วยความช่วยเหลือจาก AI อาจมีประสิทธิภาพมากที่สุดสำหรับการใช้รูปแบบที่ยอมรับแล้วมากกว่าการสร้างโซลูชันใหม่ทั้งหมด
ผลกระทบในอนาคตสำหรับการพัฒนาซอฟต์แวร์
การทดลองของ Cloudflare ให้ภาพรวมของวิธีที่ AI อาจเปลี่ยนแปลงแนวทางการพัฒนาซอฟต์แวร์ แทนที่จะแทนที่วิศวกรทั้งหมด เทคโนโลยีนี้ดูเหมือนจะพัฒนาเป็นเครื่องมือที่ซับซ้อนที่สามารถจัดการงานการใช้งานตามปกติในขณะที่มนุษย์มุ่งเน้นไปที่สถาปัตยกรรม การตัดสินใจเรื่องการออกแบบ และการประกันคุณภาพ
ความโปร่งใสของโครงการในการบันทึกทั้งความสำเร็จและความล้มเหลวให้ข้อมูลเชิงลึกที่มีค่าสำหรับทีมอื่นๆ ที่กำลังพิจารณาแนวทางที่คล้ายกัน มันแสดงให้เห็นว่าแม้ว่า AI สามารถเร่งงานพัฒนาบางประเภทได้อย่างมีนัยสำคัญ แต่ความจำเป็นสำหรับวิศวกรที่มีประสบการณ์ในการแนะนำ ตรวจสอบ และตรวจสอบผลลัพธ์ยังคงมีความสำคัญสูงสุด โดยเฉพาะสำหรับส่วนประกอบที่สำคัญด้านความปลอดภัยเช่นไลบรารีการยืนยันตัวตน
เมื่อเครื่องมือเขียนโค้ด AI ยังคงพัฒนาต่อไป ไลบรารี OAuth ของ Cloudflare อาจทำหน้าที่เป็นกรณีศึกษาที่สำคัญสำหรับการสร้างแนวทางปฏิบัติที่ดีที่สุดในการพัฒนาซอฟต์แวร์ด้วยความช่วยเหลือจาก AI โดยเฉพาะสำหรับโครงการที่ความปลอดภัยและความน่าเชื่อถือเป็นข้อกำหนดที่ไม่สามารถต่อรองได้
อ้างอิง: Commits