เมื่อผู้คนพูดถึงการขยายขนาดอีคอมเมิร์ซ พวกเขามักจะมุ่งเน้นไปที่ความท้าทายด้านวิศวกรรมขนาดใหญ่: การค้นหาแบบกระจาย สินค้าคงคลังแบบเรียลไทม์ เครื่องมือแนะนำสินค้า และการเพิ่มประสิทธิภาพการชำระเงิน แต่ภายใต้ทั้งหมดนั้น มีปัญหาที่เงียบกว่าและคงอยู่นานกว่าที่ผู้ค้าปลีกเกือบทุกรายต้องดิ้นรนกับมัน: ค่าแอตทริบิวต์
แอตทริบิวต์คือกระดูกสันหลังของการค้นพบสินค้า พวกมันขับเคลื่อนตัวกรอง การเปรียบเทียบ การจัดอันดับการค้นหา และตรรกะการแนะนำ แต่ในแคตตาล็อกจริง ค่าแอตทริบิวต์ไม่ค่อยจะสะอาด มันไม่สอดคล้องกัน ซ้ำกัน จัดรูปแบบผิด หรือมีความหมายคลุมเครือ
ลองดูสิ่งที่เรียบง่ายอย่าง ขนาด คุณอาจเห็น:
Code
["XL", "Small", "12cm", "Large", "M", "S"]
หรือ สี:
Code
["RAL 3020", "Crimson", "Red", "Dark Red"]
เมื่อดูแต่ละรายการ ความไม่สอดคล้องเหล่านี้ดูไม่เป็นอันตราย แต่ลองคูณมันข้ามกว่า 3 ล้าน SKU โดยแต่ละรายการมีหลายสิบแอตทริบิวต์ และปัญหาก็กลายเป็นระบบ ตัวกรองทำงานอย่างคาดเดาไม่ได้ เครื่องมือค้นหาสูญเสียความเกี่ยวข้อง นักจัดการสินค้าจมอยู่ในการทำความสะอาดด้วยตนเอง และการค้นพบสินค้าก็ช้าลงและน่าหงุดหงิดยิ่งขึ้นสำหรับลูกค้า
นี่คือความท้าทายที่ผมเผชิญในฐานะวิศวกรซอฟต์แวร์แบบ full-stack ที่ Zoro ปัญหาที่มองข้ามได้ง่ายแต่ส่งผลกระทบต่อทุกหน้าสินค้า
ผมไม่ต้องการ AI แบบกล่องดำลึกลับที่แค่จัดเรียงสิ่งของ ระบบแบบนั้นยากต่อการเชื่อถือ แก้ไขจุดบกพร่อง หรือขยายขนาด แทนที่จะเป็นเช่นนั้น ผมมุ่งหาไปป์ไลน์ที่:
ผลลัพธ์คือไปป์ไลน์ AI แบบผสมผสานที่รวมการให้เหตุผลตามบริบทจาก LLM เข้ากับกฎเกณฑ์ที่ชัดเจนและการควบคุมของนักจัดการสินค้า มันทำงานอย่างฉลาดเมื่อจำเป็น แต่ยังคงคาดการณ์ได้เสมอ นี่คือ AI ที่มีราวกั้น ไม่ใช่ AI ที่ควบคุมไม่ได้
การประมวลผลแอตทริบิวต์ทั้งหมดเกิดขึ้นในงานเบื้องหลังแบบออฟไลน์ ไม่ใช่แบบเรียลไทม์ นี่ไม่ใช่ข้อประนีประนอม มันเป็นตัวเลือกด้านสถาปัตยกรรมเชิงกลยุทธ์
ไปป์ไลน์แบบเรียลไทม์ฟังดูน่าดึงดูด แต่ที่ระดับอีคอมเมิร์ซ พวกมันนำมาซึ่ง:
ในขณะที่งานแบบออฟไลน์ให้เรา:
การแยกระบบที่หันหน้าไปหาลูกค้าออกจากไปป์ไลน์การประมวลผลข้อมูลเป็นสิ่งสำคัญเมื่อทำงานกับ SKU หลายล้าน
ก่อนใช้ AI กับข้อมูล ผมใช้ขั้นตอนการประมวลผลล่วงหน้าที่ชัดเจนเพื่อกำจัดสัญญาณรบกวนและความสับสน ขั้นตอนนี้อาจฟังดูเรียบง่าย แต่มันช่วยปรับปรุงการให้เหตุผลของ LLM อย่างมาก
ไปป์ไลน์การทำความสะอาดรวมถึง:
สิ่งนี้ทำให้แน่ใจว่า LLM ได้รับอินพุตที่สะอาดและชัดเจน ซึ่งเป็นกุญแจสำคัญต่อผลลัพธ์ที่สอดคล้อง ขยะเข้าขยะออก ในขนาดนี้ แม้แต่ข้อผิดพลาดเล็กน้อยก็สามารถนำไปสู่ปัญหาที่ใหญ่ขึ้นในภายหลัง
LLM ไม่ได้แค่จัดเรียงค่าตามตัวอักษร มันกำลังให้เหตุผลเกี่ยวกับพวกมัน
บริการได้รับ:
ด้วยบริบทนี้ โมเดลสามารถเข้าใจได้ว่า:
โมเดลส่งคืน:
สิ่งนี้ให้ไปป์ไลน์จัดการแอตทริบิวต์ประเภทต่างๆ ได้โดยไม่ต้องเขียนกฎเกณฑ์แบบฮาร์ดโค้ดสำหรับทุกหมวดหมู่
แอตทริบิวต์ทุกตัวไม่จำเป็นต้องใช้ AI
อันที่จริง แอตทริบิวต์หลายตัวจัดการได้ดีกว่าด้วยตรรกะแบบแน่นอน
ช่วงตัวเลข ค่าตามหน่วย และชุดง่ายๆ มักได้ประโยชน์จาก:
ไปป์ไลน์ตรวจจับกรณีเหล่านี้โดยอัตโนมัติและใช้ตรรกะแบบแน่นอนสำหรับพวกมัน สิ่งนี้ทำให้ระบบมีประสิทธิภาพและหลีกเลี่ยงการเรียก LLM ที่ไม่จำเป็น
นักจัดการสินค้ายังคงต้องการการควบคุม โดยเฉพาะสำหรับแอตทริบิวต์ที่สำคัญต่อธุรกิจ
ดังนั้นแต่ละหมวดหมู่จึงสามารถแท็กเป็น:
ระบบแท็กแบบคู่นี้ให้ผู้คนทำการตัดสินใจขั้นสุดท้ายในขณะที่ AI ทำงานส่วนใหญ่ นอกจากนี้ยังสร้างความไว้วางใจ เพราะนักจัดการสินค้าสามารถแทนที่โมเดลเมื่อจำเป็นโดยไม่ทำให้ไปป์ไลน์พัง
ผลลัพธ์ทั้งหมดถูกเก็บไว้โดยตรงในฐานข้อมูล Product MongoDB ทำให้สถาปัตยกรรมเรียบง่ายและรวมศูนย์
MongoDB กลายเป็นที่เก็บข้อมูลการดำเนินงานเดียวสำหรับ:
สิ่งนี้ทำให้ง่ายต่อการตรวจสอบการเปลี่ยนแปลง แทนที่ค่า ประมวลผลหมวดหมู่ใหม่ และซิงค์กับระบบอื่นๆ
เมื่อจัดเรียงแล้ว ค่าจะไหลเข้าไปใน:
สิ่งนี้ทำให้แน่ใจว่า:
การค้นหาคือจุดที่การจัดเรียงแอตทริบิวต์มองเห็นได้ชัดเจนที่สุด และที่ความสอดคล้องสำคัญที่สุด
เพื่อให้สิ่งนี้ทำงานได้ข้าม SKU หลายล้าน ผมออกแบบไปป์ไลน์แบบโมดูลาร์ที่สร้างขึ้นจากงานเบื้องหลัง การให้เหตุผลของ AI และการรวมระบบการค้นหา แผนภาพสถาปัตยกรรมด้านล่างจับการไหลทั้งหมด:
การไหลนี้ทำให้แน่ใจว่าค่าแอตทริบิวต์ทุกตัว ไม่ว่าจะจัดเรียงโดย AI หรือตั้งค่าด้วยตนเอง ได้รับการสะท้อนในการค้นหา การจัดการสินค้า และประสบการณ์ของลูกค้า
นี่คือวิธีที่ค่าที่ยุ่งเหยิงถูกเปลี่ยนแปลง:
| Attribute | Raw Values | Ordered Output | |----|----|----| | Size | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm | | Color | RAL 3020, Crimson, Red, Dark Red | Red, Dark Red, Crimson, Red (RAL 3020) | | Material | Steel, Carbon Steel, Stainless, Stainless Steel | Steel, Stainless Steel, Carbon Steel | | Numeric | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |
ตัวอย่างเหล่านี้แสดงให้เห็นว่าไปป์ไลน์รวมการให้เหตุผลตามบริบทเข้ากับกฎเกณฑ์ที่ชัดเจนเพื่อสร้างลำดับที่สะอาดและเข้าใจง่าย
การประมวลผลแบบเรียลไทม์จะนำมาซึ่ง:
งานออฟไลน์ให้เรา:
การแลกเปลี่ยนคือความล่าช้าเล็กน้อยระหว่างการรับข้อมูลและการแสดงผล แต่ประโยชน์คือความสอดคล้องในระดับขนาดใหญ่ ซึ่งลูกค้าให้ความสำคัญมากกว่ามาก
ผลลัพธ์มีนัยสำคัญ:
นี่ไม่ใช่แค่ชนะทางเทคนิค มันเป็นชัยชนะสำหรับประสบการณ์ผู้ใช้และรายได้ด้วย
การจัดเรียงค่าแอตทริบิวต์ฟังดูเรียบง่าย แต่มันกลายเป็นความท้าทายที่แท้จริงเมื่อคุณต้องทำมันสำหรับสินค้าหลายล้านรายการ
โดยการรวมความฉลาดของ LLM เข้ากับกฎเกณฑ์ที่ชัดเจนและการควบคุมของนักจัดการสินค้า ผมเปลี่ยนปัญหาที่ซับซ้อนและซ่อนอยู่ให้กลายเป็นระบบที่สะอาดและขยายขนาดได้
มันเป็นการเตือนใจว่าชัยชนะที่ยิ่งใหญ่ที่สุดบางอย่างมาจากการแก้ปัญหาที่น่าเบื่อ ปัญหาที่มองข้ามได้ง่ายแต่ปรากฏอยู่ในทุกหน้าสินค้า
\n \n \n