AI Coding Agents กำลังเปลี่ยนแปลงขั้นตอนการทำงานของนักพัฒนาโปรแกรมอย่างไร

ทีมชุมชน BigGo
AI Coding Agents กำลังเปลี่ยนแปลงขั้นตอนการทำงานของนักพัฒนาโปรแกรมอย่างไร

ภูมิทัศน์ของการพัฒนาซอฟต์แวร์กำลังอยู่ในช่วงปฏิวัติเงียบ ๆ เนื่องจาก AI coding agents ถูกผนวกรวมเข้ากับขั้นตอนการทำงานของนักพัฒนามากขึ้นเรื่อยๆ สิ่งที่เริ่มต้นจากการเติมข้อความอัตโนมัติธรรมดาๆ ได้วิวัฒนาการกลายเป็นระบบที่มีความซับซ้อนซึ่งสามารถสร้าง ปรับโครงสร้าง และดีบั๊กรหัสได้ ชุมชนนักพัฒนากำลังแบ่งออกเป็นสองขั้วอย่างชัดเจนกับการเปลี่ยนแปลงนี้ โดยบางกลุ่มยอมรับกับผลกำไรด้านประสิทธิภาพการผลิต ในขณะที่กลุ่มอื่นกังวลเกี่ยวกับคุณภาพของโค้ดและลักษณะพื้นฐานของงานโปรแกรมมิ่ง

ปัญหาหน้ากระดาษว่าง: AI ในฐานะแหล่งแรงบันดาลใจเชิงสร้างสรรค์

สำหรับนักพัฒนาหลายคน ส่วนที่ท้าทายที่สุดของโครงการใดๆ ก็คือการเริ่มต้น สิ่งที่เรียกว่าปัญหาหน้ากระดาษว่าง – ช่วงเวลาน่าหนักใจเมื่อคุณต้องเปลี่ยนความคิดให้กลายเป็นโค้ดที่ทำงานได้ – กินพลังงานทางจิตอย่างไม่เป็นสัดส่วน AI coding agents ทำงานได้ดีเยี่ยมในการเชื่อมช่องว่างนี้โดยการสร้างการนำไปใช้เบื้องต้นและต้นแบบอย่างรวดเร็ว

นักพัฒนาที่มีประสบการณ์ท่านหนึ่งอธิบายสิ่งนี้ได้อย่างสมบูรณ์แบบ: «ช่วงเวลาที่ฉันสามารถทำให้โปรเจกต์เริ่มต้นได้ จนถึงจุดที่ฉันสามารถโต้ตอบกับฟังก์ชันการทำงานส่วนสำคัญของมันและปรับแต่งมันได้ ฉันก็ไปได้สวยแล้ว การไปให้ถึงช่วงเวลาทองนั้นคือ 80% ของสิ่งที่ทำให้การเขียนโปรแกรมมีต้นทุนสูงสำหรับฉัน»

แนวทางนี้แสดงถึงการเปลี่ยนแปลงพื้นฐานในวิธีที่นักพัฒนาเข้าสู่การพัฒนาในระยะเริ่มต้น แทนที่จะใช้เวลาหลายชั่วโมงกับการตั้งค่าโค้ด样板plate หรือการต่อสู้กับเฟรมเวิร์กที่ไม่คุ้นเคย พวกเขาสามารถใช้ AI เพื่อไปถึงจุดสำคัญนั้นได้อย่างรวดเร็ว ซึ่งพวกเขามีบางสิ่งบางอย่างที่จับต้องได้เพื่อทดสอบและปรับปรุง

การถกเถียงเรื่องคุณภาพ: ประสิทธิภาพการผลิต พบ งานฝีมือ

ชุมชนยังคงแบ่งออกอย่างชัดเจนในเรื่องว่าโค้ดที่สร้างโดย AI นั้นแสดงถึงความก้าวหน้าหรือความถดถอย ผู้สนับสนุนชี้ให้เห็นถึงการปรับปรุงประสิทธิภาพการทำงานอย่างมาก โดยเฉพาะสำหรับงานประจำและการสร้างต้นแบบ พวกเขาโต้แย้งว่า AI จัดการกับงานน่าเบื่อ ในขณะที่ปล่อยให้นักพัฒนามุ่งความสนใจไปที่สถาปัตยกรรมระดับสูงและการแก้ปัญหามากขึ้น

