สร้างข้อความแจ้งที่มีประสิทธิภาพสําหรับ GitHub Copilot
prompt เป็นคําสั่งภาษาธรรมชาติที่บอก GitHub Copilot ว่าคุณต้องการให้ทําอะไร สามารถใช้พร้อมท์เพื่อถามคําถาม สื่อสารคําขอ หรืออธิบายงาน
ตัวอย่างเช่น พร้อมท์ต่อไปนี้แสดงถึงคําถาม คําขอ และคําอธิบายงาน
Question: How do I create a button that submits a form?
Request: Add a button that opens a modal dialog. The button should be blue with rounded corners.
Task: Build a product page that displays a product title, product image, product description, and price. Product information should be fetched from the attached ProductsList.json file. The price should be formatted as currency. The page should also include a button to add the product to the cart.
คุณภาพของพรอมต์ของคุณส่งผลโดยตรงต่อคุณภาพของการตอบสนองของ GitHub Copilot
อะไรทําให้ข้อความแจ้งที่ดี
การสร้างข้อความแจ้งคุณภาพสูงเป็นสิ่งสําคัญสําหรับการได้รับประโยชน์สูงสุดจาก GitHub Copilot กลยุทธ์ต่อไปนี้จะช่วยคุณสร้างข้อความแจ้งที่สร้างคําตอบที่แม่นยํา เกี่ยวข้อง และมีประโยชน์มากขึ้น
เริ่มใช้งานทั่วไป แล้วระบุ
เมื่อเขียนข้อความแจ้งสําหรับ Copilot ให้เริ่มต้นด้วยคําอธิบายกว้างๆ เกี่ยวกับเป้าหมายหรือสถานการณ์ของคุณ จากนั้นระบุข้อกําหนดเฉพาะ วิธีการนี้ช่วยให้ Copilot มีบริบทที่จําเป็นในขณะที่มั่นใจได้ว่าความต้องการโดยละเอียดของคุณได้รับการตอบสนอง
Example:
Write a function that tells me if a number is prime.
The function should take an integer and return true if the integer is prime.
The function should error if the input is not a positive integer.
ให้ตัวอย่างที่เป็นรูปธรรม
ตัวอย่างเป็นหนึ่งในวิธีที่มีประสิทธิภาพที่สุดในการสื่อสารความตั้งใจของคุณกับ Copilot คุณสามารถให้ข้อมูลอินพุตตัวอย่าง ผลลัพธ์ที่คาดหวัง และแม้แต่ตัวอย่างการใช้งานเพื่อเป็นแนวทางในการทําความเข้าใจของ AI
Example:
Write a function that finds all dates in a string and returns them in an array. Dates can be formatted like:
- 05/02/24
- 05/02/2024
- 5/2/24
- 5/2/2024
- 05-02-24
- 05-02-2024
- 5-2-24
- 5-2-2024
Example usage:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Expected return: ["11/14/2023", "12-1-23"]
แบ่งงานที่ซับซ้อนออกเป็นขั้นตอนที่ง่ายขึ้น
เมื่อเผชิญกับงานที่ซับซ้อนหรือขนาดใหญ่ ให้แยกย่อยออกเป็นส่วนประกอบที่เล็กลงและจัดการได้ วิธีนี้นําไปสู่ผลลัพธ์ที่ดีขึ้นและทําให้ง่ายต่อการแก้ไขข้อบกพร่องและปรับแต่งแต่ละชิ้น
ตัวอย่าง: แทนที่จะขอให้ Copilot สร้างปริศนาค้นหาคําศัพท์ที่สมบูรณ์ ให้แยกย่อย:
Write a function to generate a 10 by 10 grid of lettersWrite a function to find all words in a grid of letters, given a list of valid wordsWrite a function that uses the previous functions to generate a 10 by 10 grid containing at least 10 wordsUpdate the previous function to print the grid and 10 random words from the grid
ขจัดความคลุมเครือ
หลีกเลี่ยงการอ้างอิงที่คลุมเครือและคําศัพท์ที่คลุมเครือซึ่งสามารถตีความได้หลายวิธี ระบุอย่างชัดเจนเกี่ยวกับสิ่งที่คุณกําลังอ้างถึงและสิ่งที่คุณต้องการให้ Copilot ทํา
ตัวอย่างที่ไม่ดี:
- "นี่ทําอะไร" (ไม่ชัดเจนว่า "นี้" หมายถึงอะไร)
- "แก้ไขข้อบกพร่อง" (ไม่ได้ระบุข้อบกพร่องหรือวิธีแก้ไข)
ตัวอย่างที่ดีกว่า:
- "ฟังก์ชัน createUser ทําอะไรได้บ้าง"
- "รหัสในการตอบกลับครั้งสุดท้ายของคุณทําอะไร"
- "แก้ไขข้อผิดพลาดในการตรวจสอบในช่องป้อนอีเมล"
ข้อควรพิจารณาของห้องสมุด:
- หากใช้ไลบรารีที่ไม่ธรรมดา ให้อธิบายวัตถุประสงค์ของไลบรารี
- สําหรับไลบรารีเฉพาะ ให้รวมคําสั่งนําเข้าหรือระบุไลบรารีที่คุณต้องการใช้
ระบุบริบทที่เกี่ยวข้อง
ช่วยให้ Copilot เข้าใจโครงสร้างโครงการและความตั้งใจของคุณโดยการจัดการสภาพแวดล้อมการพัฒนาของคุณอย่างมีประสิทธิภาพ
ใน IDE ของคุณ:
- เปิดไฟล์ที่เกี่ยวข้องและปิดไฟล์ที่ไม่เกี่ยวข้อง
- ไฮไลต์ส่วนโค้ดเฉพาะที่คุณต้องการให้ Copilot อ้างอิง
- ใช้ปุ่มเพิ่ม บริบท ในมุมมองแชทเพื่อแนบไฟล์ สัญลักษณ์ หรือเนื้อหาพื้นที่ทํางานที่เฉพาะเจาะจง
- อ้างอิงบริบทโดยตรงในพรอมต์
#ของคุณด้วย -references เช่น#fileและ#selection.
ใน Copilot Chat:
- อ้างอิงไฟล์หรือบล็อกโค้ดที่เฉพาะเจาะจง
- แนบเอกสารหรือข้อมูลจําเพาะที่เกี่ยวข้อง
- ใช้เส้นทางไฟล์และชื่อฟังก์ชันที่ชัดเจน
ทําซ้ําและปรับแต่ง
อย่าคาดหวังผลลัพธ์ที่สมบูรณ์แบบในการลองครั้งแรก Copilot ทํางานได้ดีที่สุดเมื่อคุณมีส่วนร่วมในการสนทนาแบบวนซ้ํา โดยปรับแต่งคําขอของคุณตามคําตอบที่คุณได้รับ
กลยุทธ์สําหรับการทําซ้ํา:
- หากใช้คําแนะนําแบบอินไลน์ ให้ลบและลองอีกครั้งด้วยข้อความแจ้งที่แก้ไข
- ใน Copilot Chat ให้อ้างอิงการตอบกลับก่อนหน้านี้และขอการแก้ไขเฉพาะ
- สร้างโซลูชันบางส่วนโดยขอให้มีการปรับปรุงที่เพิ่มขึ้น
รักษาประวัติการสนทนาที่เกี่ยวข้อง
Copilot Chat ใช้ประวัติการสนทนาเพื่อทําความเข้าใจบริบท ดังนั้นควรจัดการประวัตินี้อย่างมีกลยุทธ์
แนวทางปฏิบัติแนะนํา:
- เริ่มเธรดใหม่สําหรับงานหรือโครงการต่างๆ
- ลบคําขอที่ไม่เกี่ยวข้องหรือไม่สําเร็จซึ่งอาจทําให้การตอบกลับในอนาคตสับสน
- ให้การสนทนามุ่งเน้นไปที่ฟังก์ชันที่เกี่ยวข้อง
ปฏิบัติตามแนวทางปฏิบัติในการเขียนโค้ดที่ดี
คุณภาพของฐานรหัสที่มีอยู่ของคุณส่งผลต่อความสามารถของ Copilot ในการสร้างคําแนะนําที่เหมาะสม รักษามาตรฐานระดับสูงในโค้ดของคุณเพื่อรับความช่วยเหลือด้าน AI ที่ดีขึ้น
ปัจจัยด้านคุณภาพของโค้ด:
- ใช้รูปแบบและรูปแบบโค้ดที่สอดคล้องกัน
- เลือกชื่อที่สื่อความหมายสําหรับตัวแปรและฟังก์ชัน
- เพิ่มความคิดเห็นที่มีความหมายเพื่ออธิบายตรรกะที่ซับซ้อน
- จัดโครงสร้างโค้ดเป็นส่วนประกอบแบบแยกส่วนที่มีขอบเขตที่ดี
- รวมการทดสอบหน่วยที่ครอบคลุม
Note
คุณสามารถขอให้ Copilot ช่วยปรับปรุงคุณภาพโค้ดของคุณโดยขอความคิดเห็น ปรับโครงสร้างคําแนะนํา หรือแบ่งฟังก์ชันขนาดใหญ่ออกเป็นส่วนเล็กๆ ที่จัดการได้มากขึ้น
ข้อความแจ้งที่ดีคือ:
- ชัดเจน: อธิบายสิ่งที่คุณต้องการ
- เฉพาะเจาะจง: รวมรายละเอียดเลย์เอาต์ ลักษณะการทํางาน หรือสไตล์
- บริบท: อ้างอิงโค้ดหรือโครงสร้างที่มีอยู่
การทําซ้ําตามข้อความแจ้ง
หากการตอบสนองเริ่มต้นของ GitHub Copilot ไม่ตรงกับความคาดหวังของคุณ คุณอาจต้องทําซ้ําตามข้อความแจ้งของคุณ พิจารณากลยุทธ์เหล่านี้:
- แก้ไขข้อความแจ้งให้เฉพาะเจาะจงมากขึ้น
- เพิ่มบริบทลงในแชทเพื่อชี้แจงเป้าหมายหรือข้อกําหนดของคุณ
- ใช้ Copilot Chat เพื่อถามคําถามติดตามผลที่สร้างขึ้นจากคําตอบก่อนหน้านี้
การประเมินและตอบสนองต่อข้อเสนอแนะของ Copilot
การทําความเข้าใจวิธีประเมินคําแนะนําของ Copilot เป็นสิ่งสําคัญสําหรับการเข้ารหัสบรรยากาศที่มีประสิทธิภาพ ไม่ใช่ทุกข้อเสนอแนะจะสมบูรณ์แบบ และการรู้ว่าเมื่อใดควรยอมรับ ปฏิเสธ หรือแก้ไขคําตอบจะช่วยปรับปรุงประสบการณ์การพัฒนาของคุณได้อย่างมาก
เมื่อใดที่ควรยอมรับคําแนะนํา
ยอมรับคําแนะนําของ Copilot เมื่อ:
- ตรงตามความต้องการของคุณ: รหัสทําตามที่คุณร้องขอ
- ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด: ใช้รูปแบบ แบบแผนการตั้งชื่อ และโครงสร้างที่เหมาะสม
- มีโครงสร้างที่ดี: โค้ดสามารถอ่านได้ บํารุงรักษาได้ และจัดรูปแบบอย่างเหมาะสม
- รวมการจัดการข้อผิดพลาดที่เหมาะสม: กรณีขอบและความล้มเหลวที่อาจเกิดขึ้นได้รับการแก้ไข
- ตรงกับสไตล์ของโครงการของคุณ: สอดคล้องกับรูปแบบและแบบแผนของฐานโค้ดที่มีอยู่
ตัวอย่างคําแนะนําที่ดีในการยอมรับ:
พร้อมท์: "สร้างฟังก์ชันเพื่อตรวจสอบที่อยู่อีเมล"
Copilot แนะนํา:
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (typeof email !== 'string') {
throw new Error('Email must be a string');
}
return emailRegex.test(email.toLowerCase());
}
ข้อเสนอแนะนี้ควรได้รับการยอมรับเนื่องจากรวมถึงการตรวจสอบอินพุตการจัดการข้อผิดพลาดและใช้รูปแบบนิพจน์ทั่วไปที่เหมาะสม
เมื่อใดควรปฏิเสธคําแนะนํา
ปฏิเสธคําแนะนําของ Copilot เมื่อพวกเขา:
- อย่าระบุข้อความแจ้งของคุณ: รหัสจะแก้ปัญหาที่แตกต่างจากที่ร้องขอ
- มีช่องโหว่ด้านความปลอดภัย: ใช้แนวทางปฏิบัติที่ไม่ปลอดภัยหรือเปิดเผยข้อมูลที่ละเอียดอ่อน
- ซับซ้อนเกินไป: งานง่ายๆ ที่ดําเนินการด้วยความซับซ้อนที่ไม่จําเป็น
- ใช้วิธีการที่เลิกใช้แล้ว: ใช้ API ที่ล้าสมัยหรือล้าสมัย
- ขาดการจัดการข้อผิดพลาด: อย่าคํานึงถึงสถานการณ์ความล้มเหลวที่อาจเกิดขึ้น
- ละเมิดมาตรฐานการเขียนโค้ด: อย่าปฏิบัติตามแนวทางปฏิบัติที่กําหนดไว้ของทีม
ตัวอย่างข้อเสนอแนะให้ปฏิเสธ:
พร้อมท์: "สร้างฟังก์ชันการตรวจสอบรหัสผ่านที่ปลอดภัย"
ข้อเสนอแนะไม่ดี:
function validatePassword(password) {
return password.length > 6;
}
สิ่งนี้ควรถูกปฏิเสธเนื่องจากง่ายเกินไปสําหรับข้อกําหนดด้านความปลอดภัย และไม่ได้ตรวจสอบความแข็งแกร่งของรหัสผ่านอย่างถูกต้อง
เมื่อใดที่ควรแก้ไขคําแนะนํา
แก้ไขคําแนะนําของ Copilot เมื่อ:
- ส่วนใหญ่ถูกต้อง แต่ต้องปรับเปลี่ยน: ตรรกะหลักคือเสียง แต่รายละเอียดต้องปรับแต่ง
- ต้องการคุณสมบัติเพิ่มเติม: ฟังก์ชันพื้นฐานนั้นดี แต่ต้องมีการปรับปรุง
- มีปัญหาเกี่ยวกับรูปแบบเล็กน้อย: โค้ดใช้งานได้ แต่ไม่ตรงกับการกําหนดลักษณะการจัดรูปแบบของคุณ
- ต้องการชื่อตัวแปรที่แตกต่างกัน: ตรรกะถูกต้อง แต่การตั้งชื่อสามารถปรับปรุงได้
- ต้องการการเพิ่มประสิทธิภาพ: ใช้งานได้จริง แต่อาจมีประสิทธิภาพมากขึ้น
ตัวอย่างคําแนะนําในการแก้ไข:
Copilot แนะนํา:
function calculateTotal(items) {
let total = 0;
for (let i = 0; i < items.length; i++) {
total += items[i].price;
}
return total;
}
การปรับเปลี่ยนของคุณเพื่อการอ่านที่ดีขึ้นและ JavaScript ที่ทันสมัย:
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price, 0);
}
กลยุทธ์ในการปรับปรุงคําแนะนํา
เมื่อคําแนะนําไม่ถูกต้อง ให้ลองใช้วิธีการเหล่านี้:
ปรับแต่งข้อความแจ้งของคุณ:
- เพิ่มข้อกําหนดที่เฉพาะเจาะจงมากขึ้น
- รวมตัวอย่างของอินพุต/เอาต์พุตที่คาดหวัง
- ระบุสไตล์การเขียนโปรแกรมหรือเฟรมเวิร์กที่คุณใช้
ขอแก้ไข:
- "ทําให้ฟังก์ชันก่อนหน้านี้แข็งแกร่งยิ่งขึ้นด้วยการจัดการข้อผิดพลาด"
- "ลดความซับซ้อนของโค้ดที่คุณเพิ่งเขียน"
- "เพิ่มประเภท TypeScript ให้กับฟังก์ชันก่อนหน้า"
สร้างทีละน้อย:
- เริ่มต้นด้วยเวอร์ชันพื้นฐานและขอการปรับปรุง
- เพิ่มคุณสมบัติทีละรายการแทนที่จะขอทุกอย่างในคราวเดียว
- ทดสอบการทําซ้ําแต่ละครั้งก่อนที่จะย้ายไปยังการปรับปรุงครั้งต่อไป
Tip
เมื่อแก้ไขคําแนะนํา ให้เก็บส่วนที่ทํางานได้ดีและเจาะจงเกี่ยวกับสิ่งที่ต้องเปลี่ยนแปลง สิ่งนี้ช่วยให้ Copilot เข้าใจการตั้งค่าของคุณและให้คําแนะนําในอนาคตที่ดีขึ้น
Summary
การสร้างข้อความแจ้งที่มีประสิทธิภาพสําหรับ GitHub Copilot เป็นสิ่งสําคัญสําหรับการเพิ่มศักยภาพสูงสุดในการเข้ารหัสบรรยากาศ ด้วยการเริ่มต้นด้วยคําอธิบายทั่วไป ให้ตัวอย่างที่เป็นรูปธรรม แบ่งงานที่ซับซ้อน และรักษาการสื่อสารที่ชัดเจน คุณจะสามารถแนะนํา Copilot ให้สร้างโค้ดคุณภาพสูงที่ตรงกับความต้องการของคุณได้ การทําซ้ําข้อความแจ้งและทําความเข้าใจวิธีประเมินคําแนะนําจะช่วยปรับปรุงประสบการณ์การพัฒนาของคุณให้ดียิ่งขึ้น ช่วยให้คุณใช้ประโยชน์จากความช่วยเหลือ AI ได้อย่างมีประสิทธิภาพในขณะที่ยังคงควบคุมกระบวนการเขียนโค้ด