An LLM ไม่ใช่ Backend: บทเรียนจากการพัฒนาแอป AI
เรียนรู้ความแตกต่างระหว่าง Large Language Model และระบบหลังบ้าน ผ่านตัวอย่างแอปเดลิเวอรี เพื่อเข้าใจการสร้างซอฟต์แวร์ AI ที่แท้จริง

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

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
LLM ทำงานในลักษณะที่คล้ายกันในเชิงแนวคิด แต่ใช้การแทนค่าทางเชิฃคณิตศาสตร์และโครงข่ายประสาทเทียมขนาดใหญ่ ซึ่งเป็นเหตุผลว่าทำไมมันถึงทำอะไรได้หลายอย่าง เช่น อธิบายแนวคิด เขียนโค้ด สรุปเอกสาร แปลภาษา สร้างเรื่องราว วิเคราะห์ข้อความ และสนทนา ทำให้บางครั้งเรารู้สึกเหมือนกำลังคุยกับสิ่งที่เข้าใจทุกอย่าง แต่แท้จริงแล้วมันยังคงทำงานกับรูปแบบที่เรียนรู้มาจากการฝึกฝนและสร้างโทเค็นตามรูปแบบเหล่านั้น
ในมุมมองของการพัฒนาซอฟต์แวร์ การเข้าใจขีดจำกัดของ LLM เป็นสิ่งสำคัญมาก เนื่องจากโมเดลภาษาไม่มีสถานะ (stateless) และไม่สามารถจดจำบริบทนอกเหนือจากที่ส่งเข้าไปในแต่ละครั้งได้ การพึ่งพา LLM เป็นฐานข้อมูลหรือตัวจัดการระบบตรรกะ (business logic) จะนำไปสู่ความผิดพลาดด้านความปลอดภัยและความน่าเชื่อถือของระบบ นักพัฒนาจึงต้องออกแบบสถาปัตยกรรมให้ LLM ทำหน้าที่เป็นเพียงชั้นตีความภาษา (Language UI) เท่านั้น
มาลองดูตัวอย่างง่ายๆ สมมติว่าผมพูดว่าฉันไปที่ร้านอาหารและสั่ง สมองของคุณอาจคาดเดาคำว่าอาหาร พิซซ่า อาหารเย็น หรือเบอร์เกอร์ LLM คำนวณความน่าจะเป็นของโทเค็นถัดไปที่เป็นไปได้ตามบริบท ตัวอย่างเช่น ความน่าจะเป็นอาจเป็น 32% สำหรับพิซซ่า 21% สำหรับอาหาร 15% สำหรับอาหารเย็น และอื่นๆ ตัวเลขเหล่านี้เป็นเพียงภาพประกอบ ตัวสำคัญคือโมเดลกำลังทำนายสิ่งที่ควรเกิดขึ้นถัดไปจากบริบทที่ได้รับ
แล้วทำไมมันถึงให้ความรู้สึกเหมือนกำลังคิด? หากผมขอให้ LLM อธิบายการเรียกซ้ำเหมือนผมอายุห้าขวบ หรือขอให้เขียนโค้ดภาษาจาวาสำหรับแก้ปัญหา หรือให้มันเขียนอีเมลใหม่ให้เป็นทางการ มันสามารถปรับเปลี่ยนน้ำโทนเสียง สรุปเอกสารยาวๆ หรือใช้เหตุผลผ่านแนวทางที่เป็นไปได้ ทำให้รู้สึกเหมือนมีคนจริงๆ นั่งอยู่หลังหน้าจอ แต่เราไม่ควรสับสนความสามารถนั้นกับการที่ LLM เป็นระบบซอฟต์แวร์ที่สมบูรณ์
"Sure! Your pizza has been ordered."
LLM
ลองจินตนาการว่าคุณกำลังสร้างแอปพลิเคชันจัดส่งอาหารออนไลน์ที่มีผู้ช่วย AI คุณส่งข้อความนั้นไปและ LLM ตอบกลับมาว่าแน่นอน! พิซซ่าของคุณถูกสั่งแล้ว ฟังดูยอดเยี่ยม แต่คำถามคือมันได้สั่งอะไรจริงๆ หรือไม่? คำตอบคือไม่ LLM เพียงแค่สร้างประโยคขึ้นมาเท่านั้น มันไม่ได้ตรวจสอบว่าร้านไหนเปิดอยู่บ้าง ตรวจสอบว่าพิซซ่ามีจำหน่ายหรือไม่ ตรวจสอบที่อยู่ของคุณ ดำเนินการชำระเงิน สร้างคำสั่งซื้อในฐานข้อมูล หรือส่งคำสั่งซื้อไปยังร้านอาหาร
ความแตกต่างนี้มีความชัดเจนมากเมื่อผมเริ่มคิดถึงแอปพลิเคชัน AI ในฐานะผลิตภัณฑ์ซอฟต์แวร์จริง แทนที่จะมองเป็นแค่แชทบอท โดย LLM มีความโดดเด่นมากในการทำความเข้าใจภาษาธรรมชาติ การสกัดเจตนา การสร้างคำตอบ การสรุปข้อมูล การทำงานกับบริบท และการตัดสินใจว่าจะใช้เครื่องมือใด
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น