หลังจากที่โมเดลโอเพ่นซอร์สถูกจำกัด สิ่งแรกที่ต้องเป็นอิสระคือเลเยอร์ที่เป็นกลางของโมเดล
ไม่สำคัญว่าสามารถเปลี่ยนรุ่นได้หรือไม่ สิ่งที่ลำบากจริงๆ คือพฤติกรรมเริ่มต้นที่ฮาร์ดโค้ดในโค้ด
เมื่อโมเดลโอเพ่นซอร์สเริ่มถูกจำกัด สิ่งแรกที่เปิดเผยมักจะไม่ใช่รายการดาวน์โหลด แต่เป็นสมมติฐานเริ่มต้นในโค้ด ชื่อรุ่นมีการเปลี่ยนแปลง แต่อินเทอร์เฟซยังคงอยู่ แต่กระบวนการทางธุรกิจไม่สอดคล้องกับลักษณะการทำงานแบบเก่าอีกต่อไป: รูปแบบเอาต์พุต ลำดับการเรียกใช้ฟังก์ชัน เสียงการปฏิเสธ ความยาวบริบท พารามิเตอร์การสุ่มตัวอย่าง พารามิเตอร์ใดรายการหนึ่งสามารถดูแยกกันได้ แต่การซ้อนกันจะลากลิงก์ทั้งหมด
ปัญหาประเภทนี้มักจะถือเป็นปัญหาทางสถาปัตยกรรมได้ยาก ในระหว่างขั้นตอนการพัฒนา ฉันเห็นเพียง “สามารถวิ่งได้” เท่านั้น หลังจากออนไลน์ ฉันพบว่าการเลือกแบบจำลองได้ถูกเขียนลงในตรรกะทางธุรกิจแล้ว บางช่องจะปรับให้เป็นรูปแบบการส่งคืนรูปแบบเดียวเท่านั้น บางช่องลองใหม่จะจดจำวิธีการปฏิเสธเพียงวิธีเดียวเท่านั้น และข้อยกเว้นบางช่องจะมีค่าเริ่มต้นเป็นรุ่นดั้งเดิมเพื่อให้คำอธิบายที่ยาวขึ้น เมื่อมีการกำหนดข้อจำกัด กองที่ซ่อนอยู่ทั้งหมดก็ถูกเปิดเผย
พฤติกรรมเริ่มต้นจะเชื่อมโยงโมเดลเข้ากับธุรกิจ
ในขั้นตอนการเข้าถึง โมเดลมักถือเป็นการเพิ่ม SDK การเชื่อมต่อ API และเพิ่มคำพร้อมท์ หลังจากเชื่อมต่อแล้ว สิ่งที่ยากที่สุดในการล้างข้อมูลไม่ใช่ตัวการโทร แต่เป็นสาขาที่เติบโตตามพฤติกรรมเริ่มต้น ไม่ว่าเอาต์พุตควรเป็น JSON อย่างเคร่งครัด ควรลองเรียกใช้เครื่องมืออีกครั้งหลังจากเกิดความล้มเหลว หรือไม่ ตำแหน่งที่จะตัดอินพุตที่ยาวเกินไป และเลเยอร์ใดที่จะพร้อมท์การควบคุมความเสี่ยง ปัญหาเหล่านี้มักตกอยู่ในรหัสธุรกิจ
เมื่อโมเดลโอเพ่นซอร์สถูกจำกัดหรือลบออกจากชั้นวาง หรือรูปภาพในเครื่องและเวอร์ชันอัปสตรีมเริ่มแยก การทำงานเริ่มต้นเหล่านี้จะไม่น่าเชื่อถืออีกต่อไป บนพื้นผิวเป็นเพียงการเปลี่ยนโมเดล แต่ด้านล่างจำเป็นต้องเปลี่ยนการแยกวิเคราะห์ การตรวจสอบ การย้อนกลับ และการทดสอบในเวลาเดียวกัน ส่วนที่ยากที่สุดคือไม่ต้องเขียนบทดัดแปลงอีกสองสามบรรทัด แต่ชุดสมมติฐานดั้งเดิมไม่ได้ระบุไว้อย่างชัดเจนตั้งแต่ต้นจนจบ
บทบาทของเลเยอร์ที่เป็นกลางคือการกระจายสมมติฐานโดยนัยออกไป
เลเยอร์ที่เป็นกลางของแบบจำลองไม่ใช่นามธรรมเพื่อประโยชน์ของนามธรรม ฟังก์ชันของมันง่ายมาก: ใส่คำพร้อมท์ การตรวจสอบสคีมา การกำหนดเส้นทาง ลองใหม่ ดาวน์เกรด บันทึกและการประเมินผลไว้ในที่เดียว เพื่อให้ความแตกต่างของโมเดลนั้นผ่านขอบเขตชุดเดียวกันก่อน ด้วยวิธีนี้ แม้ว่าโมเดลจะถูกแทนที่ด้วยคลาวด์ โอเพ่นซอร์ส การอนุมานเฉพาะที่ หรือผู้ให้บริการอื่นๆ ธุรกิจจะยังคงเห็นสัญญาอินพุตและเอาท์พุตแบบรวม
เมื่อเลเยอร์นี้ถูกสร้างขึ้น หลายสิ่งที่แต่เดิมไม่ชัดเจนก็จะกลายเป็นความชัดเจนทันที ฟิลด์ใดเป็นค่าที่ต้องการ ฟิลด์ใดที่เป็นเพียงการตั้งค่าโมเดล ความล้มเหลวใดสามารถลองใหม่ได้ ความล้มเหลวใดจะต้องย้อนกลับ บริบทใดที่จะถูกตัดทอน และตัวบ่งชี้ใดที่สามารถเปรียบเทียบได้จริงๆ ทั้งหมดจะเปลี่ยนจาก “จดจำโดยประสบการณ์” เป็น “ถูกจำกัดโดยอินเทอร์เฟซ” ผลกระทบที่เกิดจากโมเดลที่จำกัดจะไม่ถูกป้อนลงในรหัสธุรกิจโดยตรงอีกต่อไป แต่จะป้อนลงในเลเยอร์ที่เป็นกลางก่อน
ไม่ใช่ทุกฉากที่จะคุ้มค่ากับเลเยอร์นี้
บางฉากไม่จำเป็นต้องมีเลเยอร์หนามากนัก การสรุปแบบครั้งเดียว การสร้างชั่วคราว การทดลองภายใน และกลุ่มเครื่องมือที่ล็อคด้วยโมเดลเดียวโดยสมบูรณ์ ก็เพียงพอแล้วที่จะเชื่อมโยงโมเดลในตำแหน่งเหล่านี้ การสร้างเลเยอร์ที่เป็นกลางที่สมบูรณ์สำหรับกระบวนการที่มีระยะเวลาสั้น ๆ จะเป็นการเบิกค่าใช้จ่ายล่วงหน้าเท่านั้น
จำเป็นต้องใช้เลเยอร์นี้โดยที่โมเดลจะมีส่วนร่วมในการตัดสินทางธุรกิจจริงๆ เช่น การแตกข้อมูล การกำหนดเส้นทาง การใช้เครื่องมือ การตอบกลับการบริการลูกค้า การให้ความช่วยเหลือในการตรวจสอบ และการเขียนใหม่เป็นชุด ในสถานการณ์เหล่านี้ โมเดลไม่ใช่ของเล่น แต่เป็นส่วนหนึ่งของกระบวนการ ตราบใดที่แบบจำลองอาจเปลี่ยนแปลง หรือข้อจำกัดภายนอกอาจทำให้ทางเข้าบางทางเข้าไม่มั่นคง ชั้นที่เป็นกลางจะไม่ใช่การตกแต่ง แต่เป็นผนังที่เปลี่ยนแปลงภายในขอบเขต
สิ่งที่บังคับให้โมเดลโอเพ่นซอร์สถูกจำกัดจริงๆ ไม่ใช่ทางเลือกของซัพพลายเออร์รายใดรายหนึ่ง แต่ขึ้นอยู่กับว่าทีมงานจะถือว่า “ความแตกต่างของโมเดล” เสมือนพลเมืองชั้นหนึ่งหรือไม่ ยิ่งพฤติกรรมเริ่มต้นในโค้ดถูกกระจายออกไปเร็วเท่าไร มันก็จะยิ่งมีปฏิกิริยาโต้ตอบน้อยลงเมื่อเปลี่ยนโมเดลในภายหลัง โมเดลสามารถเปลี่ยนแปลงได้ แต่ขอบเขตไม่สามารถทำตามได้
What to read next
Want more posts about AI?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #AI?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home