Khi mọi người nói về việc mở rộng quy mô thương mại điện tử, họ tập trung vào các thử thách kỹ thuật lớn: tìm kiếm phân tán, kiểm kê theo thời gian thực, công cụ đề xuất và tối ưu hóa thanh toán. Nhưng bên dưới tất cả những điều đó là một vấn đề yên tĩnh hơn, dai dẳng hơn mà hầu như mọi nhà bán lẻ đều gặp khó khăn: giá trị thuộc tính.
Thuộc tính là xương sống của việc khám phá sản phẩm. Chúng hỗ trợ bộ lọc, so sánh, xếp hạng tìm kiếm và logic đề xuất. Nhưng trong các danh mục thực tế, giá trị thuộc tính hiếm khi sạch sẽ. Chúng không nhất quán, trùng lặp, sai định dạng hoặc không rõ ràng về mặt ngữ nghĩa.
Lấy một thứ đơn giản như Khối lượng. Bạn có thể thấy:
Code
["XL", "Small", "12cm", "Large", "M", "S"]
Hoặc Màu sắc:
Code
["RAL 3020", "Crimson", "Red", "Dark Red"]
Riêng lẻ, những sự không nhất quán này trông vô hại. Nhưng nhân chúng lên trên 3 triệu SKU, mỗi SKU có hàng chục thuộc tính, và vấn đề trở nên mang tính hệ thống. Các bộ lọc hoạt động không thể đoán trước, các công cụ tìm kiếm mất đi mức độ liên quan, những người quản lý hàng hóa chìm trong việc dọn dẹp thủ công, và việc khám phá sản phẩm trở nên chậm hơn và gây khó chịu hơn cho khách hàng.
Đây là thử thách tôi gặp phải với tư cách là một kỹ sư phần mềm full-stack tại Zoro, một vấn đề dễ bỏ qua nhưng ảnh hưởng đến mọi trang sản phẩm.
Tôi không muốn một AI hộp đen bí ẩn chỉ đơn giản sắp xếp mọi thứ. Các hệ thống như vậy khó tin tưởng, gỡ lỗi hoặc mở rộng quy mô. Thay vào đó, tôi nhắm đến một pipeline:
Kết quả là một pipeline AI hybrid kết hợp lý luận theo ngữ cảnh từ LLM với các quy tắc rõ ràng và kiểm soát của người quản lý hàng hóa. Nó hoạt động thông minh khi cần thiết, nhưng luôn duy trì tính dự đoán được. Đây là AI Agent có rào chắn, không phải AI Agent mất kiểm soát.
Tất cả xử lý thuộc tính diễn ra trong các tác vụ nền ngoại tuyến, không theo thời gian thực. Đây không phải là một sự thỏa hiệp; đó là một lựa chọn kiến trúc chiến lược.
Các pipeline theo thời gian thực nghe có vẻ hấp dẫn, nhưng ở quy mô thương mại điện tử, chúng mang lại:
Ngược lại, các tác vụ ngoại tuyến mang lại cho chúng tôi:
Giữ các hệ thống hướng đến khách hàng tách biệt khỏi các pipeline xử lý dữ liệu là điều cần thiết khi làm việc với hàng triệu SKU.
Trước khi sử dụng AI trên dữ liệu, tôi đã chạy một bước tiền xử lý rõ ràng để loại bỏ nhiễu và nhầm lẫn. Bước này có vẻ đơn giản, nhưng nó cải thiện đáng kể khả năng lý luận của LLM.
Pipeline làm sạch bao gồm:
Điều này đảm bảo LLM nhận được đầu vào sạch sẽ, rõ ràng, đây là chìa khóa cho kết quả nhất quán. Rác vào, rác ra. Ở quy mô này, ngay cả những lỗi nhỏ cũng có thể dẫn đến vấn đề lớn hơn sau này.
LLM không chỉ sắp xếp các giá trị theo thứ tự bảng chữ cái. Nó đang lý luận về chúng.
Dịch vụ nhận:
Với ngữ cảnh này, mô hình có thể hiểu:
Mô hình trả về:
Điều này cho phép pipeline xử lý các loại thuộc tính khác nhau mà không cần mã hóa cứng các quy tắc cho từng danh mục.
Không phải mọi thuộc tính đều cần AI.
Trên thực tế, nhiều thuộc tính được xử lý tốt hơn bằng logic xác định.
Các khoảng số, giá trị dựa trên đơn vị và các tập hợp đơn giản thường được hưởng lợi từ:
Pipeline tự động phát hiện các trường hợp này và sử dụng logic xác định cho chúng. Điều này giữ cho hệ thống hoạt động hiệu quả và tránh các cuộc gọi LLM không cần thiết.
Những người quản lý hàng hóa vẫn cần kiểm soát, đặc biệt đối với các thuộc tính nhạy cảm về mặt kinh doanh.
Vì vậy, mỗi danh mục có thể được gắn thẻ là:
Hệ thống gắn thẻ kép này cho phép mọi người đưa ra quyết định cuối cùng trong khi AI thực hiện phần lớn công việc. Nó cũng xây dựng lòng tin, vì những người quản lý hàng hóa có thể ghi đè mô hình khi cần thiết mà không phá vỡ pipeline.
Tất cả kết quả đều được lưu trữ trực tiếp trong cơ sở dữ liệu Product MongoDB, giữ cho kiến trúc đơn giản và tập trung.
MongoDB trở thành kho lưu trữ hoạt động duy nhất cho:
Điều này giúp dễ dàng xem xét các thay đổi, ghi đè giá trị, xử lý lại danh mục và đồng bộ với các hệ thống khác.
Sau khi được sắp xếp, các giá trị chảy vào:
Điều này đảm bảo rằng:
Tìm kiếm là nơi sắp xếp thuộc tính rõ ràng nhất và nơi tính nhất quán quan trọng nhất.
Để làm cho điều này hoạt động trên hàng triệu SKU, tôi đã thiết kế một pipeline mô-đun được xây dựng xung quanh các tác vụ nền, lý luận AI và tích hợp tìm kiếm. Sơ đồ kiến trúc bên dưới nắm bắt toàn bộ quy trình:
Luồng này đảm bảo rằng mọi giá trị thuộc tính, dù được sắp xếp bởi AI hay được đặt thủ công, đều được phản ánh trong tìm kiếm, bán hàng và trải nghiệm khách hàng.
Đây là cách các giá trị lộn xộn được chuyển đổi:
| Thuộc tính | Giá trị Thô | Đầu ra Đã sắp xếp | |----|----|----| | 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 |
Những ví dụ này cho thấy cách pipeline kết hợp lý luận theo ngữ cảnh với các quy tắc rõ ràng để tạo ra các chuỗi sạch sẽ, dễ hiểu.
Xử lý theo thời gian thực sẽ mang lại:
Các tác vụ ngoại tuyến mang lại cho chúng tôi:
Sự đánh đổi là một độ trễ nhỏ giữa việc thu thập dữ liệu và hiển thị, nhưng lợi ích là tính nhất quán ở quy mô, điều mà khách hàng đánh giá cao hơn nhiều.
Kết quả rất đáng kể:
Đây không chỉ là một chiến thắng kỹ thuật; nó còn là một chiến thắng cho trải nghiệm người dùng và doanh thu.
Sắp xếp giá trị thuộc tính nghe có vẻ đơn giản, nhưng nó trở thành một thử thách thực sự khi bạn phải làm điều đó cho hàng triệu sản phẩm.
Bằng cách kết hợp trí thông minh LLM với các quy tắc rõ ràng và kiểm soát của người quản lý hàng hóa, tôi đã chuyển đổi một vấn đề phức tạp, ẩn giấu thành một hệ thống sạch sẽ, có thể mở rộng quy mô.
Đó là một lời nhắc nhở rằng một số chiến thắng lớn nhất đến từ việc giải quyết các vấn đề nhàm chán, những vấn đề dễ bỏ lỡ nhưng xuất hiện trên mọi trang sản phẩm.
\n \n \n


