ผลข้างเคียงที่น่าประหลาดใจของการใช้ความช่วยเหลือจาก AI ในการเขียนโค้ดได้เกิดขึ้นในชุมชนนักพัฒนา นั่นคือโปรแกรมเมอร์หลายคนไม่สามารถฟังเพลงขณะทำงานได้อีกต่อไป การแลกเปลี่ยนที่ไม่คาดคิดนี้เน้นย้ำให้เห็นว่าปัญญาประดิษฐ์กำลังเปลี่ยนแปลงลักษณะของงานพัฒนาซอฟต์แวร์อย่างพื้นฐาน
การเปลี่ยนแปลงนี้แสดงถึงการหันหลังให้กับสถานะการไหลของการเขียนโค้ดแบบดั้งเดิมที่นักพัฒนาหลายคนชื่นชอบ ก่อนหน้านี้ โปรแกรมเมอร์สามารถใส่หูฟังและเข้าสู่จังหวะการเขียนโค้ดแบบสมาธิเมื่อพัฒนาฟีเจอร์ที่เข้าใจดีแล้ว กระบวนการนี้เกี่ยวข้องกับการรู้ว่าต้องแก้ไขไฟล์ไหนและต้องสร้างโครงสร้างข้อมูลแบบใด จากนั้นจึงดำเนินการตามแผนในลักษณะเชิงเส้นที่เกือบจะเป็นการบำบัด
ความต้องการทางปัญญาใหม่ของการพัฒนาด้วยความช่วยเหลือจาก AI
การเขียนโค้ดด้วย AI ได้เปลี่ยนขั้นตอนการดำเนินการที่มีจังหวะนี้ให้เป็นสิ่งที่แตกต่างไปโดยสิ้นเชิง นั่นคือการสร้างพรอมต์ นักพัฒนาตอนนี้ใช้เวลาในการเขียนคำอธิบายรายละเอียดที่มีแบบจำลองทางจิตของพวกเขาและปล่อยให้ AI สร้างโค้ด กระบวนการนี้ต้องการการประเมินผลลัพธ์อย่างต่อเนื่อง การปรับปรุงพรอมต์ และการเริ่มต้นใหม่บ่อยครั้งเมื่อผลลัพธ์ไม่ตรงกับความคาดหวัง
ชุมชนได้สังเกตว่าเวิร์กโฟลว์ใหม่นี้ต้องการความเข้มข้นทางปัญญามากกว่า ไม่เหมือนการเขียนโค้ดแบบดั้งเดิมที่นักพัฒนาสามารถปรับเปลี่ยนทิศทางระหว่างการดำเนินการ การเขียนโค้ดด้วย AI ต้องการความชัดเจนล่วงหน้าและการตัดสินใจระดับสูงอย่างต่อเนื่อง นักพัฒนาหลายคนรายงานว่าพวกเขาสแกนโค้ดในระดับที่สูงกว่ามากแทนที่จะเจาะลึกไปยังฟังก์ชันเฉพาะ ทำให้บางคนลดขนาดฟอนต์ในเอดิเตอร์เพื่อให้แสดงโค้ดได้มากขึ้นบนหน้าจอ
ผลลัพธ์ที่หลากหลายในโปรเจกต์ประเภทต่างๆ
ผลกระทบแตกต่างกันอย่างมากขึ้นอยู่กับประเภทของงานที่ทำ ยูทิลิตี้ง่ายๆ ไปป์ไลน์ข้อมูล และแอปพลิเคชัน CRUD เห็นการปรับปรุงผลผลิตที่น่าทึ่งที่สุด นักพัฒนารายงานว่าสามารถสร้างสคริปเปอร์ สคีมาฐานข้อมูล และ API endpoint ได้ในเวลาไม่กี่นาทีแทนที่จะเป็นหลายชั่วโมง สมาชิกชุมชนคนหนึ่งอธิบายว่า AI เหมือนกับการทำงานกับโค้ดเดอร์ระดับจูเนียร์หรือที่ปรึกษาต่างประเทศที่พูดตกลงเสมอ
อย่างไรก็ตาม ตรรกะทางธุรกิจที่ซับซ้อนและระบบแบ็กเอนด์ขนาดใหญ่นำเสนอความท้าทายที่แตกต่างกัน แม้ว่าความเร็วจะเพิ่มขึ้น แต่ภาระทางจิตใจในการจัดการผลลัพธ์จาก AI และการรับประกันคุณภาพอาจมีมากพอสมควร นักพัฒนาบางคนพบว่าตัวเองใช้เวลามากในการประกันคุณภาพ ค้นพบบั๊กที่ไม่ชัดเจนทันทีในโค้ดที่ AI สร้างขึ้น
ผลกระทบของ AI Coding ตามประเภทโปรเจกต์:
ประเภทโปรเจกต์ | ผลกระทบต่อผลิตภาพ | ภาระงานทางความคิด | ข้อกังวลด้านคุณภาพ |
---|---|---|---|
เครื่องมือง่าย ๆ/scrapers | เพิ่มขึ้นสูงมาก | ลดลง | ต่ำ |
Frontend/โปรเจกต์ส่วนตัว | เพิ่มขึ้นสูง | ลดลง | ต่ำ |
แอปพลิเคชัน CRUD | เพิ่มขึ้นสูง | ปานกลาง | ปานกลาง |
ระบบ backend ที่ซับซ้อน | เพิ่มขึ้นปานกลาง | เพิ่มขึ้น | สูง |
โปรเจกต์ที่มี business logic หนัก | เพิ่มขึ้นปานกลาง | เพิ่มขึ้นอย่างมีนัยสำคัญ | สูง |
การแลกเปลี่ยนระหว่างความคิดสร้างสรรค์และประสิทธิภาพ
มุมมองที่น่าสนใจจากชุมชนชี้ให้เห็นว่าเพลงกระตุ้นส่วนที่สร้างสรรค์ของสมอง ซึ่งตอนนี้มีความสำคัญสำหรับการเขียนโค้ดด้วย AI อย่างมีประสิทธิภาพ การเขียนโค้ดแบบดั้งเดิมสามารถทำได้พร้อมกับเพลงเพราะส่วนใหญ่เป็นการดำเนินการเชิงกล การเขียนโค้ดด้วย AI อย่างไรก็ตาม ต้องการการคิดสร้างสรรค์อย่างต่อเนื่องเกี่ยวกับการกำหนดกรอบปัญหา การสร้างพรอมต์ และการประเมินโซลูชัน
ความตื่นเต้นจากการทำงานหนึ่งวันให้เสร็จในหนึ่งชั่วโมงน่าจะจางหายไปเมื่อความคาดหวังคือต้องผลิตผลงานแบบเก่า 8 เท่าต่อวัน
การสังเกตนี้ชี้ไปที่ความกังวลที่กว้างขึ้นเกี่ยวกับวิธีที่การเพิ่มผลผลิตอาจเพียงแค่รีเซ็ตความคาดหวังพื้นฐานแทนที่จะปรับปรุงความสมดุลระหว่างงานและชีวิต
กลยุทธ์การปรับตัวและวิธีแก้ไขปัญหา
นักพัฒนาบางคนได้พบวิธีที่จะรักษาประสบการณ์การเขียนโค้ดพร้อมเพลงโดยการปรับแนวทางของพวกเขา เพลงเครื่องดนตรี โดยเฉพาะอย่างยิ่งแนวอิเล็กทรอนิกส์ เมทัล หรือเพลงคลาสสิก ดูเหมือนจะทำงานได้ดีกว่าเนื้อหาที่มีเนื้อร้อง คนอื่นๆ ได้พัฒนาเวิร์กโฟลว์ใหม่ที่สลับกันระหว่างการระเบิดด้วยความช่วยเหลือจาก AI และเซสชันการเขียนโค้ดแบบดั้งเดิม
ชุมชนยังได้พัฒนากลยุทธ์สำหรับการจัดการภาระทางปัญญาที่เพิ่มขึ้น เช่น การแบ่งงานออกเป็นส่วนประกอบที่เล็กลง การใช้ AI สำหรับการสร้างโบลเลอร์เพลตขณะจัดการตรรกะที่ซับซ้อนด้วยตนเอง และการปฏิบัติต่อผลลัพธ์จาก AI เป็นจุดเริ่มต้นแทนที่จะเป็นโซลูชันสุดท้าย
กลยุทธ์การปรับตัวของนักพัฒนา:
- การเลือกเพลง: เปลี่ยนไปฟังเพลงดนตรี (อิเล็กทรอนิกส์ คลาสสิก เมทัล) แทนการฟังเพลงที่มีเนื้อร้อง
- การเปลี่ยนแปลงขั้นตอนการทำงาน: สลับระหว่างการทำงานแบบเร่งด่วนด้วยความช่วยเหลือของ AI และเซสชันการเขียนโค้ดแบบดั้งเดิม
- การจัดการงาน: แบ่งงานที่ซับซ้อนออกเป็นส่วนเล็กๆ ที่ AI สามารถจัดการได้
- การควบคุมคุณภาพ: ถือว่าผลลัพธ์จาก AI เป็นจุดเริ่มต้นที่ต้องการการตรวจสอบอย่างละเอียด
- การออกแบบคำสั่ง: พัฒนาทักษะในการสร้างคำสั่งที่มีรายละเอียดพร้อมบริบทและข้อสมมติฐาน
- ฟอนต์/การแสดงผล: ลดขนาดฟอนต์ในโปรแกรมแก้ไขเพื่อรองรับการสแกนโค้ดในปริมาณที่มากขึ้น
มองไปข้างหน้า
แม้จะมีความท้าทาย แต่นักพัฒนาส่วนใหญ่ยังคงมองโลกในแง่ดีเกี่ยวกับเครื่องมือเขียนโค้ดด้วย AI การเพิ่มผลผลิตเป็นสิ่งที่ปฏิเสธไม่ได้ โดยเฉพาะสำหรับโปรแกรมเมอร์ที่มีประสบการณ์ซึ่งสามารถแนะนำระบบ AI ได้อย่างมีประสิทธิภาพ เทคโนโลยีดูเหมือนจะเปลี่ยนการเขียนโปรแกรมจากงานฝีมือที่เน้นไวยากรณ์และรายละเอียดการดำเนินการไปสู่การออกแบบระบบระดับสูงและการแก้ปัญหา
การสูญเสียเพลงขณะเขียนโค้ดอาจดูเหมือนเรื่องเล็กน้อย แต่มันแสดงถึงการเปลี่ยนแปลงที่กว้างขึ้นในวิธีที่งานพัฒนาซอฟต์แวร์รู้สึกและไหล เมื่อความสามารถของ AI ยังคงปรับปรุง นักพัฒนาจะต้องปรับตัวต่อไปในเวิร์กโฟลว์และความคาดหวังของพวกเขาเกี่ยวกับสิ่งที่งานเขียนโปรแกรมเกี่ยวข้อง
อ้างอิง: An unusual consequence of Al coding