ผู้สงสัยแย้งว่าสิ่งนี้มาพร้อมกับต้นทุนต่อคุณภาพของโค้ดและการเติบโตของนักพัฒนา ผู้แสดงความคิดเห็นท่านหนึ่งแสดงความกังวลเกี่ยวกับเพื่อนร่วมงานที่ «ผลักดันงานหยาบๆ ในระดับที่ไม่ยั่งยืน ในขณะที่อ้างว่ามีผลกำไรด้านประสิทธิภาพการผลิตอย่างมาก» ความกลัวคือการพัฒนาที่ได้รับการช่วยเหลือจาก AI อาจนำไปสู่ฐานโค้ดที่มีหนี้ทางเทคนิคซึ่งบำรุงรักษาได้ยาก

นักพัฒนาที่มุ่งเน้นงานฝีมือรู้สึกถูกคุกคามเป็นพิเศษ ดังที่ผู้แสดงความคิดเห็นท่านหนึ่งระบุ «หากสิ่งที่คุณชอบทำคือการสร้างสรรค์และเขียนโค้ดจริงๆ LLMs ก็มีคุณค่าน้อยกว่ามาก – พวกมันกำลังทำสิ่งที่คุณชอบทำและพวกมันไม่ได้ใส่ความเอาใจใส่ลงไปอย่างที่คุณปกติทำ» ความตึงเครียดระหว่างประสิทธิภาพและศิลปะนี้อยู่ที่ใจกลางของการอภิปราย

มุมมองของนักพัฒนาเกี่ยวกับการเขียนโค้ดด้วย AI: ฝ่ายสนับสนุนอ้างว่า:

  • เอาชนะ "ปัญหาหน้ากระดาษเปล่า" ได้
  • ความสามารถในการสร้างต้นแบบอย่างรวดเร็ว
  • จัดการงานที่น่าเบื่อและซ้ำซากได้
  • ทำหน้าที่เป็นแรงบันดาลใจสร้างสรรค์สำหรับแนวทางใหม่ๆ

ฝ่ายที่มีข้อกังวลเป็นห่วงเรื่อง:

  • คุณภาพของโค้ดและความ "ไม่เรียบร้อย"
  • ความเข้าใจพื้นฐานที่ลดลง
  • ความท้าทายในการบำรุงรักษา
  • การพึ่งพามากเกินไปทำให้ทักษะหลักอ่อนแอลง

เส้นโค้งการเรียนรู้: จากเครื่องมือ สู่คู่หู

การผนวกรวม AI ที่ประสบความสำเร็จจำเป็นต้องพัฒนาทักษะใหม่ๆ นอกเหนือจากการเขียนโปรแกรมแบบดั้งเดิม นักพัฒนากำลังเรียนรู้ที่จะสร้างพรอมต์ที่มีประสิทธิภาพ ประเมินโค้ดที่สร้างโดย AI อย่างมีวิจารณญาณ และรู้จังหวะที่จะควบคุม ผู้ใช้ที่มีประสิทธิภาพสูงสุดปฏิบัติต่อ AI ในฐานะคู่หูรุ่นน้อง แทนที่จะเป็นทางออกวิเศษ

แนวทางของ Mitchell Hashimoto สาธิตวิธีการที่สมดุลนี้ เขารักษาการควบคุมคุณภาพอย่างเคร่งครัด โดยกล่าวว่า «ฉันจะไม่ส่งโค้ดที่ฉันไม่เข้าใจ» เมื่อ AI เข้าสู่สิ่งที่เขาเรียกว่า «โซนงานหยาบ» – การสร้างโค้ดที่มีบั๊กซึ่งมันไม่สามารถแก้ไขได้ – เขาจะEither วิจัยปัญหาด้วยตัวเองหรือละทิ้งแนวทางของ AI ทั้งหมด

ท่าทีที่เน้นปฏิบัตินี้สะท้อนถึงความเข้าใจที่โตเต็มที่ต่อข้อจำกัดปัจจุบันของ AI ผลลัพธ์ที่ดีที่สุดมาจากการทำงานร่วมกันระหว่างมนุษย์และ AI ซึ่งแต่ละฝ่ายเล่นตามจุดแข็งของตัวเอง: AI สำหรับการทำซ้ำอย่างรวดเร็ว และมนุษย์สำหรับการคิดอย่างมีวิจารณญาณและการประกันคุณภาพ

วิวัฒนาการของขั้นตอนการทำงานในการพัฒนา

