GitHub Copilot (Technical preview) เป็นระบบที่น่าสนใจมาก ๆ
เป็นระบบที่ใช้งาน OpenAI Codex Model ที่สร้างโดย OpenAI
โดยทำการเรียนรู้รูปแบบต่าง ๆ ของ code จาก GitHub ที่เป็น public repository
ซึ่งตอนนี้สนับสนุนภาษาต่าง ๆ ดังนี้
- Python
- JavaScript
- TypeScript
- Ruby
- Go
มีโครงสร้างดังรูป
จากการใช้งานโดยทั่วไปพบว่า
โดย GitHub Copilot นั้นไม่ใช่แค่การ suggestion หรือ autocomplete code เท่านั้น
แต่ยังวิเคราะห์ context ในตอนนั้น ๆ ด้วย
ทำให้สามารถแนะนำ code ให้ได้ตรงมากยิ่งขึ้น
อีกอย่าง ถ้า code ไหนมันเป็นแบบซ้ำ ๆ
ก็ยิ่งลดเวลาในการเขียน code ไปได้อย่างมาก
ในขณะที่เราเขียน code ไปนั้น
ทาง GitHub Copilot ก็จะแนะนำทางเลือกอื่น ๆ ให้อีกด้วย
ช่วยให้เราเห็นว่า มีวิธีการอื่น ๆ
จากนั้นเราสามารถคิด วิเคราะห์ และเลือกได้ว่า
จะใช้หรือไม่
ทำให้ GitHub Copilot ทำการเรียนรู้เราไปด้วย
ว่าเรานั้นมี style การเขียนแบบไหน
เพื่อจะแนะนำได้ตรงมากยิ่งขึ้น
สิ่งที่ชอบมาก ๆ คือ แนะนำ test library/dependency
ที่เหมาะสมกับ code นั้น ๆ ให้อีกด้วย
ช่วยลดงานไปได้เยอะมาก ๆ
แต่ต้องระวังด้วยว่า code ที่แนะนำหรือ auto suggestion/generate มานั้น
อาจจะไม่สามารถ compile หรือ run ไม่ผ่าน
ดังนั้นเราต้องดูและปรับปรุงหรือแก้ไขอีกด้วย
รวมทั้งอาจจะมี code ที่ใช้ library/dependency ที่ล้าสมัยก็เป็นได้
เพราะว่า code ที่นำมาเรียนรู้ มาจาก public repository
ที่ไม่สามารถควบคุมอะไรได้เลย
อีกเรื่องที่ต้องระวังคือ licence ของ code !!
สิ่งที่เราหรือนักพัฒนาต้องพึงระวังให้มากคือ
ควรต้องเรียนรู้จากคำแนะนำต่าง ๆ จาก GitHub Copilot
เพื่อปรับปรุงความสามารถของเราให้ดียิ่งขึ้น
มิเช่นนั้น มันจะเหมือนกับการไป copy code จาก stack overflow มาใช้งาน
ที่ทำงานได้ตามที่ต้องการ
แต่กลับไม่เข้าใจว่า code เหล่านั้นทำงานอย่างไร