GitHub Copilot: ความประทับใจแรก
(vladiliescu.net)<p>- สิ่งที่รู้สึกหลังจากลองใช้มาสองสามสัปดาห์ <br />
→ "ภายใน 3~5 ปี พวกเราทุกคนจะเขียนคอมเมนต์มากขึ้น ใช้ชื่อที่อธิบายความหมายได้มากขึ้นกับทุกสิ่ง เขียนโค้ดน้อยลงมาก และทำ code review กันนับไม่ถ้วน"<br />
<br />
- ข้อดี <br />
→ โดดเด่นมากในการเขียนโค้ด boilerplate ที่ซ้ำๆ น่าเบื่อ <br />
→ สามารถสร้างโค้ดสำหรับแบ่งชุดข้อมูล รวมถึงการเทรนและประเมินผล ได้ด้วยคอนเท็กซ์เพียงเล็กน้อย<br />
→ "ตอนนี้ไม่ต้องเขียน quick macro แล้ว"<br />
<br />
- ข้อเสีย <br />
→ สำหรับฟีเจอร์ขั้นสูง ความมีประโยชน์ของ Copliot ค่อนข้างก้ำกึ่ง<br />
→ ต้องระวังกับการสร้างโค้ดจำนวนมากที่อาจจะทำสิ่งที่ถูกต้องหรือไม่ถูกต้องก็ได้ <br />
→ บางครั้งแนะนำไลบรารีเวอร์ชันเก่า ใช้โค้ดที่ถูกต้องตามไวยากรณ์ไม่สมบูรณ์ หรือเติมพารามิเตอร์ของอัลกอริทึม ML ที่ไม่มีอยู่จริง <br />
→ "ต้องระมัดระวังอยู่เสมอ"<br />
<br />
[ งานวิจัย ] <br />
ได้รับอินไซต์สำคัญจากบทความวิจัย Codex ของ GPT <br />
<br />
- ความเป็นไปได้ <br />
→ "Codex อาจมีประโยชน์ได้หลายรูปแบบ เช่น ช่วย onboarding ผู้ใช้เข้าสู่ codebase ใหม่ ลดการสลับบริบทของโปรแกรมเมอร์ที่ชำนาญ ให้ผู้ที่ไม่ใช่นักพัฒนาสามารถเขียนสเปกแล้วให้ Codex สร้าง implementation ฉบับร่าง และช่วยด้านการเรียนรู้หรือการสำรวจได้"<br />
→ กล่าวคือ หากมันเรียนรู้ codebase ของบริษัทและแนะนำแพตเทิร์นหรือโมดูลที่ใช้กันทั่วทั้งบริษัทได้ ก็จะช่วยทำให้ Pattern และ Practice เป็นมาตรฐานมากขึ้นได้ (แม้คงไม่เกิดขึ้นในเร็วๆ นี้)<br />
→ อีกทั้งการที่คนที่ไม่ใช่นักพัฒนาสามารถเขียนสเปกได้ก็น่าตื่นเต้นมาก โดยเฉพาะกลุ่ม tester แม้พวกเขาอาจเขียนโค้ดเพื่อทดสอบ API หรือ UI ไม่ได้ แต่สามารถเขียนคำอธิบายว่าอยากทำอะไรได้ ดังนั้นโค้ดส่วนใหญ่ที่พวกเขาต้องการก็น่าจะเรียบง่ายพอที่ Copilot จะเขียนให้ได้ และช่วยเพิ่มผลิตภาพได้มาก ซึ่งแม้แต่ Copilot เวอร์ชันพรีวิวปัจจุบันก็ทำได้ในระดับหนึ่งแล้ว <br />
<br />
- ข้อจำกัด <br />
→ เนื่องจาก Codex อาจเสนอวิธีแก้ที่ไม่ได้ทำงานตามที่ตั้งใจจริงๆ ดังนั้น "code review" จึงสำคัญ <br />
→ นอกจากนี้เพราะ "Automation Bias" (อคติจากระบบอัตโนมัติ) ยิ่ง Copilot ดีขึ้น ความตั้งใจที่จะมองหาบั๊กในโค้ดที่สร้างขึ้นก็จะยิ่งลดลง และบั๊กในโค้ดที่สร้างขึ้นจะยิ่งละเอียดอ่อนและตรวจพบได้ยาก <br />
<br />
- อาจแนะนำโค้ดที่ผิดได้ </p>
1 ความคิดเห็น