GitHub Copilot เทียบกับ Amazon CodeWhisperer
การต่อสู้เพื่อผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI ที่ดีที่สุดได้เริ่มขึ้นแล้ว!
GitHub Copilot และ Amazon CodeWhisperer เป็นผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI ซึ่งยกระดับการเติมข้อความอัตโนมัติให้สมบูรณ์ขึ้นอีกระดับ อย่างดีที่สุด พวกเขาสามารถเขียนโค้ดที่ใช้งานได้ทั้งหมดโดยอิงจากข้อความอธิบายเล็กน้อยที่ผู้พัฒนาให้มา สิ่งนี้สามารถทำให้คุณมีประสิทธิภาพมากขึ้นในฐานะนักพัฒนา
และ - ในความคิดของฉัน - ทำให้การพัฒนาสนุกยิ่งขึ้น!✨
เพื่อไม่ให้เป็นการเสียเวลา เริ่มกันเลย!
ผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI คืออะไร
GitHub Copilot และ Amazon CodeWhisperer เป็นบริการที่ทำงานร่วมกับโปรแกรมแก้ไขโค้ดและช่วยให้คุณเขียนโค้ดได้เร็วขึ้น แต่ไม่เหมือนกับเครื่องมือเติมข้อความอัตโนมัติทั่วไป เช่น "IntelliSense" Copilot และ CodeWhisperer ใช้โมเดลการเรียนรู้ของเครื่องที่ได้รับการฝึกอบรมทั้งซอร์สโค้ดและภาษาธรรมชาติ ทำให้เข้าใจทั้งการเขียนโปรแกรมและภาษามนุษย์ สิ่งนี้ช่วยให้พวกเขาเข้าใจความคิดเห็นที่เขียนด้วยภาษาอังกฤษธรรมดา สร้างโค้ดตามความตั้งใจของนักพัฒนา และตรงกับรูปแบบและสไตล์ของนักพัฒนา ขณะที่คุณพิมพ์ พวกเขายังให้คำแนะนำเพื่อให้ความคิดเห็นเริ่มต้นสมบูรณ์ คุณสามารถยอมรับคำแนะนำยอดนิยม ดูคำแนะนำเพิ่มเติม หรือเพียงแค่เขียนโค้ดของคุณเองต่อไป
ใช้เวลาน้อยลงในการสร้างสำเร็จรูปและรูปแบบโค้ดซ้ำๆ และมีเวลามากขึ้นในสิ่งที่สำคัญ: การสร้างซอฟต์แวร์ที่ยอดเยี่ยม (GitHub Copilot)
GitHub Copilot คืออะไร
GitHub Copilotได้รับการพัฒนาโดย GitHub และ OpenAI ขับเคลื่อนโดยโมเดล Codex ของ OpenAI ซึ่งได้รับการฝึกอบรมเกี่ยวกับซอร์สโค้ดที่เปิดเผยต่อสาธารณะ รวมถึงที่เก็บสาธารณะบน GitHub Copilot ได้รับการประกาศอย่างเป็นทางการว่า "ไม่แสดงตัวอย่างทางเทคนิค" ในเดือนมิถุนายน 2565
Copilot ใช้งานง่ายมาก และนำเสนอการผสานรวมที่คล่องตัวกับโปรแกรมแก้ไขโค้ดหลักๆ ทั้งหมด GitHub Copilot ได้รับการปรับให้เหมาะสมสำหรับภาษาโปรแกรมหลักเจ็ดภาษา (ดูแผนภูมิด้านล่างสำหรับรายละเอียด) แต่ยังสามารถสร้างคำแนะนำในภาษาอื่นและเฟรมเวิร์กที่หลากหลาย
Copilot เปิดให้ใช้งานฟรีในช่วงดูตัวอย่าง แต่ GitHub เพิ่งประกาศว่าพวกเขาจะเปลี่ยนไปใช้รูปแบบการสมัครรับข้อมูล คุณยังสามารถรับการทดลองใช้ฟรี 60 วันได้ และจะยังคงใช้งานได้ฟรีสำหรับนักเรียนที่ผ่านการตรวจสอบและผู้ดูแลโครงการโอเพ่นซอร์สยอดนิยม
Amazon CodeWhisperer คืออะไร
Amazon CodeWhisperได้รับการพัฒนาโดย Amazon โมเดล ML ได้รับการฝึกอบรมเกี่ยวกับแหล่งข้อมูลต่างๆ รวมถึงโค้ดภายในองค์กรของ Amazon และโค้ดโอเพ่นซอร์ส
CodeWhisperer ยังอยู่ในรุ่นตัวอย่างและรองรับทั้งภาษาที่น้อยลงและตัวแก้ไขโค้ดหลักน้อยกว่า GitHub Copilot อย่างไรก็ตาม การสนับสนุนภาษาและ IDE ในวงกว้างไม่ใช่สิ่งดึงดูดใจหลัก แต่ CodeWhisperer มุ่งเน้นไปที่การให้การสนับสนุนระดับเฟิร์สคลาสสำหรับ AWS API ซึ่งให้คำแนะนำโค้ดสำหรับ AWS API ในบริการยอดนิยมต่างๆ รวมถึง Amazon Elastic Compute Cloud (EC2), AWS Lambda และ Amazon Simple Storage Service (S3) คุณภาพอยู่เหนือปริมาณ?
ตาม บล็อกโพสต์ ของ Amazon ผู้ใช้ควรจะสามารถเขียน "อัปโหลดไฟล์ไปยัง S3" และ CodeWhisperer จะกำหนดโดยอัตโนมัติว่าบริการคลาวด์และห้องสมุดสาธารณะใดที่เหมาะสมที่สุดสำหรับงานที่ระบุ สร้างโค้ดเฉพาะได้ทันที และแนะนำข้อมูลโค้ดที่สร้างขึ้นโดยตรงใน IDE
ในช่วงทดลองใช้ นักพัฒนาสามารถใช้ CodeWhisperer ได้ฟรีโดยสมัครที่นี่
การเปรียบเทียบ
ซึ่งเป็นที่นิยมมากขึ้น?
ด้วยอายุการใช้งานที่สั้นของ CodeWhisperer (เปิดตัวเมื่อเดือนที่แล้ว) ฉันไม่พบข้อมูลใด ๆ ที่เกี่ยวข้องกับจำนวนผู้ใช้ อย่างไรก็ตาม อาจกล่าวได้อย่างปลอดภัยว่า GitHub Copilot ซึ่งเพิ่งเปิดตัวมาได้หนึ่งปี ปัจจุบันเป็นผู้เล่นที่โดดเด่น จากข้อมูลของ GitHub เองนักพัฒนามากกว่า 1.2 ล้านคนใช้การแสดงตัวอย่างทางเทคนิคของ Copilot ในช่วง 12 เดือนที่ผ่านมา การวิจัยของพวกเขาเองแสดงให้เห็นว่าผู้ใช้ยอมรับโดยเฉลี่ย 26% ของความสำเร็จทั้งหมดที่แสดงโดย GitHub Copilot และมากถึง 40% ของไฟล์โค้ดของนักพัฒนาที่สร้างโดย GitHub Copilot
แล้วความเป็นส่วนตัวล่ะ?
เพื่อปรับปรุงประสิทธิภาพ ทั้ง Copilot และ CodeWhisperer จะรวบรวมข้อมูลจากผู้ใช้ คุณกำลังทำให้ codebase หรือข้อมูลขององค์กรของคุณตกอยู่ในความเสี่ยงโดยใช้เครื่องมือเหล่านี้ในที่ทำงานหรือไม่? นี่เป็นคำถามที่สำคัญและอาจเป็นตัวทำลายข้อตกลงสำหรับบริษัทส่วนใหญ่
ในการให้คำแนะนำโค้ด GitHub Copilot จะส่งโค้ดและความคิดเห็นของคุณไปยังบริการ GitHub Copilot บริการนี้ใช้เนื้อหาไฟล์ที่คล้ายกับบริบท ทั้งในไฟล์ที่คุณกำลังแก้ไข เช่นเดียวกับไฟล์ข้างเคียงหรือไฟล์ที่เกี่ยวข้องกันภายในโปรเจ็กต์ นอกจากนี้ยังอาจรวบรวม URL ของที่เก็บหรือเส้นทางไฟล์เพื่อระบุบริบทที่เกี่ยวข้อง บางส่วนของการรวบรวมข้อมูลสามารถปิดใช้งานได้ในการตั้งค่าการวัดและส่งข้อมูลทางไกล ส่วนอื่นๆ เช่น ข้อมูลการใช้งาน จำเป็นสำหรับการใช้ Copilot และไม่สามารถปิดได้ ซึ่งอาจรวมถึงข้อมูลส่วนบุคคลตามที่อ้างถึงใน นโยบายความเป็นส่วนตัว ของGitHub
GitHub ยังระบุว่าจากการทดสอบภายใน พวกเขาพบว่าเป็นเรื่องยากที่คำแนะนำ GitHub Copilot จะรวมข้อมูลส่วนบุคคลแบบคำต่อคำจากชุดการฝึกอบรม (“หายาก”..? ) อย่างไรก็ตาม คำแนะนำบางส่วนอาจดูเหมือนเป็นข้อมูลส่วนบุคคล เช่น ที่อยู่อีเมล หมายเลขโทรศัพท์ ฯลฯ แต่แท้จริงแล้วเป็นข้อมูลสมมติที่สังเคราะห์ขึ้นจากรูปแบบในข้อมูลการฝึกอบรม
Amazon CodeWhisperer ยังรวบรวมข้อมูลบางอย่าง เช่น ข้อมูลเชิงบริบท (รวมถึงเนื้อหาไฟล์) คำติชม เมตริกการวัดและส่งข้อมูลทางไกล และข้อมูลสภาพแวดล้อมของผู้ใช้ ในข้อกำหนดในการให้บริการ Amazon ระบุว่าในช่วงการแสดงตัวอย่าง พวกเขาอาจเสนอตัวเลือกให้คุณเปิดหรือปิดการแบ่งปันเนื้อหา
แล้วความเสี่ยงและความเปราะบางล่ะ?
ผู้ช่วยทั้งสองได้รับการฝึกอบรมเกี่ยวกับรหัสสาธารณะซึ่งอาจมีรูปแบบการเข้ารหัสที่ไม่ปลอดภัย จุดบกพร่อง หรือการอ้างอิงถึง API หรือสำนวนที่ล้าสมัย การศึกษา“หลับคาคีย์บอร์ด? การประเมินความปลอดภัยของการสนับสนุนโค้ดของ GitHub Copilot ” พบว่ามากถึง 40% ของสถานการณ์ทดสอบที่ใช้ Copilot มีโค้ดที่มีช่องโหว่
GitHub ยอมรับว่าบางครั้ง Copilot อาจแนะนำการใช้ไลบรารีและภาษาแบบเก่าหรือเลิกใช้แล้ว และสามารถสังเคราะห์โค้ดที่มีรูปแบบที่ไม่ต้องการได้ เพื่อลดปัญหานี้ พวกเขาแนะนำให้ใช้ผลิตภัณฑ์ร่วมกับเครื่องมือต่างๆ เช่น GitHub Actions, Dependabot และ CodeQL เพื่อช่วยปรับปรุงคุณภาพโค้ด
เช่นเดียวกับ Amazon แม้ว่าจะต้องให้เครดิต Amazon ได้ใช้มาตรการที่ยอดเยี่ยมเพื่อต่อต้านสิ่งนี้โดยให้การสแกนความปลอดภัยเพื่อตรวจหาช่องโหว่ในโครงการ Java และ Python
ดังที่ได้กล่าวไปแล้ว คุณควรใช้ผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI ร่วมกับการทดสอบที่เหมาะสม หลักปฏิบัติในการตรวจสอบโค้ดที่ดี และเครื่องมือรักษาความปลอดภัยที่เชื่อถือได้ ตลอดจนวิจารณญาณของคุณเอง!
แล้วการใช้รหัสสาธารณะในทางที่ผิดล่ะ?
มีการเพิ่มความตระหนักเกี่ยวกับการใช้รหัสสาธารณะในชุดการฝึกอบรม ตามหลักการแล้ว ผู้ช่วยควรสร้างโค้ดที่ไม่เคยมีมาก่อนอย่างสม่ำเสมอ หากผู้ช่วยท่องรหัสโดยตรงจากชุดการฝึกอบรม อาจตัดสิทธิ์จากการพิจารณาว่าเป็นการใช้งานที่เหมาะสมและอาจละเมิดลิขสิทธิ์ของเจ้าของเดิม
เพื่อลดปัญหานี้ Copilot มีตัวกรองในตัวที่พยายามตรวจจับและระงับอินสแตนซ์ที่คำแนะนำ GitHub Copilot มีโค้ดที่ตรงกับโค้ดสาธารณะบน GitHub ตัวกรองนี้เป็นทางเลือกและสามารถปิดได้ จากข้อมูลของ GitHub เอง Copilot จะส่งออกข้อมูลโค้ดแบบคำต่อคำที่ยาวกว่า ~ 150 อักขระประมาณ 1% ของเวลาทั้งหมด พวกเขาตำหนิสิ่งนี้ในกรณีที่ GitHub Copilot ไม่สามารถรวบรวมบริบทที่เพียงพอจากโค้ดที่คุณกำลังเขียน หรือเมื่อมีวิธีแก้ปัญหาทั่วไปหรืออาจเป็นสากล
เช่นเดียวกับ Copilot CodeWhisperer ยังมาพร้อมกับตัวติดตามอ้างอิงที่สามารถตรวจจับเมื่อผลลัพธ์ที่สร้างขึ้นอาจคล้ายกับข้อมูลการฝึกอบรมเฉพาะ เกี่ยวกับการรวบรวมโค้ดที่ผู้ใช้เขียน Amazon ระบุว่าพวกเขาจะไม่ใช้โค้ดที่เขียนโดยนักพัฒนาเพื่อฝึกโมเดลเพิ่มเติมในช่วงการแสดงตัวอย่าง อย่างไรก็ตาม CodeWhisperer เก็บข้อมูลกิจกรรมของผู้ใช้ที่เกี่ยวข้องกับการตอบสนองของนักพัฒนาต่อคำแนะนำโค้ด เช่น การยอมรับหรือปฏิเสธคำแนะนำ บริการนี้ใช้คำติชมนี้เพื่อทำให้โมเดล ML มีความแม่นยำมากขึ้น เพื่อให้ CodeWhisperer สามารถปรับปรุงคำแนะนำในอนาคตได้
ผู้ชนะคือ..?
GitHub Copilot เป็นผู้ชนะในด้านการสนับสนุนภาษาและ IDE นอกจากนี้ยังมีให้บริการนานกว่านี้และยังไม่ได้ดูตัวอย่างอย่างเป็นทางการ ทำให้นักพัฒนามีเวลามากขึ้นในการแก้ไขจุดบกพร่องและทำให้การกระแทกบนท้องถนนราบรื่นขึ้น การใช้งานต้องใช้เงินลงทุนเล็กน้อย แต่คุณจะได้ผลิตภัณฑ์ที่ใช้งานได้เต็มรูปแบบที่พร้อมใช้งาน
อย่างไรก็ตาม หากคุณทำงานในสภาพแวดล้อม AWS Amazon CodeWhisperer น่าจะเหมาะกับคุณ ฉันชื่นชมความพยายามของ Amazon ในการเป็นผู้ให้บริการระบบคลาวด์รายแรกที่นำเสนอผู้ช่วยเขียนโค้ดอัจฉริยะที่มุ่งเป้าไปที่ผลิตภัณฑ์ของตนเองเป็นส่วนใหญ่ และฉันหวังว่าผู้ให้บริการรายอื่นๆ จะทำตาม (ฉันกำลังดูคุณอยู่ Azure!) นอกจากนี้ การตรวจจับช่องโหว่แบบรวมอาจเป็นเหตุผลที่ดีในการพิจารณา ประการสุดท้าย ข้อเท็จจริงที่ว่ามันฟรีในขณะนี้เป็นสิ่งจูงใจที่ดีอย่างน้อยให้ลองใช้ในขณะที่มันแสดงตัวอย่าง อย่างไรก็ตาม การดำเนินการนี้จะทำให้คุณต้องสมัครและอดทนรอถึงตาคุณ ⏳
สุดท้าย ให้เราใช้เวลาสักครู่เพื่อชื่นชมว่าเทคโนโลยีมาถึงไกลแค่ไหน และเครื่องมือที่น่าทึ่งอะไรที่เราสามารถใช้ในฐานะนักพัฒนาได้ในขณะนี้! ทั้ง GitHub Copilot และ Amazon CodeWhisperer เป็นเทคโนโลยีที่น่าทึ่งซึ่งฉันคาดการณ์ว่าจะเป็นเครื่องมือที่ต้องมีสำหรับนักพัฒนาที่จริงจังในอนาคตอันใกล้นี้ และในขณะที่นักแสดงรายอื่นๆ เช่นGoogleและSalesforceกำลังเริ่มที่จะจุ่มเท้าลงในน้ำ ดูเหมือนว่าเราจะเข้าสู่ยุคใหม่ในไม่ช้าเมื่อพูดถึงการพัฒนาโค้ด
ฉันหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์ ขอบคุณที่อ่าน!
หมายเหตุบรรณาธิการ:
GitHub Copilot มีประโยชน์อย่างมากในงานของฉันในฐานะนักวิทยาศาสตร์ข้อมูล การวิเคราะห์ข้อมูลมักจะทำให้ฉันต้องทดสอบสมมติฐานอย่างรวดเร็ว เนื่องจากโดยทั่วไปแล้วฉันไม่รู้ล่วงหน้าว่าผลลัพธ์จะเป็นอย่างไร ฉันมักจะลงเอยด้วยการเขียนโค้ดที่เกือบจะเหมือนกันจำนวนมาก ซึ่งฉันจะเรียกใช้เพียงครั้งเดียว เพื่อยืนยันหรือปฏิเสธสมมติฐานของฉัน GitHub Copilot เป็นเครื่องมือที่ยอดเยี่ยมในการเร่งกระบวนการนี้ และยังทำงานร่วมกับ IDE ที่ชื่นชอบของนักวิทยาศาสตร์ข้อมูลทุกคนได้ดี นั่นคือ Jupyter Notebook (ใน VS Code) !
อ้างอิง
- GitHub โปรแกรมเมอร์คู่ AI ของคุณ (2022), github.com
- Amazon ผู้ร่วมเขียนโค้ดที่ขับเคลื่อนด้วย ML — Amazon CodeWhisperer — Amazon Web Services (2022), aws.amazon.com
- Amazon, AWS ประกาศเปิดตัว Amazon CodeWhisperer (ตัวอย่าง) (2022), aws.amazon.com
- อ. Desai และ A. Deo ขอแนะนำ Amazon CodeWhisperer ซึ่งเป็นคู่หูการเขียนโค้ดที่ขับเคลื่อนด้วย ML (2022) บล็อก AWS Machine Learning
- S. Bhattacharyya, Battle of AI-coding assistants: GitHub Copilot vs Amazon CodeWhisperer (2022), analyticsindiamag.com
- B. Dickson, GitHub Copilot เผยแพร่สู่สาธารณะแล้ว — นี่คือสิ่งที่คุณต้องรู้ (2022), Venturabeat.com
- F. Lardinois, Amazon เปิดตัว CodeWhisperer ซึ่งเป็นเครื่องมือเขียนโปรแกรมคู่ AI แบบ GitHub Copilot (2022), techcrunch.com
- D. Gershgorn เครื่องมือเข้ารหัสอัตโนมัติของ GitHub ตั้งอยู่บนพื้นฐานทางกฎหมายที่ยังไม่ผ่านการทดสอบ (2021), theverge.com





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)