GitHub ประกาศว่าได้ทำการทดสอบระบบผู้ช่วยอัจฉริยะ GitHub Copilot เสร็จสมบูรณ์แล้ว ซึ่งสามารถสร้างบิลด์ทั่วไปขณะเขียนโค้ดได้ ระบบนี้ได้รับการพัฒนาร่วมกับโครงการ OpenAI และใช้แพลตฟอร์มการเรียนรู้ของเครื่อง OpenAI Codex ซึ่งได้รับการฝึกฝนจากซอร์สโค้ดหลากหลายประเภทที่จัดเก็บไว้ในที่เก็บข้อมูลสาธารณะของ GitHub
ระบบสร้างโค้ดรองรับPython, JavaScript, TypeScript, Ruby, Go, C#, และ C++โดยใช้เฟรมเวิร์กต่างๆ นอกจากนี้ยังมีโมดูลที่ช่วยให้สามารถผสานรวม GitHub Copilot กับ Neovim, JetBrains IDE, Visual Studio และ Visual Studio Code ได้อีกด้วย
จากการวิเคราะห์ข้อมูลทางเทคนิคที่รวบรวมได้ระหว่างกระบวนการทดสอบ พบว่าบริการนี้ช่วยให้สามารถสร้างโค้ดที่มีคุณภาพสูงได้ตัวอย่างเช่น นักพัฒนาซอฟต์แวร์ยอมรับคำแนะนำที่เสนอใน GitHub Copilot ถึง 26% โดยไม่มีการแก้ไขใดๆ
GitHub Copilot แตกต่างจากระบบช่วยเขียนโค้ดแบบดั้งเดิมตรงที่สามารถสร้างบล็อกโค้ดที่ค่อนข้างซับซ้อนได้ ไปจนถึงฟังก์ชันสำเร็จรูปที่สังเคราะห์ขึ้นโดยคำนึงถึงบริบทปัจจุบัน
GitHub Copilot ปรับตัวให้เข้ากับวิธีการเขียนโค้ดของนักพัฒนาและคำนึงถึง API และเฟรมเวิร์กที่ใช้ในโปรแกรม ตัวอย่างเช่น หากมีโครงสร้าง JSON ตัวอย่างอยู่ในความคิดเห็น เมื่อคุณเริ่มเขียนฟังก์ชันเพื่อแยกวิเคราะห์โครงสร้างนี้ GitHub Copilot จะนำเสนอโค้ดที่พร้อมใช้งาน และโดยการเขียนรายการคำอธิบายที่ซ้ำกันเป็นประจำ มันก็จะสร้างส่วนที่เหลือให้เอง
ในบทความบนบล็อกโทมัส โดห์มเค ซีอีโอของ GitHub กล่าวว่า GitHub Copilot ถูกออกแบบมาให้เป็นส่วนเสริมของตัวแก้ไขโค้ด เพื่อให้มั่นใจได้ว่าไม่มีสิ่งใดมาขัดขวางการทำงานของนักพัฒนา
"GitHub Copilot กลั่นกรองความรู้โดยรวมของนักพัฒนาทั่วโลกในส่วนขยายตัวแก้ไขที่แนะนำโค้ดในแบบเรียลไทม์ เพื่อช่วยให้คุณจดจ่อกับสิ่งที่สำคัญที่สุด: การสร้างซอฟต์แวร์ที่ยอดเยี่ยม" เขาอธิบาย
จากข้อมูลของ Dohmke นักพัฒนาประมาณ 1,2 ล้านคนได้ทดลองใช้ Copilot ในระหว่างขั้นตอนการแสดงตัวอย่าง เห็นได้ชัดว่ามันมีประโยชน์มากเช่นกัน เนื่องจาก Dohmke อ้างว่าเขาได้เขียนโค้ดสำหรับนักพัฒนามากถึง 40% ที่เขียนในภาษายอดนิยมอย่าง Python
"เช่นเดียวกับการเพิ่มขึ้นของคอมไพเลอร์และโอเพ่นซอร์ส เราเชื่อว่าการเข้ารหัสโดยใช้ AI จะช่วยเปลี่ยนธรรมชาติของการพัฒนาซอฟต์แวร์โดยพื้นฐาน ทำให้นักพัฒนามีเครื่องมือใหม่ในการเขียนโค้ดได้ง่ายและรวดเร็วยิ่งขึ้น" Dohmke กล่าว
ความสามารถของ GitHub Copilot ในการสร้างบล็อคโค้ดที่สร้างไว้ล่วงหน้าทำให้เกิดการโต้เถียงเกี่ยวกับการละเมิดลิขสิทธิ์ลิขสิทธิ์ลิขสิทธิ์ที่เป็นไปได้ เมื่อสร้างโมเดลแมชชีนเลิร์นนิง จะใช้ข้อความต้นฉบับจริงจากที่เก็บโปรเจ็กต์แบบเปิดที่โฮสต์บน GitHub
หลายโครงการเหล่านี้มีให้ภายใต้ลิขสิทธิ์ลิขสิทธิ์ เช่น GPL ซึ่งกำหนดให้ต้องมีการจัดหารหัสในงานลอกเลียนแบบภายใต้ใบอนุญาตที่เข้ากันได้ หาก Copilot วางรหัสที่มีอยู่ นักพัฒนาอาจละเมิดใบอนุญาตของโครงการที่ยืมรหัสโดยไม่ได้ตั้งใจ
ยังไม่เป็นที่แน่ชัดว่างานที่สร้างขึ้นโดยระบบการเรียนรู้ของเครื่องจักรนั้นถือเป็นงานดัดแปลงหรือไม่ นอกจากนี้ยังเกิดคำถามว่าแบบจำลองการเรียนรู้ของเครื่องจักรนั้นอยู่ภายใต้ลิขสิทธิ์หรือไม่ และหากเป็นเช่นนั้น ใครเป็นเจ้าของสิทธิ์เหล่านี้ และสิทธิ์เหล่านั้นเกี่ยวข้องกับสิทธิ์ของรหัสโปรแกรมที่ใช้สร้างแบบจำลองอย่างไร
ในอีกด้านหนึ่ง บล็อกที่สร้างขึ้นสามารถทำซ้ำข้อความจากโปรเจ็กต์ที่มีอยู่ได้ แต่ในทางกลับกัน ระบบจะสร้างโครงสร้างโค้ดขึ้นมาใหม่และไม่ได้คัดลอกโค้ดเอง
จากการศึกษาของ GitHub พบว่ามีเพียง 1% ของคำแนะนำที่ Copilot เสนอมาเท่านั้นที่มีโค้ดตัวอย่างจากโปรเจกต์ที่มีอยู่แล้วซึ่งมีความยาวเกิน 150 ตัวอักษร ในกรณีส่วนใหญ่ การซ้ำซ้อนนี้เกิดขึ้นเมื่อ Copilot ไม่สามารถระบุบริบทได้อย่างถูกต้อง หรือให้คำตอบทั่วไปสำหรับปัญหา
เพื่อหลีกเลี่ยงการเปลี่ยนรหัสที่มีอยู่ ตัวกรองพิเศษได้ถูกเพิ่มไปยัง Copilot ที่ไม่อนุญาตให้ทับซ้อนกับโปรเจ็กต์ที่มีอยู่ เมื่อกำหนดค่า นักพัฒนาสามารถเปิดหรือปิดตัวกรองนี้ได้ตามดุลยพินิจของเขา ท่ามกลางปัญหาอื่น ๆ พบว่ามีความเป็นไปได้ที่รหัสสังเคราะห์สามารถทำซ้ำข้อผิดพลาดและช่องโหว่ที่มีอยู่ในรหัสที่ใช้ในการฝึกแบบจำลอง
สุดท้าย เป็นมูลค่าการกล่าวขวัญว่าบริการนี้ฟรีสำหรับผู้ดูแลโครงการโอเพ่นซอร์สยอดนิยมและสำหรับนักเรียน ในขณะที่สำหรับผู้ใช้ประเภทอื่น ๆ การเข้าถึง GitHub Copilot นั้นจ่าย ($ 10 ต่อเดือนหรือ $ 100 ต่อปี) แต่ให้สิทธิ์ทดลองใช้งานฟรีเป็นเวลา 60 วัน
สุดท้ายนี้ หากคุณสนใจเรียนรู้เพิ่มเติม สามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้