ผู้นำทางความคิด
เทคโนโลยีเพียงอย่างเดียวไม่เพียงพอที่จะรับประกันการนำไปใช้: บทเรียนจากการที่เราสร้าง AI Chatbot ภายในองค์กร

เมื่อการนำ AI ไปใช้เริ่มเพิ่มขึ้นในหลายอุตสาหกรรม การติดตั้ง chatbot เพื่อสนับสนุนการเปิดตัวแอปพลิเคชันภายในองค์กรใหม่ดูเหมือนจะเป็นการตัดสินใจที่มีเหตุผล อย่างไรก็ตาม แอปพลิเคชันเองก็ท้าทายความคาดหวังของผู้ใช้ในรูปแบบที่ไม่ธรรมดา มันนำกระบวนการทำงานใหม่ๆ ที่สร้างขึ้นจากเทคโนโลยีที่ยังไม่คุ้นเคยสำหรับผู้ใช้ส่วนใหญ่
เพื่อลดความซับซ้อนและปรับปรุงการนำไปใช้ chatbot ถูกออกแบบมาเพื่อตอบคำถามเกี่ยวกับแอปพลิเคชันและเทคโนโลยีที่อยู่เบื้องหลัง เป้าหมายคือช่วยให้ผู้ใช้เข้าใจไม่เพียงแต่สิ่งที่ต้องทำ แต่ยังรวมถึงเหตุผลที่ระบบทำงานในลักษณะนั้นด้วย เราเชื่อว่าการให้คำอธิบายตาม контекстจะช่วยเร่งการเรียนรู้และลดความสับสน
ตั้งแต่เริ่มต้น ตัวแทน AI ถูกออกแบบมาเป็นโซลูชันที่มีขอบเขตจำกัด มันถูกออกแบบมาเพื่อสนับสนุนเอกสารและให้ความช่วยเหลือผู้ใช้ โดย концепต์ chatbot ถูกตั้งใจให้ทำหน้าที่แทนเอกสารคำถามที่พบบ่อยแบบดั้งเดิม โดยให้インターフェซที่สามารถสนทนา ค้นหา และมีให้ใช้ตลอดเวลา พร้อมฟังก์ชันเพิ่มเติมมากกว่าเนื้อหาสถิติ
เพื่อผสานตัวแทนเข้ากับสภาพแวดล้อมแชทภายในองค์กรของเรา เราต้องเข้าใจว่าข้อความที่มีโครงสร้างถูกแสดงอย่างไร ประวัติการสนทนาถูกเก็บไว้อย่างไร และระบบระบุผู้เข้าร่วมในเธรดอย่างไร ซึ่งช่วยให้เราเข้าใจตัวแปรหลักที่จำเป็นในการเริ่มประมวลผลคำถามของผู้ใช้
การสร้างแบบจำลองที่มีพื้นฐาน: จากการเห็นภาพที่ไม่ถูกต้องไปสู่ контекสต์ที่เชื่อถือได้
โมเดลภาษาขนาดใหญ่มีพลัง แต่หากไม่มีการยึด контекสต์ มันจะเกิดการเห็นภาพที่ไม่ถูกต้อง เพื่อแก้ไขปัญหานี้ เราใช้เทคนิคการฝังเวกเตอร์ เวกเตอร์。
คู่มือผู้ใช้ เอกสารภายใน และวิสัยทัศน์ของผลิตภัณฑ์ถูกแปลงเป็นตัวแทนเวกเตอร์เชิงตัวเลขของข้อความ ซึ่งจับความหมายเชิงсемантиก์ ช่วยให้ระบบจับคู่คอนเซปต์มากกว่าการพึ่งพาแค่การค้นหาคำสำคัญ
เมื่อผู้ใช้ถามคำถาม ระบบจะแปลงคำถามเป็นตัวแทนเวกเตอร์ และเปรียบเทียบกับตัวแทนเวกเตอร์ที่เก็บไว้แล้ว มันจะดึงเอกสารที่เกี่ยวข้องมากที่สุดและใส่เข้าไปในพรอมต์ของโมเดล โมเดลจะสร้างคำตอบที่มีพื้นฐานมาจากเอกสารเหล่านั้น โดยสรุปสารสำคัญที่เกี่ยวข้อง
วิธีนี้ปรับปรุงความแม่นยำของคำตอบอย่างมาก แทนที่จะสร้างคำตอบจากความรู้ทั่วไป โมเดลจะตอบโดยใช้เอกสารขององค์กรของเราเป็น контекสต์
ความซับซ้อนของการบริหารจัดการ контекสต์ที่ซ่อนอยู่
เป็นสิ่งจำเป็นที่จะต้องรวมประวัติการสนทนาเข้ากับพรอมต์เพื่อให้บอทสามารถตีความคำถามที่ตามมาและรักษาความต่อเนื่อง หากไม่มีประวัติ การโต้ตอบจะกลายเป็นแบบกระจัดกระจายและซ้ำซ้อน ผู้ใช้บ่อยครั้งจะปรับคำถามของตนเองอย่างต่อเนื่อง และหากไม่มี контекสต์ บอทไม่สามารถตีความอ้างอิงเช่น “ตัวเลือกนั้น” หรือ “ขั้นตอนก่อนหน้า” ได้
อย่างไรก็ตาม การรวมประวัติที่มากเกินไปก็สร้างปัญหาใหม่: ขีดจำกัดโทเค็น ซึ่งเกิดขึ้นเมื่อโมเดลภาษาทรานค์输เข้าที่เกินขีดจำกัดสูงสุดของ หน้าต่าง контекสต์ หากคำถามหรือการสนทนาเกินความยาวที่กำหนด ข้อมูลสำคัญอาจสูญหายไป ซึ่งไม่ได้สร้างข้อผิดพลาดที่ชัดเจน แต่ทำให้คุณภาพของคำตอบลดลงหรือส่งผลต่อความแม่นยำในการดึงข้อมูล
เพื่อลดปัญหานี้ เราใช้กลยุทธ์เพื่อควบคุมขนาดพรอมต์ จัดลำดับความสำคัญของเนื้อหาที่เกี่ยวข้อง และติดตามความยาวของคำถาม เราทดลองสรุปข้อความเก่าและรวมเฉพาะส่วนที่เกี่ยวข้องมากที่สุดของการสนทนา Kontext คือสิ่งสำคัญ แต่ต้องบริหารจัดการอย่างระมัดระวัง
การขยายความสามารถและสร้างความสับสน
นอกเหนือจากการตอบคำถามเกี่ยวกับเอกสารแล้ว เรายังขยายความสามารถของบอทโดยการเพิ่ม ฟังก์ชันแบ็คเอนด์ ที่สามารถดึงข้อมูลสาธารณะบางอย่างออกจากแอปพลิเคชันโดยตรง ซึ่งช่วยให้ผู้ใช้สามารถดึงข้อมูลจากแชทโดยไม่ต้องเข้าสู่แอปพลิเคชันเอง แนวคิดคือการลดความซับซ้อนและเสริมสร้างบอทให้เป็นอินเทอร์เฟซที่มีประโยชน์ ไม่ใช่แค่ชั้นความรู้ที่คงที่
อย่างไรก็ตาม การขยายความสามารถนี้สร้างความสับสนให้กับผู้ใช้บางคน เมื่อบอทเริ่มดึงข้อมูลแบบเรียลไทม์ ผู้ใช้เริ่มถามให้มันดำเนินการบางอย่างที่ต้องการการโต้ตอบโดยตรงภายในแพลตฟอร์ม พวกเขาคิดว่าบอทสามารถแทนที่ขั้นตอนการดำเนินการ รวมถึงสิ่งที่ต้องการการรับรองความถูกต้องหรือการดำเนินการโดยเจตนาภายในแพลตฟอร์ม
บอทไม่ได้รับการออกแบบมาเพื่อดำเนินการเหล่านั้น แต่ความแตกต่างระหว่างการช่วยเหลือเชิงข้อมูลและการดำเนินการเชิงปฏิบัติไม่ได้ชัดเจนเสมอไป
การรวมข้อมูลแบบเรียลไทม์ยังนำเสนอการพิจารณาทางเทคนิคใหม่ๆ เราต้องกำหนดว่าเมื่อไหร่คำถามควรผ่านการดึงข้อมูลโดยใช้การฝังเวกเตอร์ และเมื่อไหร่ที่ควรกระตุ้นฟังก์ชันแบ็คเอนด์ โลจิกในการตัดสินใจนั้นต้องได้รับการออกแบบอย่างรอบคอบ นอกจากนี้เรายังต้องปรับคำตอบให้สามารถจัดการกับข้อผิดพลาดทางเทคนิคได้อย่างเหมาะสมและหลีกเลี่ยงการเปิดเผยข้อผิดพลาดของระบบให้กับผู้ใช้
ความสามารถหลายภาษาไม่ใช่เรื่องอัตโนมัติ
ระหว่างการทดสอบ เราสังเกตเห็นว่าบอททำงานได้ดีกว่าในภาษาอังกฤษมากกว่าภาษาอื่นๆ ที่ใช้ภายใน Jalasoft สาเหตุหลักคือโครงสร้าง: เอกสารถือเอกสารส่วนใหญ่ที่ใช้ในการสร้างเวกเตอร์เขียนด้วยภาษาอังกฤษ และโมเดลการฝังเวกเตอร์ที่เราเลือกถูกปรับให้เหมาะสมสำหรับความคล้ายคลึงทางсемантиก์ของภาษาอังกฤษ
มันไม่รองรับการดึงข้อมูลแบบข้ามภาษาหรือการเปรียบเทียบเชิงсемантиก์ระหว่างภาษา ดังนั้น คำถามที่ไม่ใช่ภาษาอังกฤษจึงดึงเอกสารที่เกี่ยวข้องน้อยกว่า ส่งผลให้คำตอบอ่อนลง
สิ่งนี้เน้นย้ำถึงข้อคิดที่สำคัญ: ความสามารถหลายภาษาไม่ใช่เรื่องอัตโนมัติ
เมื่อคาดหวังเกินขอบเขต
เพื่อควบคุมต้นทุนการใช้งาน เราได้ใช้ขีดจำกัดรายวันสำหรับจำนวนคำถามที่ผู้ใช้สามารถถามได้ อย่างไรก็ตาม เราไม่ได้จำกัดขอบเขตของคำถามเหล่านั้นอย่างชัดเจน ผู้ใช้สามารถถามอะไรได้ตามใจชอบ
ความเปิดกว้างนี้นำไปสู่รูปแบบการใช้งานที่ไม่คาดคิด บางคนเริ่มโต้ตอบกับบอทเพื่อวัตถุประสงค์ส่วนตัวหรือการสำรวจที่ไม่เกี่ยวข้องกับแอปพลิเคชัน เมื่อเวลาผ่านไป คาดหวังเกินขอบเขตที่บอทสามารถทำได้ ทำให้เกิดช่องว่างระหว่างสิ่งที่ผู้ใช้หวังว่ามันจะทำได้และที่มันถูกออกแบบมาเพื่อสนับสนุน
ช่องว่างนี้ทำให้ความมีประโยชน์ที่รู้สึกลดลง การใช้งานลดลง และบอทถูกทำให้เลิกใช้ โดยมีการกระจายความพยายามไปที่การออกแบบแอปพลิเคชันใหม่เพื่อให้ใช้งานง่ายขึ้น
บทเรียนที่แท้จริง: การออกแบบการโต้ตอบ
จากมุมมองด้านวิศวกรรม ระบบทำงานได้ดี มันสามารถดึงเอกสารมาใส่ในพรอมต์ ลดการเห็นภาพที่ไม่ถูกต้องโดยใช้เวกเตอร์ฝัง การเรียกฟังก์ชันแบ็คเอนด์ และจัดการขนาดพรอมต์ สถาปัตยกรรมทำงานตามที่ตั้งใจ
แต่มันขาดการออกแบบการโต้ตอบที่ตั้งใจ
บอทไม่ได้ช่วยกำหนดรูปแบบการสนทนา มันไม่ได้เสริมสร้างขอบเขตของมันอย่างต่อเนื่อง มันไม่ได้แนะนำผู้ใช้ด้วยตัวอย่างที่มีโครงสร้างว่ามันสามารถทำอะไรและไม่สามารถทำอะไรบ้าง มันแค่ตอบคำถาม แต่ไม่ได้ตั้งค่าคาดหวัง
เราสอนว่าระบบ AI ที่มีการสนทนา cầnมากกว่าโมเดลที่แข็งแกร่งและข้อมูลที่มีโครงสร้าง มัน cầnการออกแบบความคาดหวังที่ดี ผู้ใช้ต้องการความชัดเจนเกี่ยวกับบทบาทของตัวแทน ขอบเขต และจุดแข็งของมัน ระบบต้องให้คำแนะนำพร้อมตัวอย่าง สิ่งเหล่านี้ช่วยให้ผู้ใช้เข้าใจขอบเขตและจุดแข็งของระบบ
หากไม่มีการออกแบบที่ตั้งใจนี้ แม้แต่การนำไปใช้ที่ดีจากด้านเทคนิคก็อาจต้องดิ้นรนเพื่อรักษาคุณค่า ผู้ใช้อาจมีคาดหวังที่สูงเกินไปหรือไม่เชื่อมต่อเมื่อคาดหวังที่ไม่ได้ระบุไม่ได้รับการตอบสนอง
ข้อคิดหลักๆ นั้นเรียบง่ายแต่มีพลัง
การสร้าง AI ที่มีการสนทนาไม่ใช่แค่ท้าทายด้านเทคนิค แต่ยังเป็นท้าทายด้านการออกแบบการโต้ตอบ
контекสต์ที่แข็งแกร่ง การดึงข้อมูลที่แม่นยำ และสถาปัตยกรรมที่แข็งแกร่งจำเป็น แต่ไม่เพียงพอ ความมีประสิทธิผลของระบบขึ้นอยู่กับว่ามันกำหนดบทบาทของมันเอง สื่อสารขอบเขตของมัน และกำหนดความคาดหวังของผู้ใช้อย่างไร
เทคโนโลยีเพียงอย่างเดียวไม่เพียงพอที่จะรับประกันการนำไปใช้ การออกแบบการโต้ตอบที่ชัดเจนเป็นสิ่งจำเป็น