ในขณะที่เครื่องมือ AI เติบโตเต็มที่ พวกมันกำลังสร้างระเบียบวิธีologies การพัฒนาใหม่ๆ นักพัฒนาบางคนใช้ AI เป็นหลักสำหรับแรงบันดาลใจ โดยทิ้งโค้ดที่สร้างไว้แต่เก็บแนวทางการออกแบบ концептуальไว้ คนอื่นๆ ใช้ AI สำหรับงานเฉพาะ เช่น การปรับโครงสร้างโค้ดหรือการสร้างการทดสอบ ในขณะที่เขียนตรรกะทางธุรกิจหลักด้วยตัวเอง

เครื่องมือเองก็กำลังวิวัฒนาการอย่างรวดเร็ว ในขณะที่ความช่วยเหลือด้านการเขียนโค้ด AI ในยุคแรกๆ มุ่งเน้นไปที่การเติมข้อความอัตโนมัติและคำแนะนำง่ายๆ ระบบที่มีตัวแทนสมัยใหม่เช่น Claude Code และ Amp สามารถเข้าใจความต้องการที่ซับซ้อนและสร้างบล็อกโค้ดที่มีสาระสำคัญได้ ระบบนิเวศกำลังกระจายตัวออกไป โดยบางเครื่องมือถูกล็อกกับผู้ขายให้กับโมเดลเฉพาะ ในขณะที่บางเครื่องมือยังคงไม่ขึ้นกับโมเดล

สิ่งที่ชัดเจนคือความช่วยเหลือด้านการเขียนโค้ดด้วย AI ไม่ใช่เรื่องใหม่แต่อย่างใดอีกต่อไป แต่เป็นส่วนสำคัญของชุดเครื่องมือของนักพัฒนาหลายคน เมื่อเทคโนโลยีดีขึ้นและแนวปฏิบัติที่ดีที่สุดปรากฏขึ้น การสนทนากำลังเปลี่ยนจาก จะใช้ AI หรือไม่ ไปเป็น จะใช้มันอย่างมีประสิทธิภาพและมีความรับผิดชอบได้อย่างไร

เครื่องมือ AI สำหรับการเขียนโค้ดยอดนิยมที่ถูกกล่าวถึง:

  • Claude Code (Anthropic)
  • Amp (Sourcegraph)
  • Cursor
  • LSPs แบบดั้งเดิม (Language Server Protocols) - แม้ว่านักพัฒนาบางคนจะชอบทางเลือก AI มากกว่า

มองไปข้างหน้า: อนาคตของการเขียนโปรแกรม

ผลกระทบระยะยาวของการพัฒนาที่ได้รับการช่วยเหลือจาก AI ยังคงไม่แน่นอน บางคนกังวลว่าการพึ่งพา AI มากเกินไปอาจจะ阻碍การเติบโตของนักพัฒนา โดยเฉพาะในการทำความเข้าใจแนวคิดพื้นฐาน คนอื่นๆ มองว่า AI เป็นการทำให้การเขียนโปรแกรมเป็นประชาธิปไตย ทำให้การพัฒนาซอฟต์แวร์สามารถเข้าถึงได้สำหรับผู้คนมากขึ้น ในขณะที่อนุญาตให้นักพัฒนาที่มีประสบการณ์มุ่งความสนใจไปที่ความท้าทายที่น่าสนใจมากขึ้น

สิ่งที่ปฏิเสธไม่ได้คือ ยักษ์ ได้ออกมาจากขวดแล้ว ดังที่ผู้แสดงความคิดเห็นท่านหนึ่งระบุ แม้แต่ผู้นำในอุตสาหกรรมที่ก่อนหน้านี้สงสัยก็ยังเปลี่ยนใจเมื่อเทคโนโลยีดีขึ้น การสนทนาได้ย้ายจาก AI มีที่อยู่ในการเขียนโปรแกรมหรือไม่ ไปเป็น จะผนวกรวมมันอย่างมีประสิทธิภาพสูงสุดได้อย่างไร

นักพัฒนาที่จะประสบความสำเร็จในภูมิทัศน์ใหม่นี้จะเป็นผู้ที่เรียนรู้ที่จะใช้ประโยชน์จากจุดแข็งของ AI ในขณะที่รักษาทักษะการคิดอย่างมีวิจารณญาณและวิสัยทัศน์ทางสถาปัตยกรรมของพวกเขาไว้ พวกเขาจะต้องมีความเชี่ยวชาญในการออกแบบพรอมต์ การประเมินโค้ด และการรู้ว่าการช่วยเหลือจาก AI ช่วยเมื่อใด เทียบกับเมื่อมันขัดขวาง

อ้างอิง: Writing a Noise/Modal Statefully Feature