Poproś dowolny model językowy o opis produktu, podając mu wyłącznie nazwę i cenę. Dostaniesz gładki, przekonujący tekst. Będzie w nim materiał, będzie zastosowanie, prawdopodobnie pojawi się pojemność albo wymiar.
Skąd model wziął te informacje? Nie wziął ich znikąd. Uzupełnił lukę tym, co statystycznie pasuje do produktów o podobnej nazwie. Dla większości zastosowań to nawet działa. Przy opisie produktu, który klient kupi i rozpakuje w domu, to jest wprowadzanie w błąd.
Ten tekst jest o tym, jak sobie z tym radzimy. Pokazujemy mechanizm, bo uważamy, że przy AI w e-commerce jest to ważniejsze niż jakiekolwiek hasło o jakości.
Dlaczego to nie jest problem, który znika z lepszym modelem
Kuszące jest myślenie, że to kwestia czasu i że kolejna generacja modeli przestanie zmyślać. To nieporozumienie co do natury problemu.
Model nie ma jak odróżnić „nie podano materiału" od „materiał jest oczywisty i nie trzeba go podawać". Poproszony o pełny opis, produkuje pełny opis. Instrukcja w promptcie typu „nie zmyślaj" pomaga statystycznie i zawodzi regularnie, szczególnie przy dużej skali. Przy tysiącu ofert nawet niski odsetek zmyśleń to dziesiątki wadliwych opisów.
Sam prompt więc nie wystarcza. Potrzebna jest osobna warstwa, która sprawdza wynik.
Jak to działa u nas
Mechanizm ma trzy elementy.
Korpus faktów. Zanim powstanie opis, budujemy zestaw tego, co o produkcie faktycznie wiadomo, z jawnym rozróżnieniem wiarygodności. Potwierdzone atrybuty z danych produktowych mają wysokie zaufanie. Tytuł ma wysokie zaufanie. Opis źródłowy od dostawcy dostaje niższe zaufanie, bo dostawcy też się mylą i przeklejają treści między produktami. To rozróżnienie ma znaczenie: fakt z atrybutu waży więcej niż zdanie z marketingowego opisu hurtowni.
Rozbicie opisu na twierdzenia. Wygenerowany opis nie jest oceniany jako całość, tylko rozkładany na pojedyncze twierdzenia. „Wykonany z bawełny organicznej" to jedno twierdzenie. „Nadaje się do prania w 40 stopniach" to drugie. Każde dostaje własną ocenę, bo opis bywa w 90% poprawny i w 10% zmyślony, a ocena całościowa taki przypadek przepuszcza.
Werdykt per twierdzenie. Każde twierdzenie jest zestawiane z korpusem faktów i dostaje jedną z dwóch decyzji: zostaje albo wypada. Twierdzenie, które nie ma pokrycia w danych źródłowych, jest usuwane z opisu, zanim oferta trafi na marketplace.
Efekt jest taki, że opis może wyjść krótszy, niż byłby bez tej kontroli. Uważamy to za cechę, nie za wadę. Krótszy prawdziwy opis jest wart więcej niż dłuższy, w którym jedno zdanie na dziesięć jest wymyślone, bo to właśnie to jedno zdanie generuje zwrot, reklamację i negatywną ocenę.
Co ten mechanizm celowo przepuszcza
Tu zaczyna się część, której zwykle nie znajdziesz w materiałach marketingowych, a bez której cały opis powyżej byłby nieuczciwy.
Sędzia treści działa w trybie fail-open. Jeżeli z jakiegoś powodu nie da się go uruchomić, na przykład przy awarii po stronie dostawcy modelu, opis przechodzi dalej bez weryfikacji, zamiast blokować całą produkcję.
To jest świadomy kompromis i warto rozumieć obie strony. Tryb odwrotny, fail-closed, oznaczałby, że awaria jednego komponentu zatrzymuje wystawianie ofert wszystkim klientom naraz. Wybraliśmy dostępność, płacąc za to tym, że w rzadkich sytuacjach opis przechodzi niesprawdzony.
Druga granica jest ważniejsza: weryfikacja może działać tylko na danych, które istnieją. Jeżeli dostawca przysłał plik z samą nazwą i ceną, sędzia wytnie zmyślone parametry, ale nie wyczaruje prawdziwych. Zostanie krótki, ubogi opis. Rozwiązaniem nie jest wtedy luźniejsza AI, tylko lepsze dane źródłowe. Dlatego przy ubogich feedach pracujemy nad wzbogaceniem danych z materiałów producenta, zamiast pozwalać modelowi zgadywać.
Jak sprawdzić to u siebie, niezależnie od dostawcy narzędzia
Jeżeli używasz dziś jakiegokolwiek generatora opisów, zrób ten test. Zajmuje kwadrans i jest bezlitosny.
Wybierz pięć produktów, dla których masz wyjątkowo ubogie dane, na przykład samą nazwę i cenę. Wygeneruj opisy. Przeczytaj każde zdanie i przy każdym konkrecie zadaj jedno pytanie: skąd system to wie?
Jeśli w opisie pojawia się materiał, którego nie ma w danych, pojemność, której nikt nie podał, albo zastosowanie, które brzmi rozsądnie, ale nie wynika z niczego, masz odpowiedź. System zgaduje, tylko robi to płynnie.
Ten test jest tak skuteczny, bo przy bogatych danych każdy generator wygląda dobrze. Różnice widać dopiero tam, gdzie danych brakuje, bo wtedy jedne systemy milczą, a inne konfabulują.
Dlaczego w ogóle o tym piszemy
Można by ten rozdział przemilczeć. Opis mechanizmu, który wycina zdania, i przyznanie się do trybu fail-open nie są typowym materiałem sprzedażowym.
Piszemy o tym, bo przy wystawianiu tysięcy ofert to jest realne ryzyko biznesowe, a nie techniczny detal. Zmyślony parametr w opisie to zwrot towaru, reklamacja, czasem odpowiedzialność za wprowadzenie w błąd. Sprzedawca, który tego nie kontroluje, dowiaduje się o problemie od klienta.
Wolimy pokazać, gdzie są granice, niż obiecywać, że ich nie ma.
Chcesz przetestować to na swoim najtrudniejszym asortymencie, tym z najuboższymi danymi? Wypróbuj EcomPilota na tych produktach, nie na najłatwiejszych.