วิธีสอน GitHub Copilot ให้เข้าใจ Codebase และกฎของโปรเจกต์

บริบท (Context) มีความสำคัญอย่างยิ่งในการทำงานร่วมกับ AI เนื่องจากทุก codebase ต่างมีกฎประจำบ้านของตัวเอง ไม่ว่าจะเป็นโครงสร้าง component, สคริปต์ที่ต้องรัน ตลอดจนข้อตกลง (conventions) ต่างๆ ที่ใช้กับ framework และประเภทไฟล์ที่หลากหลาย
แม้ Copilot จะช่วยคุณแก้ไขโปรเจกต์ได้ แต่จะทำงานได้ดีที่สุดเมื่อเข้าใจกฎเหล่านั้นด้วย ความรู้เหล่านี้สามารถจัดเก็บไว้ใน repository เพื่อให้ Copilot ดึงข้อมูลไปใช้ได้โดยอัตโนมัติ ช่วยลดภาระที่คุณต้องคอยอธิบายมาตรฐาน สคริปต์ และเวิร์กโฟลว์เดิมๆ ทุกครั้งที่เริ่มงานใหม่
ในบทความซีรีส์ GitHub Copilot app สำหรับผู้เริ่มต้นตอนนี้ เราจะมาดู 4 วิธีในการปรับแต่ง Copilot ให้เข้ากับโปรเจกต์ของคุณ:
- Custom instructions: สื่อสารข้อตกลงที่ Copilot ควรปฏิบัติตาม
- Agent skills: รวบรวมขั้นตอนที่ต้องทำซ้ำๆ ไว้เป็นชุด
- Custom agents: มอบคำแนะนำเฉพาะทางสำหรับงานขนาดใหญ่
- Model Context Protocol (MCP) servers: เชื่อมต่อ Copilot เข้ากับเครื่องมือและแหล่งข้อมูลภายนอกเพื่อขยายขอบเขตความสามารถ
มาดูกันว่าแต่ละส่วนทำงานอย่างไรและจะนำมาใช้งานร่วมกันได้อย่างไร
เริ่มต้นด้วย custom instructions
สมมติว่าคุณต้องการให้ Copilot เพิ่มขนาดหน้าแบบกำหนดเอง (custom page size) ให้กับแอปพลิเคชัน การแก้ไขโค้ดเป็นเพียงส่วนหนึ่งของงาน แต่โค้ดใหม่ต้องเป็นไปตามรูปแบบที่ทีมของคุณใช้อยู่ด้วย
Repository custom instructions ช่วยให้บริบทพื้นฐานแก่ Copilot ผ่านไฟล์ .github/copilot-instructions.md เพื่อกำหนดคำแนะนำที่ใช้กับทั้ง repository เช่น สถาปัตยกรรมที่เลือกใช้, ข้อตกลงการตั้งชื่อ หรือมาตรฐานการทดสอบ
นอกจากนี้ คุณยังสามารถสร้างไฟล์คำแนะนำเฉพาะเส้นทาง (path-specific) ไว้ใน .github/instructions โดยใช้ฟิลด์ applyTo เพื่อบอก Copilot ว่าคำแนะนำนี้จะมีผลเมื่อใด ซึ่งช่วยให้คุณรักษามาตรฐานหลักไว้ได้ในที่เดียวโดยไม่ต้องบังคับให้ทุกไฟล์ต้องใช้รูปแบบเดียวกันทั้งหมด
รวมขั้นตอนที่ทำซ้ำได้เป็น agent skills
Custom instructions เหมาะสำหรับมาตรฐานทั่วไป แต่คำแนะนำบางอย่างจะมีผลเฉพาะเมื่อ Copilot ทำงานเฉพาะด้าน เช่น การตรวจสอบคุณภาพ (quality checks), การเตรียม release หรือการดีบั็กเวิร์กโฟลว์ที่ล้มเหลว
นั่นคือหน้าที่ของ agent skills ซึ่งเป็นโฟลเดอร์ที่บรรจุคำแนะนำ สคริปต์ และทรัพยากรที่ Copilot จะโหลดมาใช้เมื่อเกี่ยวข้อง โดย Project-level skills จะถูกเก็บไว้ใน .github/skills แยกตามโฟลเดอร์ย่อย
ตัวอย่างเช่น โฟลเดอร์ .github/skills/quality-checks อาจมีไฟล์ SKILL.md ที่ระบุว่า Copilot ควรใช้ skill นี้เมื่อใด, ใช้สคริปต์ใดรันการทดสอบและ linting รวมถึงวิธีแก้ปัญหาที่พบบ่อย ซึ่งช่วยให้ Copilot ตัดสินใจได้เองว่าจะใช้คำสั่งใดตามกระบวนการที่โปรเจกต์กำหนดไว้
ใช้ custom agent สำหรับงานเฉพาะทางที่กว้างขึ้น
งานบางอย่างมีความซับซ้อนเกินกว่าจะเป็นแค่ขั้นตอนเดียว เช่น การตรวจสอบการเข้าถึง (accessibility review) ที่ต้องเช็กทั้ง component, template และ style ในหลายไฟล์พร้อมกัน
Custom agents ช่วยให้คุณสร้าง Copilot เวอร์ชันเฉพาะทางสำหรับงานเหล่านี้ได้ โดยโปรไฟล์ของ agent ในระดับ repository จะอยู่ใน .github/agents ซึ่งสามารถกำหนดวัตถุประสงค์, เครื่องมือ และบริบทที่เกี่ยวข้องสำหรับงานที่ต้องดึงข้อมูลจากหลายแหล่งได้
เชื่อมต่อ Copilot เข้ากับเครื่องมือภายนอกด้วย MCP servers
ในขณะที่ instructions, skills และ agents ช่วยให้ Copilot ทำงานภายในโปรเจกต์ได้ดีขึ้น MCP servers จะช่วยขยายขอบเขตให้เข้าถึงเครื่องมือภายนอกได้
MCP servers เชื่อมต่อ Copilot เข้ากับบริการและแหล่งข้อมูลภายนอก เช่น documentation server สำหรับคำแนะนำของ framework หรือ server อย่าง Playwright ที่ช่วยให้ Copilot เปิดและโต้ตอบกับแอปพลิเคชันผ่านเบราว์เซอร์ได้เหมือนที่มนุษย์ทำ เพื่อตรวจสอบว่าอินเทอร์เฟซทำงานได้ถูกต้องตามคาด
เลือกประเภทการปรับแต่งที่เหมาะสม
การปรับแต่งแต่ละประเภทแก้ปัญหาต่างกัน แต่จะมีประสิทธิภาพสูงสุดเมื่อใช้ร่วมกัน:
- Custom instructions: กำหนดข้อตกลงทั่วไปทั่วทั้ง repository หรือเฉพาะไฟล์
- Agent skills: รวมขั้นตอนทำงานซ้ำๆ ให้ Copilot เรียกใช้ตามสถานการณ์
- Custom agents: มอบความเชี่ยวชาญเฉพาะด้านสำหรับงานที่ซับซ้อนและกว้างขวาง
- MCP servers: เชื่อมต่อกับเครื่องมือและบริการภายนอกเพื่อเพิ่มขีดความสามารถ
สิ่งที่ควรนำไปปรับใช้
การมอบบริบทของโปรเจกต์ให้ Copilot เริ่มต้นง่ายๆ ด้วย 4 คำถาม:
- ข้อตกลงใดที่ต้องคอยอธิบายซ้ำๆ?
- ขั้นตอนใดที่ต้องทำซ้ำบ่อยๆ?
- งานซับซ้อนใดที่ควรมี agent เฉพาะทาง?
- เครื่องมือภายนอกใดที่ Copilot จำเป็นต้องเข้าถึง?
หากไม่แน่ใจว่าจะเริ่มอย่างไร สามารถศึกษาตัวอย่าง instructions, skills, agents และอื่นๆ ได้ที่ Awesome Copilot เพื่อนำมาปรับใช้กับมาตรฐานของทีมคุณ
เริ่มจากจุดเล็กๆ โดยเลือกหนึ่งข้อตกลงที่ต้องอธิบายบ่อยที่สุด ใส่ลงใน .github/copilot-instructions.md แล้วรอดูว่า Copilot จะช่วยงานคุณในครั้งถัดไปได้อย่างไร
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
