ข้อมูล GitHub Copilot

เสร็จสมบูรณ์เมื่อ

ในหน่วยนี้ เราจะอธิบายวิธีที่ GitHub Copilot จัดการข้อมูลสำหรับสภาพแวดล้อม ฟีเจอร์ และการกำหนดค่าที่แตกต่างกัน

การจัดการข้อมูลสำหรับคำแนะนำโค้ดของ GitHub Copilot

GitHub Copilot ในตัวแก้ไขโค้ดจะไม่เก็บพร้อมท์ใดๆ เช่น โค้ด หรือบริบทอื่นๆ ที่ใช้เพื่อให้คำแนะนำในการฝึกโมเดลพื้นฐาน โดยจะละทิ้งพร้อมท์เหล่านั้นทันทีหลังจากที่ส่งคำแนะนำกลับมา

สมาชิกแต่ละคนของ GitHub Copilot สามารถเลือกที่จะไม่แชร์พร้อมท์กับ GitHub ได้ ซึ่งระบบจะนำไปใช้เพื่อปรับปรุงโมเดลพื้นฐานของ GitHub แทน

การจัดการข้อมูลสำหรับ GitHub Copilot Chat

GitHub Copilot Chat จะทำหน้าที่เป็นแพลตฟอร์มแบบโต้ตอบได้ ซึ่งช่วยให้นักพัฒนาสามารถโต้ตอบแบบการสนทนากับผู้ช่วย AI เพื่อรับความช่วยเหลือในการเขียนโค้ดได้ ต่อไปนี้คือขั้นตอนที่ GitHub Copilot Chat ดำเนินการซึ่งอาจแตกต่างจากฟีเจอร์อื่นๆ เช่น การเติมโค้ดให้สมบูรณ์:

  • การจัดรูปแบบ: Copilot จะจัดรูปแบบการตอบสนองที่สร้างขึ้นอย่างรอบคอบเพื่อการนำเสนอที่เหมาะสมภายในอินเทอร์เฟซแชท โดยจะไฮไลต์ส่วนย่อยของโค้ดเพื่อให้อ่านได้ง่ายขึ้นและอาจมีตัวเลือกสำหรับการผสานรวมเข้ากับโค้ดของคุณโดยตรง Copilot นำเสนอรูปแบบการตอบสนองในหน้าต่าง Copilot Chat ภายใน IDE เพื่อช่วยให้คุณสามารถตรวจสอบและโต้ตอบกับข้อมูลที่ให้ไว้ได้อย่างง่ายดาย
  • การมีส่วนร่วมของผู้ใช้: คุณสามารถมีส่วนร่วมอย่างกระตือรือร้นกับการตอบสนองได้โดยการถามคำถามติดตามผล ขอคำชี้แจง หรือให้ข้อมูลเพิ่มเติม อินเทอร์เฟซแชทจะรักษาประวัติการสนทนาเพื่อช่วยให้ทำความเข้าใจบริบทในการโต้ตอบครั้งต่อไปได้ง่ายขึ้น
  • การเก็บข้อมูล: สำหรับ Copilot Chat ที่ใช้ภายนอกตัวแก้ไขโค้ด GitHub มักจะเก็บพร้อมท์ คำแนะนำ และบริบทการสนับสนุนไว้เป็นเวลา 28 วัน นโยบายการเก็บข้อมูลเฉพาะสำหรับ Copilot Chat ภายในตัวแก้ไขโค้ดอาจแตกต่างกันออกไป

เช่นเดียวกับ CLI, Mobile และ GitHub Copilot Chat บน GitHub.com

ประเภทพร้อมท์ที่รองรับโดย GitHub Copilot Chat

