วันนี้ไอโคเน็กซ์จะพามาดูการใช้งาน GitHub Copilot แบบ In Action กัน หากคุณยังไม่รู้ว่า GitHub Copilot คืออะไร ผมขอแนะนำให้อ่านบทความนี้ก่อนครับ GitHub Copilot เครื่องมือช่วยงานนักพัฒนาระบบ
ก่อนอื่นต้องบอกเลยว่าผมเคยมีโอกาสได้ลองใช้ GitHub Copilot มาแล้วครั้งนึงช่วงแรกๆ ที่ทาง Microsoft เปิดให้บริการ แต่ ณ ตอนนั้น มันยังแนะนำ code ผิดๆ ถูกๆ ไม่ค่อยฉลาดสักเท่าไหร่ เลยยังไม่ได้ให้ความสนใจมากนัก ต่อมาช่วงปลายปี 2023 ที่ทาง Microsoft เพิ่มฟีเจอร์ GitHub Copilot Chat เข้ามา ผมได้ลองใช้งาน GitHub Copilot อีกครั้งในช่วงต้นปี 2024 ทำให้พบว่านอกจากมันจะฉลาดขึ้นมากๆ แล้ว ยังช่วยลดระยะเวลาเขียน code ได้จริงอีกด้วย แต่เนื่องด้วยมันเป็นบริการที่ไม่ฟรี ทำให้เวลาผมไปแนะนำใครก็มักจะจบลงแค่บทสนทนาเท่านั้น
แต่แล้ววันนี้ก็มาถึง ช่วงปลายปี 2024 ทาง Microsoft ก็ได้ประกาศออกมาว่าสามารถใช้งาน GitHub Copilot ได้ฟรีแบบมีข้อจำกัดแล้ว ดังนั้น เรามาลองใช้กันเถอะ (ในบทความนี้ขอยกตัวอย่างการใช้งานผ่าน Visual Studio)
สิ่งที่ต้องเตรียม
- สมัคร GitHub Account
- ติดตั้ง Visual Studio 2022
ตั้งค่าบัญชี
เมื่อเตรียมตัวพร้อมแล้ว ก็มาเริ่มกันเลย
1. เปิด Visual Studio คลิกที่ File > Account Settings

2. คลิกที่ Add แล้วเลือก GitHub

3. เมื่อคลิกแล้วโปรแกรมจะเปิด web browser ขึ้นมา ให้เรา login GitHub account หรือถ้า login ไว้แล้ว ก็จะแสดงหน้าจอตามรูปด้านล่าง ให้เราคลิก Continue ได้เลย

4. เมื่อคลิกแล้ว Github จะมีการแจ้งผลการผูกบัญชีให้ทราบ เมื่อเจอรูปนี้ ก็สามารถปิด web browser ได้เลย

5. กลับมาที่ Visual Studio จะพบว่ามี GitHub account ของเราแสดงขึ้นมา เป็นอันเรียบร้อย

ทดลองใช้งาน GitHub Copilot
1. ทดลองใช้งาน Code Completion
ก่อนอื่นต้องบอกว่า ยิ่งเราเขียน code ได้ดีเท่าไหร่ การแนะนำจาก Copilot ก็จะยิ่งดีเท่านั้น ดังนั้น หากคุณเป็น junior developer ผมขอแนะนำให้คุณสั่งสมประสบการณ์การเขียน code ให้พื้นฐานดีก่อน ซึ่งเป็นสิ่งที่ควรทำและมีความสำคัญมากๆ คุณสามารถเรียนรู้ได้ทั้งจากแหล่งเรียนรู้ปกติของคุณ หรือจะให้ AI สร้าง code ตามคำสั่ง แล้วพยายามทำความเข้าใจก็ได้ แต่หากนำ AI มาใช้เพื่อหวังผลลัพธ์เรื่อง code ที่ทำงานได้เท่านั้น คุณจะไม่ได้พัฒนาความสามารถตัวเองเลย
แต่หากคุณผ่านการเขียน code มาอย่างยาวนาน ทำงานได้โดยไม่มี AI เมื่อคุณได้ใช้มัน จะพบว่า มันสามารถลดเวลาการเขียน code ลงได้เป็นอย่างมาก ทำให้คุณมีเวลาไปทำในส่วนอื่นมากมาย เช่น รีวิว code, ทบทวน code structure, พัฒนาทักษะตัวเองในด้านอื่น และอีกสารพัด
มาครับ ได้เวลาทดลองใช้ของจริงละ
ผมกำลังจะเขียนฟังก์ชัน GetRaidDetail ซึ่งเป็นฟังก์ชันที่จะดึงค่าจาก database ออกไปแสดงผลบนหน้าเว็บ

ซึ่งค่า result จะยังไม่ใช่ RaidDetailViewModel ทำให้เราต้องทำการ map object ก่อน โดยปกติผมก็จะเขียน code เพื่อ map object เอง แต่พอมี Copilot มาช่วย มันรู้ว่าเรากำลังจะ map object ดังนั้นเมื่อเรากดปุ่ม Enter เพื่อเตรียมเขียน code เจ้า Copilot ก็จะทำการเริ่มเดาสิ่งที่เราต้องการทั้งจากชื่อฟังก์ชัน และตัวแปร result

