ตรวจสอบข้อความแจ้งและคําหลัก GitHub Copilot
อินเทอร์เฟซการแชทของ GitHub Copilot ใช้การประมวลผลภาษาธรรมชาติและการเรียนรู้ของเครื่องเพื่อตีความข้อความแจ้งของคุณและให้คําตอบที่เกี่ยวข้อง พร้อมท์ของคุณและบริบทที่คุณระบุจําเป็นสําหรับการสร้างคําตอบที่ถูกต้องและมีประโยชน์
คุณภาพพรอมต์
เมื่อคุณเขียนข้อความแจ้งสําหรับ GitHub Copilot ให้พิจารณาแนวทางต่อไปนี้เพื่อปรับปรุงคุณภาพของคําตอบ
พร้อมท์ที่คุณส่งควรชัดเจน กระชับ และเฉพาะเจาะจง ตัวอย่างเช่น แทนที่จะถามว่า "ฉันจะใช้ฟังก์ชันนี้ได้อย่างไร" คุณสามารถถามว่า "คุณช่วยอธิบายวิธีการทํางานของ
shoppingCart.jsฟังก์ชันในcalculateTotalไฟล์ได้ไหม"เมื่อคุณจําเป็นต้องเขียนพร้อมท์ที่ยาวขึ้น ควรเขียนพร้อมท์โดยใช้ประโยคสั้น ๆ หลายประโยค เริ่มต้นด้วยภาพรวมที่อธิบายเป้าหมายของคุณ จากนั้นให้รายละเอียดที่เฉพาะเจาะจง
พิจารณาแบ่งพร้อมท์ที่ซับซ้อนออกเป็นส่วนที่มีขนาดเล็กกว่าและสามารถจัดการได้มากขึ้น การแบ่งส่วนพร้อมท์ที่ซับซ้อนช่วยให้ AI เข้าใจเจตนาของคุณ และให้คําตอบที่ถูกต้องมากขึ้น พร้อมท์ที่ตามมาสามารถสร้างบนรายการก่อนหน้า ช่วยให้คุณสามารถปรับปรุงคําขอของคุณและรับคําตอบที่เฉพาะเจาะจงมากขึ้น การทํางานกับโปรแกรมเมอร์เพียร์นั้นคล้ายกับการทํางานกับบุคคล เป็นการดีกว่าที่จะจัดกรอบการสนทนาของคุณก่อน แล้วอธิบายรายละเอียดเฉพาะแทนที่จะส่งทุกอย่างในคําขอเดียวที่อาจตีผิด
ใช้คําสําคัญที่พร้อมท์
นอกเหนือจากการประมวลผลข้อความภาษาธรรมชาติแล้ว GitHub Copilot Chat ยังใช้คีย์เวิร์ดเพื่อช่วยคุณระบุบริบทและเจตนาของข้อความแจ้ง คีย์เวิร์ดคือคําหรือวลีพิเศษที่มีความหมายเฉพาะในบริบทของ GitHub Copilot Chat ด้วยการใช้คําหลักคุณสามารถช่วยให้ AI เข้าใจสิ่งที่คุณกําลังขอและให้คําตอบที่เกี่ยวข้องมากขึ้น
GitHub Copilot ใช้คีย์เวิร์ดต่อไปนี้เพื่อช่วยคุณระบุบริบทและเจตนาของข้อความแจ้ง
ผู้เข้าร่วมแชท: ผู้เข้าร่วมแชทเป็นเหมือนผู้เชี่ยวชาญในสาขาเฉพาะที่ช่วยให้ GitHub Copilot สร้างการตอบกลับได้ดีขึ้น ผู้เข้าร่วมแชทจะถูกระบุโดยใช้
@สัญลักษณ์คําสั่งเครื่องหมายทับ: คําสั่งเครื่องหมายทับช่วยในการอธิบายจุดประสงค์ (เป้าหมายหรือวัตถุประสงค์) ของพร้อมท์ของคุณ หนึ่งในภารกิจของ GitHub Copilot Chat ในการตอบคําถามคือการกําหนดเจตนา ทําความเข้าใจว่าคุณต้องการทําอะไร คําสั่งเครื่องหมายทับสามารถช่วยทําให้เจตนาของคุณชัดเจนขึ้นได้
ตัวแปรแชท: ตัวแปรแชทให้บริบทเฉพาะของโดเมน คุณสามารถอ้างอิงตัวแปรแชทในพรอมต์แชทของคุณโดยใช้
#สัญลักษณ์ เมื่อใช้ตัวแปรแชท คุณสามารถระบุให้เจาะจงมากขึ้นเกี่ยวกับบริบทที่คุณรวมไว้ในพร้อมท์แชทของคุณ
ผู้เข้าร่วมการสนทนา
GitHub Copilot Chat ให้การตอบกลับที่ดีขึ้นเมื่อเข้าใจบริบทที่คุณสนใจและใช้ทรัพยากรที่ดีที่สุดได้ คุณช่วยให้ GitHub Copilot Chat สร้างการตอบกลับที่ดีขึ้นได้โดยการเพิ่มผู้เข้าร่วม Chat ลงในข้อความแจ้ง ผู้เข้าร่วมการสนทนาเป็นเหมือนผู้เชี่ยวชาญในเขตข้อมูลเฉพาะที่ให้คําตอบที่ดีขึ้น ผู้เข้าร่วมแชทจะถูกระบุโดยใช้ @ สัญลักษณ์
ปัจจุบัน GitHub Copilot Chat รองรับผู้เข้าร่วมการแชทในตัวต่อไปนี้:
-
@workspace: ผู้เข้าร่วม@workspaceสามารถช่วยตอบคําถามเกี่ยวกับโค้ดในพื้นที่ทํางานของคุณ หรือแนะนําวิธีปรับโครงสร้างหรือปรับปรุงโค้ดของคุณ -
@vscode: ผู้เข้าร่วม@vscodeรู้เกี่ยวกับคําสั่งและคุณสมบัติในตัวแก้ไข Visual Studio Code และสามารถช่วยคุณใช้งานได้ -
@terminal: ผู้เข้าร่วม@terminalสามารถช่วยเกี่ยวกับเปลือกเทอร์มินัลในตัวและเนื้อหาได้ -
@github: ผู้เข้าร่วม@githubสามารถช่วยรับคําตอบจากการค้นหาเว็บ การค้นหาโค้ด และฐานความรู้ขององค์กรของคุณ
คุณสามารถนําหน้าข้อความแจ้งของคุณด้วยผู้เข้าร่วมแชทที่เฉพาะเจาะจงเพื่อช่วยให้ GitHub Copilot สร้างการตอบกลับที่เกี่ยวข้องมากขึ้น
คำสั่งเครื่องหมายทับ
คําสั่งเครื่องหมายทับช่วยให้ GitHub Copilot Chat เข้าใจเจตนาของคุณเมื่อคุณถามคําถาม คุณกําลังเรียนรู้เกี่ยวกับฐานโค้ด (/explain) คุณต้องการความช่วยเหลือในการแก้ไขปัญหา (/fix) หรือคุณกําลังสร้างกรณีทดสอบ (/tests) หรือไม่? การแจ้งให้ GitHub Copilot Chat ทราบว่าคุณกําลังพยายามทําอะไรอยู่ จะช่วยให้สามารถปรับแต่งการตอบกลับงานของคุณ และให้คําสั่ง การตั้งค่า และข้อมูลโค้ดที่เป็นประโยชน์ได้
ผู้เข้าร่วมการสนทนามักจะถูกรวมด้วยคําสั่งเครื่องหมายทับ คําสั่งเครื่องหมายทับเป็นวิธีที่กระชับในการอธิบายเจตนาของคุณไปยังผู้เข้าร่วมการสนทนา
/explainคําสั่งเครื่องหมายทับมักจะมาพร้อมกับ@workspaceผู้เข้าร่วมแชท การรวมกันของผู้เข้าร่วมการสนทนาและคําสั่งเครื่องหมายทับเป็นวิธีที่มีประสิทธิภาพในการชี้แจงเจตนาของคุณ
ตัวอย่างเช่น พิจารณาพร้อมท์ตัวอย่างต่อไปนี้:
Create a new workspace that uses Node.js, the Express framework, the Pug template engine, and TypeScript.
GitHub Copilot อาจตีความข้อความแจ้งนี้เป็นการร้องขอสําหรับโครงการโค้ดใหม่ที่สร้างขึ้นโดยใช้เทคโนโลยีที่ระบุ แต่ GitHub Copilot จะเข้าใจข้อความแจ้งต่อไปนี้ที่ใช้คําสําคัญได้ง่ายกว่า:
@workspace /new Node.js Express Pug TypeScript
ถ้าคุณป้อนพร้อมท์ที่สอง GitHub Copilot เสนอโครงสร้างไดเรกทอรีต่อไปนี้ รายการไฟล์สามารถใช้เพื่อดูตัวอย่างไฟล์ที่เสนอ และปุ่ม สร้างพื้นที่ทํางาน สามารถใช้เพื่อสร้างไฟล์ในโฟลเดอร์ใหม่ได้
ตัวอย่างของคําสั่งเครื่องหมายทับที่มีอยู่ภายใน:
-
/help: รับความช่วยเหลือเกี่ยวกับการใช้ GitHub Copilot -
/doc: สร้างเอกสารโค้ด -
/clear: เริ่มเซสชันแชทใหม่ -
/explain: อธิบายวิธีการทํางานของโค้ดที่เลือก -
/tests: สร้างการทดสอบหน่วยสําหรับรหัสที่เลือก -
/fix: เสนอการแก้ไขสําหรับรหัสที่เลือก -
/new: รหัสนั่งร้านสําหรับพื้นที่ทํางานใหม่ ใช้เฉพาะพร้อมท์การสนทนาเป็นบริบทเท่านั้น -
/newNotebook: สร้าง Jupyter Notebook ใหม่ ใช้เฉพาะพร้อมท์การสนทนาเป็นบริบทเท่านั้น
ตัวอย่างที่ใช้ผู้เข้าร่วมการสนทนารวมกับคําสั่งเครื่องหมายทับ:
-
@workspace /explain: สร้างคําอธิบายของพื้นที่ทํางานทั้งหมด -
@workspace /fix(หรือ/fix): เสนอการแก้ไขปัญหาในโค้ดที่เลือก -
@workspace /tests(หรือ/tests): สร้างการทดสอบหน่วยสําหรับรหัสที่เลือก -
@vscode /api(หรือ/api): สอบถามเกี่ยวกับการพัฒนาส่วนขยาย Visual Studio Code -
@workspace /new(หรือ/new): รหัสนั่งร้านสําหรับพื้นที่ทํางานใหม่ -
@workspace /newNotebook(หรือ/newNotebook): สร้าง Jupyter Notebook ใหม่
ตัวแปรแชท
ตัวแปรแชทจะใช้เพื่อระบุบริบท คุณสามารถอ้างอิงตัวแปรแชทในพรอมต์แชทของคุณโดยใช้ # สัญลักษณ์ ตัวอย่างเช่น ตัวแปรประกอบด้วย #selection การเลือกข้อความในตัวแก้ไขที่ใช้งานอยู่
เมื่อใช้ตัวแปรแชท คุณสามารถระบุให้เจาะจงมากขึ้นเกี่ยวกับบริบทที่คุณรวมไว้ในพร้อมท์แชทของคุณ ตัวอย่างเช่น ข้อความแจ้ง "อัลกอริทึมการเรียงลําดับใดที่ใช้ใน #selection" จะเน้นคําขอแชทที่ข้อมูลโค้ดที่เลือก
ผู้เข้าร่วมแชท เช่น @workspace หรือ สามารถ @vscodeมีส่วนร่วมในตัวแปรแชทที่ให้บริบทเฉพาะโดเมนได้
ตัวอย่างของตัวแปรแชทที่มีอยู่ภายในคือ:
-
#editor: ซอร์สโค้ดที่มองเห็นได้ในตัวแก้ไขที่ใช้งานอยู่ -
#selection: การเลือกปัจจุบันในตัวแก้ไขที่ใช้งานอยู่ เนื้อหาตัวแก้ไขจะรวมอยู่ในบริบทมุมมองแชทโดยปริยาย -
#<file or folder name>: พิมพ์ # ตามด้วยชื่อไฟล์หรือโฟลเดอร์ เพื่อเพิ่มเป็นบริบทการแชท -
#codebase: เพิ่มเนื้อหาพื้นที่ทํางานที่เกี่ยวข้องเป็นบริบทในข้อความแจ้งของคุณ -
#terminalSelection: การเลือกเทอร์มินัลที่ใช้งานอยู่ -
#terminalLastCommand: คําสั่งเรียกใช้ล่าสุดของเทอร์มินัลที่ใช้งานอยู่
ความแตกต่างระหว่าง @workspace และ #codebaseคืออะไร ?
ตามแนวคิดทั้งสองอย่าง @workspace และ #codebase ช่วยให้คุณสามารถถามคําถามเกี่ยวกับฐานรหัสทั้งหมดของคุณได้ อย่างไรก็ตาม มีความแตกต่างบางอย่างในวิธีที่คุณสามารถใช้:
เกี่ยวกับ @workspace คําหลัก:
-
@workspaceคีย์เวิร์ดคือผู้เข้าร่วมแชทที่ทุ่มเทให้กับการตอบคําถามเกี่ยวกับโค้ดเบสของคุณ -
@workspaceคําหลักจะควบคุมพรอมต์ของผู้ใช้และใช้ฐานรหัสเพื่อให้คําตอบ - คีย์เวิร์ดไม่สามารถ
@workspaceเรียกใช้เครื่องมืออื่นได้ - คีย์เวิร์ดนี้
@workspaceสามารถใช้ได้เมื่อคุณใช้โหมดถามตัวแทนเท่านั้น - ตัวอย่าง: "
@workspace how can I validate a date?"
เกี่ยวกับ #codebase คําหลัก:
-
#codebaseคําหลักเป็นเครื่องมือที่ทําการค้นหาฐานรหัสตามข้อความแจ้งของผู้ใช้ และเพิ่มรหัสที่เกี่ยวข้องเป็นบริบทในพรอมต์แชท - เมื่อคุณใช้
#codebaseคําสําคัญ แบบจําลองภาษาจะยังคงอยู่ในการควบคุมและสามารถรวม#codebaseกับเครื่องมืออื่นๆ สําหรับการแก้ไขสถานการณ์ได้ -
#codebaseคีย์เวิร์ดสามารถใช้ได้ในโหมดแชททั้งหมด (ถาม ตัวแทน และวางแผน) - ตัวอย่าง: "
add a tooltip to this button, consistent with other button #codebase", "add unit tests and run them #codebase"
GitHub แนะนําให้ใช้ #codebase ในข้อความแจ้งการแชทของคุณ เนื่องจากให้ความยืดหยุ่นมากกว่า
สรุป
อินเทอร์เฟซการแชทของ GitHub Copilot ใช้การประมวลผลภาษาธรรมชาติและการเรียนรู้ของเครื่องเพื่อตีความข้อความแจ้งของคุณและให้คําตอบที่เกี่ยวข้อง พร้อมท์ของคุณและบริบทที่คุณระบุจําเป็นสําหรับการสร้างคําตอบที่ถูกต้องและมีประโยชน์ คุณสามารถปรับปรุงคุณภาพของการตอบกลับโดยใช้พร้อมท์ที่ชัดเจน กระชับ และเฉพาะเจาะจง แบ่งพร้อมท์ที่ซับซ้อนออกเป็นส่วนเล็ก ๆ และใช้คําสําคัญ เช่น ผู้เข้าร่วมในการสนทนา คําสั่งเครื่องหมายทับ และตัวแปรการสนทนา