วันพฤหัสบดี ที่ 12 มีนาคม 2569

Login
Login

Generative AI เปลี่ยนโฉมงานพัฒนาซอฟต์แวร์

Generative AI  เปลี่ยนโฉมงานพัฒนาซอฟต์แวร์

Generative AI เครื่องมือทรงพลังช่วยยกระดับงานนักพัฒนาซอฟต์แวร์ ความสามารถมากกว่าการสร้างโค้ด แต่ยังอยู่ในช่วงพัฒนา เมื่อใช้งานจริงทีมวิศวกรต้องระมัดระวัง

Thoughtworks บริษัทที่ปรึกษาด้านเทคโนโลยีชั้นนำ เผยแพร่รายงาน Technology Radar ล่าสุด  พบว่า Generative artificial intelligence (GenAI) ส่งผลมากขึ้นเรื่อยๆ ต่อกระบวนการส่งมอบซอฟต์แวร์

โดยเครื่องมือ AI ระลอกใหม่มีศักยภาพในการช่วยทีมวิศวกรเพิ่มประสิทธิภาพ เสริมขีดความสามารถและปรับปรุงผลลัพธ์ในการพัฒนาซอฟต์แวร์  

เครื่องมือเหล่านี้มีความสามารถมากกว่าการสร้างโค้ด (Code Generation) เพราะเข้าไปช่วยในส่วนอื่นๆ ของวงจรการพัฒนาซอฟต์แวร์ได้ด้วย ซึ่งรวมถึงการทดสอบ การสร้างเอกสารการออกแบบ หรือแม้กระทั่งการจัดองค์ประกอบและโครงสร้างภายในของซอฟต์แวร์ใหม่ (Refactoring)

อย่างไรก็ตาม ขณะนี้ขีดความสามารถนี้ยังอยู่ในช่วงกำลังพัฒนา ซึ่งทีมวิศวกรควรตื่นตัวและระมัดระวังในการพิจารณาว่าจะนำเครื่องมือที่เพิ่งเกิดขึ้นใหม่เหล่านี้ไปใช้ในการทำงานจริงได้อย่างไร

Rachel Laycock ผู้อำนวยการด้านเทคโนโลยีของ Thoughtworks กล่าวว่า เครื่องมือ GenAI มีความสามารถในการช่วยทีมวิศวกรซอฟต์แวร์ได้หลากหลายด้าน

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

ช่วยยกระดับงานทีมพัฒนาซอฟต์แวร์

  • ทีมพัฒนาซอฟต์แวร์ที่มี AI เป็นตัวช่วย: เครื่องมือต่างๆ เช่น GitHub Copilot, CodiumAI, aider  และ Continue ส่งผลต่อแทบทุกองค์ประกอบในวงจรการพัฒนาซอฟต์แวร์

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

  • Open-ish source licenses: รูปแบบลิขสิทธิ์ใหม่ๆ ที่เป็นอุปสรรคต่อระบบนิเวศของ Open Source Software; แนวโน้มหนึ่งที่กำลังเกิดขึ้นคือการจำกัดการเข้าถึงฟังก์ชันการใช้งานหรือฟีเจอร์หลักๆ

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

  • ทำ Pull Requests (PRs) ให้ใกล้เคียงกับหลักการ Continuous Integration (CI):Pull Requests เป็นเสมือนช่องทางการตรวจสอบโค้ดในกระบวนการพัฒนาซอฟต์แวร์ แม้ว่ากระบวนการนี้มีความสำคัญในบางบริบท แต่ก็สามารถทำให้โฟกัสของนักพัฒนาถูกขัดขวาง และชะลอความเร็วในการส่งมอบซอฟต์แวร์ได้ หลาย

แม้ว่าThoughtworks ยังคงมองว่า Continuous Integration (CI) เป็นแนวปฏิบัติที่เหมาะสมสำหรับการจัดการโค้ด แต่สำหรับองค์กรที่ไม่ได้ใช้แนวทางแบบ CI ควรมองหาแนวทางใหม่ๆ ในการเพิ่มความแม่นยำและความรวดเร็วในการรวบรวมโค้ด โดยเฉพาะหากปริมาณโค้ดยังคงเพิ่มขึ้นต่อเนื่องจากการใช้งานตัวช่วยเขียนโปรแกรม

  • สถาปัตยกรรม LLMs รูปแบบใหม่: รูปแบบ (Patterns) คือสิ่งที่นิยมใช้กันในโลกเทคโนโลยีเพราะรูปแบบช่วยให้คำนิยามที่ดีสำหรับโซลูชันที่ใช้แก้ปัญหาในบริบทที่เฉพาะเจาะจงได้ ท่ามกลางการใช้ LLMs ซึ่งขยายตัวขึ้น เราเริ่มเห็นรูปแบบสถาปัตยกรรมเฉพาะที่เกิดขึ้นมาเพื่อใช้งานในหลายบริบทร่วมกัน