Sztuczna inteligencja nie zna numerów katalogowych i nie powinna ich znać. To, co model językowy realnie wnosi do wyszukiwania części zamiennych, to warstwa tłumacząca: zamienia potoczny polski opis mechanika na termin, którym producent nazwał tę część w katalogu, pomaga wybrać właściwy węzeł w taksonomii maszyny i zawęzić wynik po numerze seryjnym. Numer katalogowy powinien pochodzić z danych producenta — dobrze zbudowane narzędzie go wyszukuje, a nie generuje z pamięci. Różnica między tymi dwoma zdaniami decyduje o tym, czy narzędzie jest użyteczne, czy niebezpieczne.
Na czym polega problem
Katalog części maszyny budowlanej to nie lista produktów. To hierarchia złożeń: układ → grupa → rysunek złożeniowy → pozycja na rysunku → numer katalogowy. Nazwy pozycji są w języku producenta, najczęściej angielskim, i są to nazwy inżynierskie, a nie nazwy używane przez ludzi, którzy tę część trzymają w ręku.
Mechanik dzwoni do dystrybutora i mówi: „potrzebuję tego koguta na kabinę". W katalogu ta pozycja bywa opisana jako WARNING BEACON albo podobnym terminem z rodziny LAMP. Handlowiec pisze „wiskoza" — w katalogu trzeba szukać terminu z rodziny VISCOUS, najczęściej sprzęgła wentylatora, choć to samo słowo bywa używane również o tłumiku wiskotycznym wału. „Konik" w ogóle nie ma jednego odpowiednika — jego numer wynika ze złożenia, w którym siedzi, i różni się między maszynami. Wyszukiwarka pełnotekstowa po nazwach producenta na żadne z tych zapytań nie odpowie, bo nie ma wspólnego słowa między zapytaniem a rekordem.
To jest sedno problemu i warto je nazwać precyzyjnie: nie chodzi o język, tylko o rejestr. Przetłumaczenie „koguta" na angielskie „rooster" nie pomaga w niczym. Potrzebna jest wiedza, że w słowniku warsztatowym „kogut" oznacza lampę ostrzegawczą, a producent nazywa ją beacon.
Drugi problem to sam rozmiar. Katalog jednego modelu potrafi liczyć od kilku do kilkudziesięciu tysięcy pozycji rozrzuconych po tysiącach rysunków — rozrzut między markami i modelami jest ogromny. Człowiek, który wie, gdzie szukać, dochodzi do pozycji w kilka kliknięć. Człowiek, który nie wie, przeklika się przez drzewo albo dzwoni do kogoś starszego stażem. Wąskim gardłem jest nawigacja, nie dostęp do danych.
Trzeci problem to warianty. Ta sama część w tym samym modelu maszyny ma różne numery katalogowe w zależności od zakresu numerów seryjnych i konfiguracji fabrycznej. Odpowiedź „numer katalogowy dla tej pozycji" bez podania numeru seryjnego bywa po prostu niepełna. Maszyny budowlane mają znormalizowany numer identyfikacyjny (PIN wg ISO 10261) i to od niego zaczyna się rozróżnianie wariantów — problem nie polega na tym, że nie ma czym maszyny zidentyfikować, tylko na tym, że o ten numer trzeba zapytać i umieć go odnieść do zakresów w katalogu.
Co wnosi model językowy
Tłumaczenie opisu na termin katalogowy
Model językowy kojarzy „wiskozę" ze sprzęgłem wiskotycznym wentylatora, bo takie związki występują w tekstach technicznych, na których był trenowany. Nie musi mieć tego zapisanego w słowniku synonimów — potrafi wywnioskować z kontekstu, że pytanie o „koguta na dachu kabiny" dotyczy oświetlenia ostrzegawczego, a nie ptaka.
To jest realna przewaga nad wyszukiwaniem opartym na dopasowaniu słów kluczowych. Słownik synonimów da się zbudować ręcznie, ale slang warsztatowy jest praktycznie nieskończony, regionalny i zmienia się między firmami. Model radzi sobie z częścią wariantów, których nikt nie wpisał do słownika.
Ograniczenie: to działa dobrze dla terminów, które w ogóle występują w tekstach technicznych. Dla wewnętrznego żargonu jednej firmy albo bardzo lokalnego określenia model będzie zgadywał tak samo jak człowiek spoza tej firmy.
Nawigacja po taksonomii
Doświadczony handlowiec nie przeszukuje katalogu tekstem. Wie, że pompa wody siedzi w układzie silnika, i idzie tam bezpośrednio. Model językowy potrafi zrobić to samo: dostać listę układów maszyny, wybrać właściwy, zejść poziom niżej i przeszukać tylko ten fragment katalogu.
Warto tu od razu odnotować pułapkę, która potrafi wysłać szukającego w złe miejsce: układ silnika nie u każdego producenta jest opisany tak samo. W katalogach Komatsu silnik ma zwykle osobny katalog i do jego wnętrza wchodzi się po oznaczeniu silnika, a nie maszyny. W katalogach Caterpillara jest inaczej — części silnika leżą w katalogu samej maszyny, w sekcjach w rodzaju ENGINE AR czy CYLINDER HEAD GP. Zdanie „części silnika określa się po numerze silnika" jest prawdziwe tylko dla części marek, a użyte jako reguła prowadzi do szukania w katalogu, którego dla danej maszyny w ogóle nie ma.
Nawigacja po układach ogranicza szum, którego samo wyszukiwanie tekstowe nie odsiewa. Zapytanie o „filtr" w całym katalogu zwraca wyniki z każdego układu maszyny. To samo zapytanie ograniczone do układu paliwowego zwraca krótką listę, na której właściwa pozycja jest realna do wskazania.
Zawężanie po numerze seryjnym
Jeżeli użytkownik poda numer seryjny maszyny, można odrzucić warianty, które do niego nie pasują. Numery seryjne w katalogach są zapisane jako zakresy — pozycja obowiązuje od pewnego numeru w górę albo w konkretnym przedziale. Dopasowanie zakresu to zwykła logika, ale trzeba wiedzieć, że w ogóle należy o numer seryjny zapytać, i rozpoznać go w swobodnie napisanym zdaniu. Trzeba też liczyć się z tym, że nie każda pozycja w katalogu ma przypisany zakres — tam, gdzie go nie ma, zawężać nie ma po czym.
Prowadzenie rozmowy
Najbardziej niedoceniana rzecz: model może dopytać. „W tym złożeniu jest kilka łożysk na różnych pozycjach — o które chodzi?" to lepsza odpowiedź niż podanie jednego numeru z nadzieją, że trafiony. Klasyczna wyszukiwarka nie ma jak zadać pytania zwrotnego.
Czego model językowy nie wnosi
Tu zaczyna się część, którą dostawcy takich narzędzi opisują najmniej chętnie.
Model nie wymyśli numeru, którego nie ma w danych. Jeżeli pozycja nie została zeskanowana do katalogu albo producent nie udostępnił jej w formie elektronicznej, żaden model tego nie naprawi. Co gorsza, model językowy poproszony o numer katalogowy potrafi wygenerować ciąg znaków, który wygląda jak numer katalogowy — ma prawdopodobną liczbę cyfr i myślnik w prawdopodobnym miejscu. Formaty są przewidywalne: w katalogach spotyka się zapisy w rodzaju 600-185-3100, 1R-0658 (bywa też zapisywane bez myślnika jako 1R0658) czy VOE17533661, a każda marka ma po kilka schematów. Odtworzenie formatu jest trywialne. Trafienie we właściwy numer bez danych — niemożliwe.
Dlatego jedyna architektura, która ma sens w tym zastosowaniu, to taka, w której model wyszukuje w danych i cytuje, a nie generuje z pamięci. Numer, który pojawia się w odpowiedzi, powinien pochodzić z konkretnego rekordu w katalogu, z możliwością pokazania rysunku i pozycji tam, gdzie katalog je zawiera. Jeżeli narzędzie nie potrafi wskazać źródła numeru, ten numer jest podejrzany.
Dane katalogowe nie są kompletne i trzeba to założyć z góry. To nie jest teoretyczne zastrzeżenie. W zbiorze, na którym pracujemy, część pozycji Komatsu — rzędu jednej dziesiątej — w ogóle nie ma wypełnionego numeru katalogowego, mimo że sama pozycja i rysunek są na miejscu. Katalog Caterpillara po ponownym zaciągnięciu ze źródła urósł niemal dwukrotnie względem tego, co mieliśmy wcześniej — czyli wcześniejszy zbiór, wyglądający na kompletny, kompletny nie był. Każde zdanie sugerujące, że dane producenta są pełne, a braki rzadkie i wyjątkowe, jest po prostu nieprawdziwe. Ocena narzędzia, która pomija pytanie o kompletność danych pod spodem, ocenia nie to, co trzeba.
Model nie zastąpi wiedzy o kompatybilności. Że część fizycznie pasuje, że producent wprowadził zamiennik, że w tej konfiguracji stosuje się inny wariant — to wiedza, która albo jest w danych producenta, albo jej nie ma. Model potrafi ją odczytać, nie potrafi jej wytworzyć.
Model nie eliminuje potrzeby weryfikacji. Odpowiedź powinna nieść ze sobą kontekst — rysunek złożeniowy i zakres numerów seryjnych, o ile katalog je zawiera — właśnie po to, żeby człowiek mógł sprawdzić, czy to rzeczywiście ta pozycja. Narzędzie, które podaje sam numer bez kontekstu, przenosi ryzyko na użytkownika i nie daje mu żadnego sposobu, żeby je ocenić.
Model bywa niepewny i powinien to mówić. Uczciwe „nie wiem, który z tych trzech wariantów, podaj numer seryjny" jest wartościowsze niż pewna siebie zła odpowiedź. To akurat kwestia konstrukcji narzędzia, nie samego modelu.
Kategorie rozwiązań
| Kategoria | Co daje | Ograniczenie |
|---|---|---|
| Oficjalny EPC producenta | Dane źródłowe, aktualizowane przez producenta | Osobny system na markę, wyszukiwanie po nazwach producenta, wymaga znajomości struktury katalogu |
| Agregator katalogów | Wiele marek w jednym miejscu | Zakres i sposób wyszukiwania zależą od konkretnego serwisu — często punktem wyjścia pozostaje numer lub nazwa producenta |
| Warstwa wyszukiwania nad katalogiem | Lepsze dopasowanie zapytania do rekordu | Skuteczność zależy od jakości słowników i indeksu |
| Asystent AI nad katalogiem | Zapytanie opisem potocznym, dopytywanie, nawigacja po drzewie | Jakość ograniczona jakością i kompletnością danych pod spodem |
EPC (Electronic Parts Catalogue) to elektroniczny katalog części producenta — punkt odniesienia dla tego, jaki numer katalogowy odpowiada danej pozycji w danej maszynie.
Warto zauważyć, że te kategorie się nie wykluczają. Asystent AI bez porządnego katalogu pod spodem jest generatorem prawdopodobnie wyglądających numerów. Katalog bez warstwy wyszukiwania działa dla osoby, która zna jego strukturę, i nie działa dla nikogo innego.
Tak zbudowany jest Mayster: asystent szuka w danych katalogowych maszyn Komatsu, Caterpillar i Volvo na podstawie opisu potocznego po polsku i pokazuje znalezione pozycje razem z rysunkiem sekcji i zakresem numerów seryjnych — o ile katalog je zawiera. Numer w odpowiedzi pochodzi z rekordu w danych katalogowych, a nie z pamięci modelu; to jest opis architektury narzędzia, a nie obietnica, że każde zapytanie kończy się jednym numerem. Gdy opis pasuje do kilku wariantów albo do kilku pozycji na jednym rysunku, asystent zawęża do sekcji i dopytuje — o numer seryjny, o wariant, o punkt na rysunku — zamiast zgadywać.
Jak ocenić takie narzędzie
Cztery pytania, które warto zadać dostawcy:
- Skąd pochodzi numer w odpowiedzi? Czy narzędzie potrafi pokazać rekord, rysunek i pozycję, z których wziął się wynik?
- Co robi, gdy nie wie? Czy przyznaje się do niepewności i dopytuje, czy zawsze coś odpowiada?
- Czy uwzględnia numer seryjny? Wynik bez zawężenia po numerze seryjnym dla części występujących w wariantach jest niepełny.
- Jak duże jest pokrycie katalogu? Ile modeli, ile pozycji, ile pozycji ma faktycznie wypełniony numer i rysunek, jak aktualne są dane. To pytanie o dane, nie o model — i jest ważniejsze niż pytanie o model.
Takich narzędzi pojawia się coraz więcej, bo problem jest realny, a rozwiązanie sprzed dekady polegało na tym, że w firmie był jeden człowiek, który wiedział, gdzie szukać. Warto tylko trzymać w głowie, że większość wartości takiego narzędzia leży po stronie danych, a nie po stronie modelu. Asystent oparty na słabym katalogu będzie się mylił elegancko, po polsku i z pełnym przekonaniem.
Najczęstsze pytania
Czym jest EPC i czym różni się od zwykłej wyszukiwarki części?
EPC (Electronic Parts Catalogue) to elektroniczny katalog części producenta — punkt odniesienia dla tego, jaki numer katalogowy odpowiada danej pozycji w danej maszynie. Nie jest to lista produktów, tylko hierarchia złożeń: układ, grupa, rysunek złożeniowy, pozycja na rysunku i dopiero numer katalogowy. Oficjalny EPC daje dane źródłowe aktualizowane przez producenta, ale zwykle jest osobnym systemem dla każdej marki, wyszukuje po nazwach producenta i wymaga znajomości struktury katalogu.
Dlaczego wyszukiwarka nie znajduje części, gdy wpiszę jej potoczną nazwę?
Bo między zapytaniem a rekordem nie ma wspólnego słowa. Nazwy pozycji w katalogu są inżynierskie i najczęściej angielskie, a mechanik mówi „kogut" albo „wiskoza". Problem nie polega na języku, tylko na rejestrze — przetłumaczenie „koguta" na „rooster" nie pomaga w niczym, potrzebna jest wiedza, że w słowniku warsztatowym oznacza on lampę ostrzegawczą, którą producent nazywa beacon. Wyszukiwarka pełnotekstowa po nazwach producenta na takie zapytanie nie odpowie.
Czy model językowy może sam podać numer katalogowy z pamięci?
Nie powinien tego robić. Model poproszony o numer katalogowy potrafi wygenerować ciąg znaków, który tylko wygląda jak numer — ma prawdopodobną liczbę cyfr i myślnik w prawdopodobnym miejscu, bo formaty katalogowe są przewidywalne. Odtworzenie formatu jest trywialne, trafienie we właściwy numer bez danych — niemożliwe. Sensowna architektura polega na tym, że model wyszukuje w danych i cytuje konkretny rekord, a jeżeli narzędzie nie potrafi wskazać źródła numeru, ten numer jest podejrzany.
Po co asystent pyta o numer seryjny maszyny?
Bo ta sama część w tym samym modelu maszyny ma różne numery katalogowe w zależności od zakresu numerów seryjnych i konfiguracji fabrycznej. Numery seryjne są w katalogach zapisane jako zakresy — pozycja obowiązuje od pewnego numeru w górę albo w konkretnym przedziale — więc podanie numeru pozwala odrzucić warianty, które do maszyny nie pasują. Maszyny budowlane mają znormalizowany numer identyfikacyjny (PIN wg ISO 10261) i to od niego zaczyna się rozróżnianie wariantów. Nie każda pozycja ma jednak przypisany zakres, a tam, gdzie go nie ma, zawężać nie ma po czym.
Czy części silnika szuka się po numerze silnika, czy po modelu maszyny?
To zależy od producenta i jest to pułapka, która potrafi wysłać szukającego w złe miejsce. W katalogach Komatsu silnik ma zwykle osobny katalog i do jego wnętrza wchodzi się po oznaczeniu silnika, a nie maszyny. W katalogach Caterpillara części silnika leżą w katalogu samej maszyny, w sekcjach w rodzaju ENGINE AR czy CYLINDER HEAD GP. Reguła „części silnika określa się po numerze silnika" jest prawdziwa tylko dla części marek i użyta ogólnie prowadzi do szukania w katalogu, którego dla danej maszyny w ogóle nie ma.
Dlaczego jakość danych jest ważniejsza od samego modelu AI?
Bo model nie wymyśli numeru, którego w danych nie ma. Dane katalogowe bywają niekompletne i trzeba to założyć z góry — w zbiorze, na którym pracujemy, część pozycji Komatsu nie ma w ogóle wypełnionego numeru katalogowego, mimo że sama pozycja i rysunek są na miejscu, a katalog Caterpillara po ponownym zaciągnięciu ze źródła urósł niemal dwukrotnie względem wcześniejszego zbioru, który wyglądał na kompletny. Asystent AI bez porządnego katalogu pod spodem jest generatorem prawdopodobnie wyglądających numerów, więc pytanie o pokrycie katalogu jest ważniejsze niż pytanie o model.
