Kiedy ludzie mówią o skalowaniu e-commerce, koncentrują się na dużych wyzwaniach inżynieryjnych: rozproszonym wyszukiwaniu, zapasach w czasie rzeczywistym, silnikach rekomendacji i optymalizacji procesu płatności. Ale pod tym wszystkim kryje się cichszy, bardziej trwały problem, z którym zmaga się prawie każdy sprzedawca: wartości atrybutów.
Atrybuty są kręgosłupem odkrywania produktów. Napędzają filtry, porównania, ranking wyszukiwania i logikę rekomendacji. Ale w prawdziwych katalogach wartości atrybutów rzadko są czyste. Są niespójne, zduplikowane, źle sformatowane lub semantycznie niejednoznaczne.
Weźmy coś tak prostego jak Rozmiar. Możesz zobaczyć:
Kod
["XL", "Small", "12cm", "Large", "M", "S"]
Lub Kolor:
Kod
["RAL 3020", "Crimson", "Red", "Dark Red"]
Pojedynczo te niespójności wyglądają nieszkodliwie. Ale pomnóż je przez ponad 3 miliony SKU, każde z dziesiątkami atrybutów, a problem staje się systemowy. Filtry zachowują się nieprzewidywalnie, wyszukiwarki tracą trafność, merchandiserzy toną w ręcznym porządkowaniu, a odkrywanie produktów staje się wolniejsze i bardziej frustrujące dla klientów.
To było wyzwanie, przed którym stanąłem jako inżynier oprogramowania full-stack w Zoro, problem, który łatwo było przeoczyć, ale który wpływał na każdą stronę produktu.
Nie chciałem tajemniczej czarnej skrzynki AI, która po prostu sortuje rzeczy. Systemy takie są trudne do zaufania, debugowania czy skalowania. Zamiast tego dążyłem do pipeline'u, który był:
Rezultatem był hybrydowy pipeline AI, który łączy kontekstowe rozumowanie z LLM z jasnymi zasadami i kontrolami merchandiserów. Działa inteligentnie, gdy trzeba, ale zawsze pozostaje przewidywalny. To AI z barierkami ochronnymi, nie AI wymykające się spod kontroli.
Całe przetwarzanie atrybutów odbywa się w offline'owych zadaniach w tle, nie w czasie rzeczywistym. To nie był kompromis; to był strategiczny wybór architektoniczny.
Pipeline'y w czasie rzeczywistym brzmią atrakcyjnie, ale w skali e-commerce wprowadzają:
Zadania offline z kolei dały nam:
Utrzymywanie systemów obsługujących klientów oddzielnie od pipeline'ów przetwarzania danych jest niezbędne podczas pracy z milionami SKU.
Przed użyciem AI na danych przeprowadziłem wyraźny krok wstępnego przetwarzania, aby usunąć szum i zamieszanie. Ten krok może brzmieć prosto, ale znacznie poprawił rozumowanie LLM.
Pipeline czyszczenia obejmował:
To zapewniło, że LLM otrzymał czysty, jasny input, co jest kluczem do spójnych wyników. Śmieci na wejściu, śmieci na wyjściu. W tej skali nawet małe błędy mogą prowadzić do większych problemów później.
LLM nie tylko sortował wartości alfabetycznie. Rozumował o nich.
Usługa otrzymywała:
Z tym kontekstem model mógł zrozumieć:
Model zwracał:
To pozwala pipeline'owi obsługiwać różne typy atrybutów bez kodowania na stałe zasad dla każdej kategorii.
Nie każdy atrybut potrzebuje AI.
W rzeczywistości wiele atrybutów jest lepiej obsługiwanych przez logikę deterministyczną.
Zakresy numeryczne, wartości oparte na jednostkach i proste zestawy często korzystają z:
Pipeline automatycznie wykrywał te przypadki i używał dla nich logiki deterministycznej. To utrzymywało system wydajnym i unikało niepotrzebnych wywołań LLM.
Merchandiserzy wciąż potrzebowali kontroli, szczególnie dla atrybutów wrażliwych biznesowo.
Więc każda kategoria mogła być oznaczona jako:
Ten system podwójnego tagowania pozwala ludziom podejmować ostateczne decyzje, podczas gdy AI wykonywała większość pracy. Budował również zaufanie, ponieważ merchandiserzy mogli przesłonić model, gdy było to potrzebne, bez psowania pipeline'u.
Wszystkie wyniki były przechowywane bezpośrednio w bazie danych Product MongoDB, utrzymując architekturę prostą i scentralizowaną.
MongoDB stało się pojedynczym magazynem operacyjnym dla:
To ułatwiło przeglądanie zmian, nadpisywanie wartości, ponowne przetwarzanie kategorii i synchronizację z innymi systemami.
Po posortowaniu wartości trafiały do:
To zapewniło, że:
Wyszukiwanie to miejsce, gdzie sortowanie atrybutów jest najbardziej widoczne i gdzie spójność ma największe znaczenie.
Aby to działało dla milionów SKU, zaprojektowałem modułowy pipeline zbudowany wokół zadań w tle, rozumowania AI i integracji z wyszukiwaniem. Poniższy diagram architektury przedstawia pełny przepływ:
Ten przepływ zapewnia, że każda wartość atrybutu, czy posortowana przez AI, czy ustawiona ręcznie, jest odzwierciedlona w wyszukiwaniu, merchandisingu i doświadczeniu klienta.
Oto jak chaotyczne wartości zostały przekształcone:
| Atrybut | Surowe wartości | Uporządkowane wyjście | |----|----|----| | Rozmiar | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm | | Kolor | RAL 3020, Crimson, Red, Dark Red | Red, Dark Red, Crimson, Red (RAL 3020) | | Materiał | Steel, Carbon Steel, Stainless, Stainless Steel | Steel, Stainless Steel, Carbon Steel | | Numeryczne | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |
Te przykłady pokazują, jak pipeline łączy kontekstowe rozumowanie z jasnymi zasadami, aby stworzyć czyste, łatwe do zrozumienia sekwencje.
Przetwarzanie w czasie rzeczywistym wprowadziłoby:
Zadania offline dały nam:
Kompromisem było niewielkie opóźnienie między pozyskaniem danych a wyświetleniem, ale korzyścią była spójność na skalę, co klienci cenią znacznie bardziej.
Wyniki były znaczące:
To było nie tylko zwycięstwo techniczne; było to również zwycięstwo dla doświadczenia użytkownika i przychodu.
Sortowanie wartości atrybutów brzmi prosto, ale staje się prawdziwym wyzwaniem, gdy trzeba to zrobić dla milionów produktów.
Łącząc inteligencję LLM z jasnymi zasadami i kontrolą merchandiserów, przekształciłem złożony, ukryty problem w czysty, skalowalny system.
To przypomnienie, że niektóre z największych zwycięstw pochodzą z rozwiązywania nudnych problemów, tych, które łatwo przeoczyć, ale które pojawiają się na każdej stronie produktu.
\n \n \n


