โมเดล AI บังคับให้นักพัฒนาต้องออกแบบ API ใหม่ตาม "ความคาดหวัง" ของมัน

ทีมชุมชน BigGo
โมเดล AI บังคับให้นักพัฒนาต้องออกแบบ API ใหม่ตาม "ความคาดหวัง" ของมัน

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

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

การเพิ่มขึ้นของการตัดสินใจพัฒนาที่ขับเคลื่อนโดย AI

หลายบริษัทได้ปรับปรุงซอฟต์แวร์ของตนเพื่อรองรับสมมติฐานของ AI แล้ว บริษัทซอฟต์แวร์เพลง Soundslice เพิ่มฟีเจอร์เพียงเพราะ ChatGPT บอกผู้ใช้ว่าฟีเจอร์เหล่านั้นมีอยู่ ในทำนองเดียวกัน บริษัทฐานข้อมูล Instant เปลี่ยนโครงสร้าง API หลังจากที่โมเดล AI เขียน tx.create อย่างต่อเนื่องแทนที่จะเป็นฟังก์ชัน tx.update ที่เป็นจริง

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

ตัวอย่างการเปลี่ยนแปลง API ที่ขับเคลื่อนโดย AI:

  • Soundslice: เพิ่มฟีเจอร์ต่างๆ เพราะ ChatGPT บอกผู้ใช้ว่าฟีเจอร์เหล่านั้นมีอยู่
  • Instant: เพิ่มฟังก์ชัน tx.create เพราะโมเดล AI เขียนฟังก์ชันนี้อย่างสม่ำเสมอแทนที่จะใช้ tx.update
  • แนวโน้มทั่วไป: บริษัทต่างๆ ปรับ API ให้เข้ากับความคาดหวังของโมเดล AI แทนที่จะแก้ไข AI

การเปลี่ยนแปลงหลักการเขียนโค้ดสำหรับโลกที่ AI เป็นหลัก

การเปลี่ยนแปลงขยายไปเกินกว่าการเปลี่ยนแปลง API แต่ละตัวไปสู่แนวปฏิบัติการเขียนโปรแกรมที่กว้างขึ้น นักพัฒนาเริ่มพิจารณาว่าโค้ดของพวกเขาจะเข้าใจได้ง่ายโดยโมเดล AI หรือไม่ แทนที่จะมุ่งเน้นเพียงความสามารถในการอ่านของมนุษย์หรือหลักการวิศวกรรมซอฟต์แวร์แบบดั้งเดิม

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

นี่แสดงถึงการเปลี่ยนแปลงพื้นฐานในวิธีการออกแบบซอฟต์แวร์ แทนที่จะเพิ่มประสิทธิภาพเพื่อความเข้าใจของมนุษย์หรือประสิทธิภาพการทำงาน นักพัฒนาอาจต้องเพิ่มประสิทธิภาพเพื่อความเข้าใจและการสร้างของ AI

หลักการเขียนโค้ดแบบดั้งเดิม เทียบกับ ยุค AI:

การมุ่งเน้นแบบดั้งเดิม การมุ่งเน้นในยุค AI
ความสามารถในการอ่านของมนุษย์ ความสามารถในการจัดทำดัชนีของ AI
หลักการ SOLID ความเข้ากันได้กับ context window
ความสามารถในการบำรุงรักษาโค้ด ความเข้าใจของโมเดล
การปรับปรุงประสิทธิภาพ ประสิทธิภาพการสร้างโค้ดด้วย AI

ผลกระทบของการมาตรฐาน

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

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

ความต้านทานและการปรับตัว

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

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

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

อ้างอิง: Gaslight-driven development