การใช้ตัวแทนการเข้ารหัส GitHub Copilot อย่างมีความรับผิดชอบบน GitHub.com
เรียนรู้วิธีใช้เอเจนต์การเข้ารหัส Copilot บน GitHub.com อย่างมีความรับผิดชอบโดยทําความเข้าใจวัตถุประสงค์ ความสามารถ และข้อจํากัด
ในตอนท้ายของหน่วยนี้ คุณจะสามารถ:
- ทําความเข้าใจวัตถุประสงค์ ความสามารถ และข้อจํากัดของตัวแทนการเข้ารหัส Copilot บน GitHub.com
- ใช้แนวทางปฏิบัติในการใช้งานอย่างมีความรับผิดชอบ: การกําหนดขอบเขตงาน การรักษาความปลอดภัยสภาพแวดล้อม และการตรวจสอบผลลัพธ์
- ตระหนักถึงมาตรการรักษาความปลอดภัย ความเสี่ยง และการบรรเทาผลกระทบ และตําแหน่งที่จะปรับปรุงประสิทธิภาพ
เกี่ยวกับ Copilot coding agent บน GitHub.com
Copilot coding agent เป็นตัวแทนการพัฒนาซอฟต์แวร์แบบอัตโนมัติและแบบอะซิงโครนัสที่รวมอยู่ใน GitHub ตัวแทนสามารถรับงานจากปัญหาหรือจาก Copilot Chat สร้างคําขอดึงข้อมูล แล้วทําซ้ําคําขอดึงข้อมูลเพื่อตอบสนองต่อข้อคิดเห็น
ตัวแทนการเข้ารหัส Copilot สามารถสร้างการเปลี่ยนแปลงที่ปรับให้เหมาะกับคุณตามคําอธิบายและการกําหนดค่าของคุณ รวมถึงงานต่างๆ เช่น การแก้ไขข้อบกพร่อง การใช้คุณสมบัติใหม่ที่เพิ่มขึ้น การสร้างต้นแบบ เอกสารประกอบ และการบํารุงรักษาฐานโค้ด หลังจากสร้างคําขอดึงข้อมูลเริ่มต้นแล้ว ตัวแทนสามารถทําซ้ํากับคุณตามคําติชมและบทวิจารณ์ของคุณ
ขณะทํางาน เอเจนต์จะสามารถเข้าถึงสภาพแวดล้อมการพัฒนาชั่วคราวของตัวเอง ซึ่งสามารถเปลี่ยนแปลงโค้ด ทําการทดสอบอัตโนมัติ และเรียกใช้ linters ได้ ตัวแทนได้รับการประเมินในภาษาโปรแกรมที่หลากหลาย โดยมีภาษาอังกฤษเป็นภาษาหลักที่รองรับ
วิธีการทํางานของเอเจนต์ (แบบ end-to-end)
การประมวลผลที่รวดเร็ว
งานที่มอบให้กับ Copilot ผ่านปัญหา ความคิดเห็นคําขอดึงข้อมูล หรือข้อความแชทของ Copilot จะรวมกับข้อมูลตามบริบทที่เกี่ยวข้องอื่นๆ เพื่อสร้างข้อความแจ้ง อินพุตสามารถอยู่ในรูปแบบของภาษาธรรมชาติธรรมดา ข้อมูลโค้ด หรือรูปภาพ
การวิเคราะห์แบบจําลองภาษา
จากนั้นพรอมต์จะถูกส่งผ่านโมเดลภาษาขนาดใหญ่ ซึ่งจะวิเคราะห์อินพุตเพื่อช่วยให้ตัวแทนให้เหตุผลกับงานและใช้ประโยชน์จากเครื่องมือที่จําเป็น
การสร้างการตอบสนอง
โมเดลภาษาสร้างการตอบสนองตามการวิเคราะห์พรอมต์ การตอบกลับนี้อาจอยู่ในรูปแบบของคําแนะนําภาษาธรรมชาติและคําแนะนําโค้ด
การจัดรูปแบบผลลัพธ์
เมื่อเอเจนต์เสร็จสิ้นการเรียกใช้ครั้งแรก จะอัปเดตคําอธิบายคําขอดึงข้อมูลด้วยการเปลี่ยนแปลงที่ทํา ตัวแทนอาจรวมข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากรที่ไม่สามารถเข้าถึงได้ และให้คําแนะนําเกี่ยวกับขั้นตอนในการแก้ไข
คุณสามารถให้ข้อเสนอแนะแก่ตัวแทนได้โดยแสดงความคิดเห็นภายในคําขอดึงข้อมูลหรือกล่าวถึงตัวแทน (@copilot) อย่างชัดเจน จากนั้นตัวแทนจะส่งคําติชมนั้นไปยังแบบจําลองภาษาอีกครั้งเพื่อการวิเคราะห์เพิ่มเติม เมื่อตัวแทนทําการเปลี่ยนแปลงตามคําติชมเสร็จสมบูรณ์ จะตอบกลับความคิดเห็นของคุณด้วยการเปลี่ยนแปลงที่อัปเดต
Copilot มีจุดประสงค์เพื่อมอบโซลูชันที่เกี่ยวข้องมากที่สุดสําหรับการแก้ไขปัญหางาน อย่างไรก็ตาม อาจไม่ได้ให้คําตอบที่คุณต้องการเสมอไป คุณมีหน้าที่รับผิดชอบในการตรวจสอบและตรวจสอบการตอบกลับที่สร้างโดย Copilot เพื่อให้แน่ใจว่าถูกต้องและเหมาะสม นอกจากนี้ ในฐานะที่เป็นส่วนหนึ่งของกระบวนการพัฒนาผลิตภัณฑ์ของเรา GitHub ดําเนินการจัดทีมสีแดง (การทดสอบ) เพื่อทําความเข้าใจและปรับปรุงความปลอดภัยของตัวแทน
กรณีการใช้งานสําหรับตัวแทนการเข้ารหัส Copilot
- การบํารุงรักษา Codebase: การแก้ไขความปลอดภัย การอัปเกรดการพึ่งพา และการปรับโครงสร้างใหม่ตามเป้าหมาย
- เอกสาร: การอัปเดตและการสร้างเอกสารใหม่
- การพัฒนาคุณสมบัติ: การใช้คําขอคุณลักษณะที่เพิ่มขึ้น
- การปรับปรุงความครอบคลุมของการทดสอบ: การพัฒนาชุดทดสอบเพิ่มเติมสําหรับการจัดการคุณภาพ
- การสร้างต้นแบบโครงการใหม่: แนวคิดใหม่ของกรีนฟิลด์
การปรับปรุงประสิทธิภาพสําหรับตัวแทนการเข้ารหัส Copilot
เพื่อเพิ่มประสิทธิภาพและแก้ไขข้อจํากัด ให้ใช้มาตรการเหล่านี้:
ตรวจสอบให้แน่ใจว่างานของคุณมีขอบเขตที่ดีโดยระบุ:
- คําอธิบายที่ชัดเจนของปัญหาที่ต้องแก้ไขหรืองานที่จําเป็น
- เกณฑ์การยอมรับที่สมบูรณ์ว่าโซลูชันที่ดีมีลักษณะอย่างไร (ตัวอย่างเช่น ควรมีการทดสอบหน่วยหรือไม่)
- คําแนะนําหรือตัวชี้เกี่ยวกับไฟล์ที่ต้องเปลี่ยนแปลง
ปรับแต่งประสบการณ์ของคุณด้วยบริบทเพิ่มเติม
ตัวแทนการเข้ารหัส Copilot ใช้ประโยชน์จากพรอมต์ ความคิดเห็น และโค้ดของที่เก็บเป็นบริบทเมื่อสร้างการเปลี่ยนแปลงที่แนะนํา ปรับปรุงผลลัพธ์โดยการเพิ่ม คําสั่ง Copilot แบบกําหนดเอง เพื่อให้เอเจนต์เข้าใจวิธีสร้าง ทดสอบ และตรวจสอบความถูกต้องของการเปลี่ยนแปลง
การปรับแต่งที่เป็นประโยชน์อื่น ๆ :
- การปรับแต่งสภาพแวดล้อมการพัฒนาสําหรับตัวแทนการเข้ารหัส GitHub Copilot
- การปรับแต่งหรือปิดใช้งานไฟร์วอลล์สําหรับตัวแทนการเข้ารหัส GitHub Copilot
- การขยายเอเจนต์การเข้ารหัส GitHub Copilot ด้วย Model Context Protocol (MCP)
ใช้ตัวแทนการเข้ารหัส Copilot เป็นเครื่องมือ ไม่ใช่การเปลี่ยน
ตรวจสอบและทดสอบเนื้อหาที่สร้างโดยตัวแทนเสมอเพื่อให้แน่ใจว่าตรงตามความต้องการของคุณและปราศจากข้อผิดพลาดหรือข้อกังวลด้านความปลอดภัยก่อนที่จะรวมเข้าด้วยกัน
ใช้แนวทางปฏิบัติในการเขียนโค้ดและการตรวจสอบโค้ดที่ปลอดภัย
แม้ว่าตัวแทนการเข้ารหัส Copilot จะสามารถสร้างโค้ดที่ถูกต้องตามหลักไวยากรณ์ได้ แต่ก็อาจไม่ปลอดภัยเสมอไป ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดสําหรับการเข้ารหัสที่ปลอดภัยต่อไป (หลีกเลี่ยงความลับแบบฮาร์ดโค้ด ป้องกันช่องโหว่ในการฉีด) และใช้การทดสอบอย่างเข้มงวด การสแกน IP และการตรวจสอบช่องโหว่
ให้ คําติชม
หากคุณพบปัญหาหรือข้อจํากัดใดๆ ให้ใช้ไอคอนนิ้วโป้งด้านล่างการตอบกลับของเจ้าหน้าที่หรือแบ่งปันคําติชมในฟอรัมการสนทนาของชุมชน
ติดตามข่าวสารล่าสุด
ตัวแทนการเข้ารหัส Copilot กําลังพัฒนา ตรวจสอบความเสี่ยงด้านความปลอดภัยใหม่ๆ และแนวทางปฏิบัติที่ดีที่สุดเมื่อเกิดขึ้น
มาตรการรักษาความปลอดภัยสําหรับตัวแทนการเข้ารหัส Copilot
การหลีกเลี่ยงการยกระดับสิทธิ์
- ตัวแทนการเข้ารหัส Copilot จะตอบสนองต่อการโต้ตอบจากผู้ใช้ที่มีสิทธิ์ เขียน เท่านั้น
- เวิร์กโฟลว์การดําเนินการที่ทริกเกอร์โดย PR ของตัวแทนต้องได้รับการอนุมัติจากผู้ใช้ที่มีสิทธิ์ในการเขียนก่อนที่จะเรียกใช้
- อักขระที่ซ่อนอยู่ (ไม่ได้แสดงผลบน GitHub.com) จะถูกกรองเพื่อลดความเสี่ยงในการฉีดพร้อมท์
การจํากัดสิทธิ์ของ Copilot
- ตัวแทนเข้าถึงที่เก็บที่กําลังสร้าง PR เท่านั้น ไม่สามารถเข้าถึงที่เก็บอื่น
- การพุชจะจํากัดเฉพาะสาขาที่มีชื่อขึ้นต้นด้วย copilot/ (ไม่ใช่สาขาเริ่มต้นของคุณ)
- เอเจนต์ไม่มีสิทธิ์เข้าถึงข้อมูลลับหรือตัวแปรของ org/repo Actions ในขณะรันไทม์ เฉพาะความลับ/ตัวแปรที่เพิ่มไปยังสภาพแวดล้อม copilot เท่านั้นที่จะถูกส่งผ่านไปยังเอเจนต์
การป้องกันการขโมยข้อมูล
ไฟร์วอลล์จะเปิดใช้งานโดยค่าเริ่มต้นเพื่อป้องกันการขโมยโค้ดหรือข้อมูลที่ละเอียดอ่อนโดยไม่ได้ตั้งใจหรือเป็นอันตราย ดู การปรับแต่งหรือปิดใช้งานไฟร์วอลล์สําหรับตัวแทนการเข้ารหัส GitHub Copilot
ข้อจํากัดของตัวแทนการเข้ารหัส Copilot
ประสิทธิภาพอาจแตกต่างกันไปขึ้นอยู่กับฐานรหัสและอินพุตของคุณ โปรดคํานึงถึงข้อจํากัดเหล่านี้:
- ขอบเขตและคุณภาพที่จํากัด: LLM อาจไม่จัดการกับโครงสร้างโค้ดหรือภาษาที่คลุมเครือ คุณภาพจะแตกต่างกันไปตามความครอบคลุมของภาษา
- อคติที่อาจเกิดขึ้น: ข้อมูลการฝึกอบรมและบริบทที่ดึงมาอาจรวมถึงอคติ ตัวแทนอาจเอนเอียงไปทางภาษาหรือสไตล์บางอย่าง
- ความเสี่ยงด้านความปลอดภัย: โค้ดที่สร้างขึ้นจะขึ้นอยู่กับบริบทของที่เก็บและอาจเปิดเผยข้อมูลที่ละเอียดอ่อนหากไม่ได้รับการตรวจสอบ จําเป็นต้องมีการตรวจสอบอย่างละเอียด
- รหัสไม่ถูกต้อง: โค้ดอาจดูถูกต้อง แต่ผิดความหมาย/ไวยากรณ์หรือไม่สอดคล้องกับเจตนา ตรวจสอบความพอดี ลวดลาย และสไตล์
- รหัสสาธารณะ: ตัวแทนอาจสร้างการจับคู่/ใกล้เคียงกับรหัสสาธารณะแม้ว่าจะตั้งค่า "บล็อก" ไว้ก็ตาม อาจไม่มีการอ้างอิง
- กฎหมาย/ข้อบังคับ: ตรวจสอบให้แน่ใจว่าปฏิบัติตามภาระผูกพันที่เกี่ยวข้อง หลีกเลี่ยงการใช้งานที่ต้องห้ามภายใต้ข้อกําหนดในการให้บริการและจรรยาบรรณ