ปกติผมจะใช้เวลาในการดูว่า property ใน result และ RaidDetailViewModel มีอะไรบ้าง และเริ่มลงมือเขียน code ใช้เวลาคร่าวๆ ประมาณ 2 นาที แต่พอมี Copilot แล้ว มันใช้เวลาเพียงแค่ 3 วินาทีในการคาดเดาและสร้างตัวอย่าง code รอให้เราเห็นเป็นสีเทาๆ ซึ่งถูกต้องเหมือนที่ต้องการเป๊ะเลย สิ่งที่เราต้องทำก็คือกดปุ่ม Tab เพื่อให้ Copilot ใส่ code ให้เรา เป็นอันเสร็จสิ้น ไวมาก
2. ทดลองใช้งาน Fix with Copilot
ในการเขียน code ของเรา บางครั้ง Visual Studio จะขีดเส้นใต้ code บางส่วนให้เราเห็นว่า code อาจมีปัญหาบางอย่างได้ เราควรแก้ไข โดยปกติ เราจะอ่านดูว่า Visual Studio ให้คำแนะนำว่าอย่างไร แล้วเราก็หาวิธีปรับปรุง code
แต่ครั้งนี้เราจะลองการปรับปรุง code โดยให้ Copilot ช่วย มาดูกันเลย

จากรูปข้างบน เป็น code ในการดึงข้อมูลจาก database แต่ก็มีคำเตือนว่า อาจจะเป็นค่า null ได้นะ ดังนั้นคุณควรปรับปรุง code นี้

ให้เราเอาเมาส์ไปชี้ที่สัญลักษณ์หลอดไฟและเลือก Fix with Copilot ได้เลย เมื่อคลิกแล้วก็รอให้ Copilot คิดสักครู่หนึ่ง จากนั้น ก็จะได้รับคำแนะนำออกมาประมาณนี้

ถ้าเราเห็นว่าสิ่งที่ Copilot แนะนำออกมา สามารถใช้งานได้จริง (ซึ่งใช้ได้จริงมากกว่า 95% เท่าที่ผมใช้งานมา) ก็สามารถคลิกที่ปุ่ม Accept เพื่อให้มันแก้ code ให้เราได้เลย เป็นอันเรียบร้อย
3. ทดลองใช้งาน Copilot Chat
เป็นฟีเจอร์ใหม่ที่ผมพบว่ามีประโยชน์มากๆ และผมก็ได้เรียนรู้จากมันมากเช่นกัน ด้วยความที่มันทำงานภายใน Visual Studio จึงช่วยเราเรื่อง code ได้ดีกว่า AI ภายนอก ทั้งในแง่การขอให้มันช่วยปรับปรุง code อธิบาย code หรือแม้กระทั่ง fix error
สำหรับการเปิดหน้าต่าง Copilot Chat ขึ้นมาให้ทำดังนี้
1. ในโปรแกรม Visual Studio จะสังเกตเห็น GitHub Copilot ที่มุมซ้ายบน เมื่อคลิกจะพบกับตัวเลือก Open Chat Window

2. จะพบช่องแชทแสดงขึ้นมา

3. เบื้องต้น หากเราคิดไม่ออกว่าจะใช้ Copilot ทำอะไร หรือไม่รู้ว่ามันทำอะไรได้ ให้ลองพิมพ์ / เพื่อดูคำสั่งเบื้องต้นที่มี ซึ่ง ณ วันที่เขียนบทความนี้มีด้วยกัน 6 คำสั่ง คือ doc, explain, fix, help, optimize, และ tests

อันที่ผมได้ใช้แล้วคือ
explain: เป็นการให้ Copilot อธิบายการทำงานของ code ที่เราระบุ
fix: เป็นการให้ Copilot ช่วยแก้ error ที่เกิดขึ้น
optimize: เป็นการให้ Copilot ช่วยทำการปรับปรุง code ให้ทำงานได้ดีขึ้น
tests: เป็นการใช้ Copilot ช่วยสร้าง unit tests ให้กับ code ที่เราเลือก
และหากเราพิมพ์ # มันจะแสดงชื่อไฟล์ต่างๆ ที่เราเขียนมาให้เลือก

จากรูปคือการสั่งให้ Copilot ช่วยอธิบายการทำงานของ code ในไฟล์ HomeService.cs และรูปต่อไปนี้เป็นตัวอย่างผลลัพธ์แบบย่อๆ ที่ได้รับจาก Copilot ซึ่งจะมีการอธิบายทุกฟังก์ชันที่เราเขียนไว้ในไฟล์นั้นๆ และสรุปโดยย่อให้เราอ่านในตอนท้าย


GitHub Copilot ตัวฟรีมีข้อจำกัดอย่างไรบ้าง
สรุปแบบสั้นๆ GitHub Copilot ตัวฟรี จะสามารถใช้งาน Code Completion ได้ฟรี 2,000 ครั้งต่อเดือน และใช้ Copilot Chat ได้ 50 แชทต่อเดือน ส่วนตัวเสียเงิน จะไม่มีข้อจำกัด 2 เรื่องนี้ ส่วนการเปรียบเทียบแบบละเอียดสามารถดูได้ที่ Copilot Plans
เป็นยังไงกันบ้างครับ หลังจากได้เห็นตัวอย่างการใช้งานคร่าวๆ แล้ว ด้วยความที่มันใช้งานฟรี ผมไม่เห็นเหตุผลที่เราจะไม่ลองใช้มันสักหน่อย และคาดว่าอนาคตมันจะฉลาดขึ้นเรื่อยๆ และทำให้เราทำงานสะดวกขึ้นไปอีก และนอกจากนี้ยังมีอีกหลายๆ ฟีเจอร์ที่ผมยังไม่ได้พูดถึง ซึ่งสามารถอ่านเพิ่มเติมได้ที่ ฟีเจอร์ต่างๆ ของ GitHub Copilot
ที่มา: Dev Blogs