ทำไมโปรแกรมเมอร์ควรกลัว GitHub Copilot
สำหรับผู้ที่ไม่ทราบGitHub Copilotเป็นเครื่องมือเติมโค้ดอัตโนมัติที่ขับเคลื่อนด้วย AI ซึ่งพัฒนาโดยOpenAI ร่วมกับGitHubและMicrosoft มันถูกสร้างขึ้นบน GPT รองรับภาษาการเขียนโปรแกรมที่หลากหลายรวมถึง Python และ JavaScript
บทความนี้ไม่ได้อ้างอิงจากการสำรวจจำนวนมากของโปรแกรมเมอร์หลายพันคน มันขึ้นอยู่กับประสบการณ์ของโปรแกรมเมอร์คนหนึ่ง — เช่นฉัน ดังนั้น ข้อสรุปของฉันไม่ใช่เป็นการคาดคะเนที่มั่นใจและเชิงปริมาณ แต่เป็นการเตือนแบบโบกมือและเชิงคุณภาพมากกว่า ฉันหวังว่าสิ่งที่ฉันจะพูดส่วนใหญ่จะไม่เกิดขึ้น
การเขียนโปรแกรมสองประเภท
เมื่อฉันเขียนโค้ด ฉันทำสองสิ่ง: ซึ่งฉันจะระบุว่าเป็น "ศิลปะ" และ "น่าเบื่อ" หรือ Type-A และ Type-B
- การเข้ารหัสแบบ A เกี่ยวข้องกับการสร้างสิ่งใหม่หรือวิธีใหม่ในการทำสิ่งเก่า ฉันใช้โลก "ศิลปะ" เพราะมันเกี่ยวข้องกับความคิดสร้างสรรค์โดยกำเนิด
- สิ่งที่ประเภท B เกี่ยวข้องกับงานเชิงกลซึ่งไม่น่าสนใจมากนัก แต่ต้องทำ ตัวอย่างเช่น การเขียน unittests อาจใช้กลไกเล็กน้อย คุณทราบอินพุตและเอาต์พุต และคุณต้องแน่ใจว่าครอบคลุมเส้นทางการประมวลผลทั้งหมด
ฉันทำงานกับ Copilot อย่างไร
ประสบการณ์การทำงานของฉันกับ Copilot จนถึงตอนนี้ เป็นไปตามรูปแบบต่อไปนี้:
While Programming Tasks is not complete:
Nuwan codes some Type-A stuff.
Copilot “completes” the related Type-B stuff.
Nuwan checks what Copilot completed.
ก่อนใช้ Copilot ฉันใช้เวลาเขียนโค้ดประมาณ 80% กับงาน Type-B โดยเหลืออีก 20% สำหรับงาน Type-A 100% ที่อธิบายในที่นี้คือ "เวลาเข้ารหัส" อย่างเคร่งครัด ไม่ใช่ “เวลาออกแบบ” หรือ “เวลาคิด” ในทางเทคนิคแล้ว เวลาทั้งหมดสำหรับ Type-A นั้นมากกว่านั้นมาก
ตอนนี้ หมายความว่าเวลาที่ต้องใช้ในการเขียนโค้ดลดลงถึง 80% หรือในขณะเดียวกัน ฉันทำงานเสร็จได้มากขึ้น 5 เท่า
ทำไมโปรแกรมเมอร์ต้องกลัว
โปรแกรมเมอร์เกือบทั้งหมดสามารถทำงาน Type-A และ Type-B ได้ แต่มีความแปรปรวนมากน้อยเพียงใดและมากน้อยเพียงใด
ตัวอย่างเช่น พิจารณาองค์กรสุดโต่งซึ่งมีโปรแกรมเมอร์ห้าคน คนหนึ่งทำงานแบบ Type-A เท่านั้น ในขณะที่อีกสี่คนทำงานแบบ Type-B เท่านั้น ตอนนี้ Copilot จะส่งผลกระทบต่อองค์กรดังกล่าวอย่างไร? โปรแกรมเมอร์คนแรกจะสามารถทำสิ่งที่พวกเขาทำได้เหมือนเมื่อก่อน เพราะ Copilot ไม่สามารถทำสิ่งที่พวกเขาทำ แต่อีกสี่ตัวที่เหลือจะถูกแทนที่ด้วย Copilot
อย่างที่ฉันพูดไป นี่เป็นกรณีที่รุนแรง แต่ทุกองค์กรจะมีเวอร์ชันข้างต้นบางเวอร์ชัน
ข้อสรุปและขั้นตอนต่อไป
- งานเขียนโค้ดส่วนใหญ่ตอนนี้เป็นแบบ Type-B เป็นผลให้โปรแกรมเมอร์ส่วนใหญ่ใช้เวลาส่วนใหญ่ไปกับงาน Type-B; อาจมากกว่านั้นอย่างไม่เป็นสัดส่วน เนื่องจากโปรแกรมเมอร์ Type-B มีราคาถูกกว่าและมีจำนวนมากกว่า งานนี้จะไหลไปที่ Copilot ดังนั้น ถ้าเราเป็นโปรแกรมเมอร์Type-B เราต้องแน่ใจว่าเราใช้เวลาทำงานแบบ Type-A มากขึ้น และถ้าเราไม่รู้วิธีเราก็ต้องพยายามและเรียนรู้
- แม้ว่าผลผลิตโดยรวมจะเพิ่มขึ้นอย่างมาก แต่กำไรที่ได้รับจะรู้สึกไม่เท่าเทียมกันอย่างมาก บริษัทที่ผลิตทรัพย์สินทางปัญญา (IP) มูลค่าสูงจะได้รับผลกำไรสูงสุด บริษัทที่ทำการพัฒนาประเภท BPO (เสื่อมโทรมไปแล้ว) จะถูกกำจัดออกไปโดยสิ้นเชิง หากเราอยู่ในประเภทหลัง นี้ เราต้องเปลี่ยนเกียร์อย่างรวดเร็ว
- ถ้าเราเป็นองค์กรเราควรจ้างคนประเภท A มากขึ้น มีการขาดแคลนอยู่แล้ว และในไม่ช้า การขาดแคลนจะยิ่งแย่ลงไปอีก
- เราต้องหาวิธีสร้างโปรแกรมเมอร์ Type-A ให้มากขึ้น หลักสูตรปริญญาที่ผลิตนักวิทยาศาสตร์คอมพิวเตอร์และช่องทางการจัดหาอื่น ๆ จะต้องได้รับการปฏิรูปที่สำคัญ น่าเศร้าที่สิ่งนี้ไม่สามารถเกิดขึ้นได้ในชั่วข้ามคืน และการปฏิรูปใดๆ จะต้องใช้เวลาอย่างน้อย 2-4 ปีจึงจะเริ่มเกิดผล และใช้เวลานานกว่านั้นจึงจะบรรลุศักยภาพสูงสุด
- ในระยะสั้น จะเกิดเกมผลรวมเป็นศูนย์ซึ่งความต้องการที่เพิ่มขึ้นจะไล่ล่าโปรแกรมเมอร์ Type-A ที่มีจำนวนจำกัด กรณีที่เลวร้ายที่สุดคือการแข่งขันจ้างอาวุธ





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)