GitHub Copilot Chat จะประมวลผลพร้อมท์ที่เกี่ยวข้องกับการเขียนโค้ดในรูปแบบต่างๆ ซึ่งแสดงให้เห็นถึงความสามารถรอบด้านในการเป็นผู้ช่วยเขียนโค้ดแบบการสนทนา ประเภทการป้อนข้อมูลที่พบบ่อยมีดังต่อไปนี้:

  • คำถามโดยตรง: คุณสามารถถามคำถามเฉพาะเกี่ยวกับแนวคิดในการเขียนโค้ด ไลบรารี หรือวิธีการแก้ไขปัญหาได้ ตัวอย่างเช่น "ฉันจะใช้อัลกอริทึมการเรียงลำดับด่วนใน Python ได้อย่างไร" หรือ "ทำไมคอมโพเนนต์ React ของฉันจึงไม่แสดงผล"
  • คำขอที่เกี่ยวข้องกับโค้ด: คุณสามารถขอการสร้าง การปรับเปลี่ยน หรือคำอธิบายสำหรับโค้ดได้ ตัวอย่างเช่น "เขียนฟังก์ชันเพื่อคำนวณแฟกทอเรียล" "แก้ไขข้อผิดพลาดนี้ในโค้ดของฉัน" หรือ "อธิบายส่วนย่อยของโค้ดนี้"
  • คิวรีแบบเปิดปลาย: คุณสามารถสำรวจแนวคิดในการเขียนโค้ดหรือขอคำแนะนำทั่วไปได้โดยถามคำถามปลายเปิด เช่น "แนวทางปฏิบัติที่ดีที่สุดในการเขียนโค้ดที่เรียบร้อยคืออะไร" หรือ "ฉันจะเพิ่มประสิทธิภาพของแอปพลิเคชัน Python ได้อย่างไร"
  • พร้อมท์ตามบริบท: คุณสามารถระบุส่วนย่อยของโค้ดหรืออธิบายสถานการณ์ในการเขียนโค้ดเฉพาะเพื่อขอความช่วยเหลือที่ปรับให้เหมาะสมได้ ตัวอย่างเช่น "นี่คือส่วนหนึ่งของโค้ดของฉัน คุณช่วยแนะนำการปรับปรุงได้หรือไม่" หรือ "ฉันกำลังสร้างแอปพลิเคชันเว็บ คุณช่วยฉันเรื่องกระบวนการรับรองความถูกต้องได้หรือไม่"

ความสามารถของ Copilot Chat ในการประมวลผลประเภทอินพุตต่างๆ จะช่วยเพิ่มประโยชน์ในฐานะคู่หูเขียนโค้ดที่ครอบคลุม

หน้าต่างบริบทแบบจำกัด

ภาพประกอบของหน้าต่างบริบท GitHub Copilot

แม้ว่า GitHub Copilot Chat จะโดดเด่นในการทำความเข้าใจและตอบสนองต่อพร้อมท์ แต่การรับรู้ข้อจำกัดของหน้าต่างบริบทก็ถือเป็นเรื่องสำคัญ นี่หมายถึงจำนวนโค้ดโดยรอบและข้อความที่โมเดลสามารถประมวลผลพร้อมกันเพื่อสร้างคำแนะนำได้ หน้าต่างบริบทของ GitHub Copilot มักจะมีโค้ดตั้งแต่ประมาณ 200-500 บรรทัด หรือมากถึงสองสามพันโทเค็น ข้อจำกัดนี้อาจแตกต่างกันไปตามการใช้งานเฉพาะและเวอร์ชันของ Copilot ที่ใช้

ขณะนี้ Copilot Chat สามารถทำความเข้าใจและตอบสนองต่อคิวรีของผู้ใช้ได้ดียิ่งขึ้นด้วยหน้าต่างบริบทขนาด 4,000 โทเค็น เมื่อเทียบกับ Copilot มาตรฐาน

แม้ว่าจะมีความก้าวหน้าเหล่านี้ แต่คุณควรระวังขอบเขตบริบทเมื่อสร้างคำสั่งด้วย การแบ่งปัญหาที่ซับซ้อนให้เป็นคิวรีที่เล็กลงและมีเป้าหมายชัดเจนยิ่งขึ้น หรือการให้ส่วนย่อยของโค้ดที่เกี่ยวข้อง สามารถเพิ่มความสามารถของโมเดลในการให้การตอบสนองที่แม่นยำและเป็นประโยชน์อย่างมากได้