Sześć prawdziwych problemów.Co zbudowaliśmy. Co się zmieniło.
Pokazujemy, jaki problem rozwiązujemy, co wybraliśmy i co się zmieniło. Piszemy też, z czego zrezygnowaliśmy i kiedy przerwalibyśmy pracę. W sekcji „Pod maską” znajdziesz technologie, testy i ograniczenia. Wyjaśniamy też terminy techniczne.
01
Badań nad rakiem płuca przybywa szybciej, niż onkolog jest w stanie je przeczytać.
Onkolodzy potrzebują wyników badań pasujących do konkretnego pacjenta. Muszą też wiedzieć, dlaczego system je wybrał. Od nowych odkryć do uwzględnienia ich w wytycznych klinicznych potrafią minąć lata.
Projekt sześcioosobowego zespołu w programie MIT AI/ML: Leading Business Growth. Mario odpowiadał za strategię, plan i wdrożenie, wykonał większość pracy nad danymi i ewaluacją oraz zbudował całą aplikację.
Co braliśmy pod uwagę
Chatbot odpowiadający na pytania medyczneBrzmi pewnie, nawet gdy się myli.Model wytrenowany na artykułach medycznychSamo wytrenowanie modelu nie pozwala sprawdzić, z jakiego źródła pochodzi odpowiedź.Agent AI, który sam szuka i decydujeZbyt duża swoboda w zadaniu, w którym błąd może mieć poważne skutki.
Wybraliśmy: Stałe reguły dopasowują badania do pacjenta i ustalają kolejność wyników. AI poszerza wyszukiwanie o badania, które reguły mogłyby pominąć.
Jak wygląda praca
Przed
Onkolog analizuje przypadek pacjenta, przeszukuje kilka baz i czyta kolejne artykuły. Sprawdza, czy badania pasują do stadium choroby i biomarkerów pacjenta, a potem porównuje je z wytycznymi. Zostaje mało czasu na sprawdzenie, skąd pochodzą informacje w streszczeniach.
Po
Onkolog raz wpisuje dane pacjenta: stadium choroby, typ tkanki, linię leczenia i biomarkery. Nawigator pokazuje pasujące badania w kolejności wynikającej ze stałej punktacji. Przy każdym podaje źródło i informację o zgodności z wytycznymi ESMO. Badania budzące wątpliwości trafiają do ręcznego przeglądu. Za ocenę i decyzje kliniczne odpowiada lekarz.
AI w tym systemie
Reguły
Porządkują dane pacjenta
Reguły
Dopasowują badania do pacjenta
AI
Znajduje badania, które reguły pominęły
Reguły
Porządkują wyniki i porównują z wytycznymi
Ludzie
Onkolodzy sprawdzają niejasne wyniki
AI wykonuje jeden z pięciu kroków. Poszerza wyszukiwanie. Nigdy nie ocenia badania ani nie decyduje.
Kiedy przerwalibyśmy pracę
- nie da się sprawdzić cytatu w jego źródle
- system wymyśla fakt medyczny
- odpowiedzi czyta się lepiej, ale są mniej poprawne niż w zwykłej wyszukiwarce
- onkolodzy nie ufają systemowi albo z niego nie korzystają
Efekty i status
+44% więcej dopasowanych wyników po dodaniu wyszukiwania AI: 704 zamiast 490. Wynik dla stałego zestawu 15 przypadków testowych, po sprawdzeniu przez reguły.
Wdrożone jako publiczne MVP. Pomaga onkologom analizować badania. Za decyzje kliniczne odpowiada lekarz. System odnajduje 40% oczekiwanych badań (recall). To działający prototyp, który nie jest jeszcze gotowy do zastosowań klinicznych.
Zobacz stronę projektuPod maską
Technologie, testy i ograniczenia. Terminy wyjaśniamy po ludzku.
Technologie
- Silnik reguł w Pythonie
- FastAPI
- Next.js 15
- React 19
- Vercel
- Supabase Postgres
- Qdrant Cloud
- OpenRouter
- text-embedding-3-small
- Gemini 2.5 Flash, opcjonalnie
- PubMed
- Wytyczne ESMO
Terminy po ludzku
- Deterministyczne dopasowanie kohort
- Stałe reguły sprawdzają, czy pacjenci z badania przypominają tego pacjenta. Te same dane wejściowe zawsze dają ten sam wynik.
- Wskaźnik dowodów ERS
- Każde badanie dostaje punkty za projekt badania, siłę wyników, aktualność i wiarygodność źródła. Każdy może sprawdzić, dlaczego jedno badanie jest wyżej od drugiego.
- Wyszukiwanie hybrydowe: wektory gęste i rzadkie
- System łączy wyszukiwanie według znaczenia z wyszukiwaniem dokładnych słów. Dzięki temu może znaleźć badanie, w którym to samo opisano innymi terminami.
- Embeddingi, 1 536 wymiarów
- System zapisuje każdy tekst jako listę 1 536 liczb. Porównując te listy, ocenia podobieństwo znaczenia tekstów.
- Reciprocal Rank Fusion (RRF)
- Łączy dwie listy według pozycji wyników. Różne skale punktacji obu wyszukiwań nie zaburzają wtedy wspólnej kolejności.
- Porównanie z wytycznymi
- Każde badanie jest oznaczone jako zgodne, sprzeczne albo nieobjęte wytycznymi ESMO, europejskim standardem opieki onkologicznej.
Jak to testujemy
- Punkt odniesienia: ręczny przegląd badań i zwykłe wyszukiwanie po słowach kluczowych. Sprawdzamy, czy system daje lepsze wyniki. Płynna odpowiedź nie wystarczy.
- Miary: poprawność wyszukiwania, zgodność cytatów i odpowiedzi ze źródłami, czas znalezienia dowodów naukowych oraz zgodność ocen onkologów. Analizujemy też błędy.
- Zestawy testowe: od 10 do 15 przypadków pacjentów z materiałami z PubMed i ESMO. Są na tyle małe, że można je sprawdzić ręcznie i celowo wprowadzić błędy, by przetestować reakcję systemu. Macierz pomyłek pokazuje między innymi istotne badania, które system pominął (wyniki fałszywie negatywne).
- Stały zestaw porównawczy obejmuje 15 przypadków pacjentów. Obecna wersja odnajduje 40% oczekiwanych badań (recall), a pozostałe pomija. Pierwsza etykieta jest poprawna w 8 z 15 przypadków (53%), a dokładny temat wytycznych w 4 z 15 (27%). To niskie wyniki. Pokazujemy je wprost na stronie projektu.
- Wyszukiwanie hybrydowe na tym samym zestawie znalazło 487 dodatkowych badań. Po sprawdzeniu przez reguły przybyło 214 dopasowanych wyników (704 zamiast 490). Każdą końcową etykietę nadal ustala silnik reguł.
Odrzucone
Uznawanie swobodnych odpowiedzi modelu językowego (LLM) za rozstrzygające. Mogą zmieniać się przy kolejnych uruchomieniach i trudno sprawdzić, skąd się wzięły. Model pozostaje opcjonalnym narzędziem do streszczania źródeł i pomocy przy imporcie danych. Nie rozstrzyga kwestii klinicznych.
Co się zepsuło
Silnik reguł nie rozpoznawał różnych określeń tego samego leczenia. Lekarz mógł rozumieć egfr-tki, tki i targeted jako to samo, a kod traktował je jak trzy różne etykiety. Zespół zbudował więc wspólny słownik dla danych pacjentów, PubMed i ESMO.
Kolejność budowy
Najpierw powstał silnik reguł ze środowiskiem testowym. Następnie zespół przygotował małe zestawy testowe, oczyścił dane i zbudował wspólny słownik. Potem powstała aplikacja internetowa z działającym silnikiem reguł. Wyszukiwanie hybrydowe zespół dodał w siódmym kroku, a opcjonalne streszczenia AI na końcu.
Co zapisuje
Przy każdej odpowiedzi system zapisuje dokument źródłowy, fragment uzasadniający odpowiedź, wersję danych, reguły wyszukiwania, model, instrukcje dla modelu i ich ustawienia oraz historię przeglądu.
02
Obsługa umów z freelancerami była rozproszona między maile i arkusze. Zewnętrzna firma doliczała około 30% wartości każdej umowy.
Agencja eventowa i marketingowa współpracuje z wieloma freelancerami. Dla każdego trzeba przygotować umowę, zebrać podpisy i zlecić wypłatę. Brakowało wspólnego widoku: na jakim etapie jest umowa i kto ma wykonać następny krok.
Co braliśmy pod uwagę
AI, które pisze umowyRyzyko prawne było zbyt duże.AI, które szkicuje opis każdego zleceniaZatwierdzona lista rodzajów prac robi to bez zgadywania.
Wybraliśmy: Jeden proces oparty na zatwierdzonych wzorach umów. Ludzie sprawdzają etapy, na których błąd może mieć poważne skutki. AI nie jest tu potrzebna.
Jak wygląda praca
Przed
Producent angażuje freelancera do pracy przy wydarzeniu. Dane osobowe i podatkowe krążą w mailach i arkuszach, a formalności obsługuje zewnętrzna firma. Informacji o postępie trzeba szukać w korespondencji. Gdy umowa utknie, trudno ustalić na jakim etapie.
Po
Producent wybiera projekt i rodzaj pracy z zatwierdzonej listy. Freelancer dostaje indywidualny link i raz podaje swoje dane. System tworzy umowę z zatwierdzonego wzoru. Księgowość sprawdza dokumenty w tablicy zadań, z której już korzysta. Następnie umowa trafia do podpisu elektronicznego. Wszyscy widzą jej status, a system zapisuje każdy krok.
AI w tym systemie
Ludzie
Producent wybiera projekt i rodzaj pracy
Ludzie
Freelancer uzupełnia swoje dane
Reguły
Umowa z zatwierdzonego wzoru
Ludzie
Księgowość sprawdza dokumenty
Reguły
Wysyłają umowę do podpisu i śledzą status
Reguły
Przygotowują umowę do wypłaty
AI nie wykonuje żadnego z sześciu kroków. Nie była potrzebna, a zwiększyłaby ryzyko prawne.
Kiedy przerwalibyśmy pracę
- agencja nadal potrzebuje zewnętrznej firmy
- ryzyko prawne rośnie
- ludzie robią tę samą pracę dwa razy
- obsługa wewnątrz agencji nie kosztuje mniej niż usługa zewnętrznej firmy
Efekty i status
30% wartości każdej umowy wynosiła opłata za obsługę zewnętrzną. Agencja przejęła cały proces i nie ponosi już tej opłaty.
Zakończone i przekazane agencji w październiku 2026. Agencja obsługuje każdą umowę we własnym zakresie. Ludzie sprawdzają etapy, na których błąd może mieć poważne skutki.
Pod maską
Technologie, testy i ograniczenia. Terminy wyjaśniamy po ludzku.
Technologie
- Next.js 15
- React 19
- TypeScript
- Turborepo
- Auth.js z logowaniem przez Google
- Google Sheets
- Google Drive
- Asana API
- API podpisu elektronicznego Autenti
- Gmail API
- pdf-lib
- Zod
- Sentry
- Vercel
Terminy po ludzku
- Maszyna stanów (state machine)
- System dopuszcza tylko określone zmiany statusu umowy. Wersja robocza nie może od razu otrzymać statusu „wypłacona”.
- Dziennik zdarzeń typu append-only
- System dopisuje każdą zmianę jako nowy wpis. Nie nadpisuje wcześniejszych zdarzeń, więc można odtworzyć pełną historię umowy.
- Arkusz jako baza danych
- W tej wersji dane są w Arkuszu Google. Jeden moduł odpowiada za ich odczyt i zapis. Serwer nadaje identyfikatory, które nie zależą od numerów wierszy.
- Webhooki
- Tablica zadań i usługa podpisu informują aplikację, gdy coś się zmieni. Nikt nie musi sprawdzać ręcznie.
- Outbox i zadania ponawiania
- Gdy zewnętrzna usługa nie działa, system zapisuje żądanie w kolejce i ponawia je później.
- Magic link
- Freelancer otwiera osobisty link. Bez konta i bez hasła.
- Wersje robocze szyfrowane AES-GCM
- System szyfruje zapisany, niedokończony formularz. Freelancer może wrócić do niego później, a dane nie są przechowywane jawnym tekstem.
Jak to testujemy
- Punkt odniesienia: obsługa przez zewnętrzną firmę, za około 30% wartości każdej umowy. Trudno było sprawdzić, na jakim etapie są dokumenty.
- Warunki powodzenia: cały proces wewnątrz agencji, widoczny status umów, mniej przekazywania pracy między osobami, zachowana kontrola prawna i koszt niższy niż wcześniej. Wynik: agencja przejęła całą obsługę od zewnętrznej firmy.
- System powstał w siedmiu dwutygodniowych sprintach od lutego do maja 2026. Potem poprawialiśmy jego niezawodność na podstawie codziennego użycia. Ma ponad 900 testów automatycznych.
Odrzucone
Generowanie umów przez LLM. Zatwierdzone wzory prawne są jedynym źródłem tekstu umowy, a zmienić można tylko niewielki zestaw pól.
Co się zepsuło
Przy większym obciążeniu aplikacja przekroczyła limit zapytań Google. Teraz kolejkuje zadania i ponawia zapytania, za każdym razem czekając dłużej.
Co zapisuje
Dla każdej umowy system przechowuje status, zdarzenia, dokumenty, potwierdzenia podpisu, przekazania między osobami i decyzje. Numery dokumentów tożsamości, dane bankowe i treść dokumentów nigdy nie trafiają do dziennika zdarzeń.
03
Badania z konsumentami wymagają czasu i pieniędzy. Słabe koncepcje produktów i działań marketingowych trafiały do drogich badań albo odpadały na podstawie intuicji.
Zespół potrzebował niedrogiego sposobu na wstępną ocenę koncepcji produktowych i marketingowych. Chciał wybierać najlepsze propozycje do badań z udziałem ludzi.
Co braliśmy pod uwagę
Zapytać model AI, co myślą klienciJedna pewna siebie opinia, której nikt nie może sprawdzić.Ankieta z odpowiedziami AI zamiast badań z ludźmiPunktem odniesienia muszą pozostać odpowiedzi ludzi.
Wybraliśmy: AI generuje odpowiedzi tekstowe dla opisanych grup odbiorców. Przeliczamy je na wyniki i porównujemy koncepcje. Zespół wybiera najlepsze do badań z udziałem ludzi.
Jak wygląda praca
Przed
Zespół ma więcej koncepcji produktowych i marketingowych, niż może przebadać w dostępnym budżecie. Na spotkaniu wybiera, które sprawdzić z konsumentami. Jeśli wybierze słabe propozycje, wyda budżet, zanim uzyska użyteczne wyniki.
Po
Zespół opisuje koncepcje produktów lub działań marketingowych oraz grupy odbiorców. AI generuje odpowiedzi tekstowe z perspektywy każdej grupy. System przelicza je na skalę od „zdecydowanie nie” do „zdecydowanie tak”, zachowując uzasadnienie i informację o niepewności. Na tej podstawie ludzie wybierają koncepcje do dalszych badań z konsumentami.
AI w tym systemie
Ludzie
Zespół opisuje koncepcje i odbiorców
AI
Generuje odpowiedzi tekstowe
AI
Przelicza znaczenie odpowiedzi na wynik
Reguły
Sprawdzają wynik na koncepcjach kontrolnych
Ludzie
Zespół wybiera koncepcje do badań z ludźmi
AI wykonuje dwa z pięciu kroków. Generuje odpowiedzi i ocenia ich znaczenie. Ludzie wybierają koncepcje do badań z konsumentami.
Kiedy przerwalibyśmy pracę
- wybrane koncepcje nie wypadają lepiej w badaniach z ludźmi
- wyniki zmieniają się z uruchomienia na uruchomienie
- system daje zespołowi fałszywe poczucie pewności
- zespół zaczyna zastępować nim badania z udziałem ludzi
Efekty i status
98% niższy koszt jednej wstępnej oceny niż badania panelowego. Zgodność wyników z badaniami z udziałem ludzi przekroczyła 88%.
Zakończone. Oceniono ponad 100 koncepcji. Najlepsze trafiają do dalszych badań z konsumentami. Wyniki badań z udziałem ludzi pozostają punktem odniesienia.
Pod maską
Technologie, testy i ograniczenia. Terminy wyjaśniamy po ludzku.
Technologie
- Python
- OpenRouter
- Qwen3 30B A3B Instruct
- BAAI bge-m3, 1 024 wymiary
- Panel internetowy dostępny tylko lokalnie
Terminy po ludzku
- Zbieranie odpowiedzi tekstowych (elicitation)
- AI generuje odpowiedź tekstową, podobną do wypowiedzi w wywiadzie, zamiast od razu wskazywać liczbę.
- Semantic Similarity Rating (SSR)
- System porównuje znaczenie odpowiedzi ze zdaniami wzorcowymi. Dla pytania o zakup mogą to być zdania od „na pewno bym tego nie kupił” do „na pewno bym to kupił”. Na tej podstawie oblicza prawdopodobieństwo każdej oceny na skali.Technicznie: odpowiedź tekstowa → embedding → podobieństwo cosinusowe do zdań wzorcowych skali Likerta → prawdopodobieństwo każdej oceny → rozkład ocen w grupie odbiorców
- Zdania wzorcowe (kotwice)
- Zdania odpowiadające poszczególnym ocenom na skali. Ich dobór wpływa na wynik, więc testujemy kilka zestawów.
- Temperatura SSR
- Parametr określający, jak bardzo wynik skupia się wokół jednej oceny na skali. Dobieramy go osobno do każdego typu pytania.
- Kontrole ustalone przed testem
- Przed testem dodajemy koncepcję, która powinna wypaść wyraźnie dobrze, i taką, która powinna wypaść źle. Ustalamy też minimalną różnicę między ich wynikami. Jeśli metoda jej nie osiągnie, test uznajemy za niezaliczony.
- Zapis warunków każdego testu
- Przy każdym wyniku zapisujemy instrukcje dla modeli, modele, ustawienia, zdania wzorcowe i dane wejściowe. Pozwala to powtórzyć test i sprawdzić jego założenia.
Jak to testujemy
- U klienta oceniono ponad 100 koncepcji. Koszt jednej wstępnej oceny był o 98% niższy niż badania panelowego, a zgodność z wynikami badań z ludźmi przekroczyła 88%.
- Metodę najpierw przetestowano na publicznych danych ankietowych z prawdziwymi odpowiedziami (Mendeley, CC BY 4.0).
- Ankieta o nowym produkcie: 6 pytań i 438 respondentów. Podobieństwo KS wyniosło 0,887. Mierzy ono zgodność rozkładów odpowiedzi AI i ludzi, gdzie 1 oznacza identyczny rozkład. Średni błąd bezwzględny wyniósł 0,036 na opcję odpowiedzi, a średnia ocena odbiegała o 0,39 punktu na skali 7-punktowej.
- Trudniejsza ankieta o zakupach przyjaznych środowisku, z udziałem 253 respondentów: podobieństwo KS wyniosło 0,73, a po poprawieniu instrukcji dla modelu 0,78. Taki wynik pomaga wybrać kierunek, ale nie zastępuje badań panelowych.
- Wybór modelu: przy tych samych embeddingach Qwen3 30B wyprzedził DeepSeek we wszystkich trzech miarach, a Gemini Flash Lite pod względem błędu wyniku. W porównaniu embeddingów najlepszy był bge-m3, przed qwen3-embedding-8b i text-embedding-3-small.
Odrzucone
Pojedyncze opinie modelu językowego, ankiety, w których AI od razu wybiera oceny, i symulowanie respondentów przez agentów AI. Wybrana metoda SSR pozwoliła zachować uzasadnienia odpowiedzi i przeliczyć je na porównywalne wyniki.
Co się zepsuło
Porównanie modeli zatrzymały problemy techniczne, zanim mogliśmy ocenić jakość odpowiedzi. Jeden z dostawców odrzucał nadmiar zapytań i zwracał niepoprawny JSON. Od tej pory w porównaniach oceniamy także niezawodność. Inny test nie osiągnął ustalonej różnicy kontrolnej o kilka setnych. Uznaliśmy go za niezaliczony.
Co zapisuje
Przy każdym wyniku system zapisuje wersję instrukcji dla modelu, model i jego dostawcę, ustawienia testu, grupy odbiorców, zdania wzorcowe SSR, surowe odpowiedzi, końcowe oceny, koszt i czas.
04
Kierownicy planowali zmiany bez wiarygodnej prognozy, jak duży ruch będzie każdego dnia.
Na części zmian mogło być za dużo pracowników. Na innych groziły braki w godzinach szczytu, a wraz z nimi trudności z obsługą i utrata sprzedaży.
Co braliśmy pod uwagę
Podczas Discovery wskazaliśmy siedem pomysłów. Na początek wybraliśmy prognozę ruchu, bo pozwala sprawdzić wpływ na koszty obsady.
Zacząć od modelu prognostycznego AINajpierw trzeba sprawdzić, czy prosta prognoza oparta na średniej nie wystarczy.
Wybraliśmy: Sprawdzić prognozę na danych z minionego miesiąca. Porównać ją ze średnią dla danego dnia tygodnia. Budować dalej tylko wtedy, gdy model da lepsze wyniki.
Jak wygląda praca
Przed
Kierownik planuje obsadę na przyszły tydzień. Korzysta z kalendarza, rezerwacji i doświadczeń z zeszłego roku, żeby oszacować ruch na każdy dzień. Deszcz albo lokalne wydarzenie mogą zmienić te przewidywania.
Jak ma być
Kierownik zobaczy prognozę liczby gości na każdy dzień przyszłego tygodnia. System uwzględni wcześniejszą sprzedaż, pogodę i lokalne wydarzenia. Zaproponuje liczbę pracowników i wyjaśni dlaczego. Kierownik sprawdzi propozycję, wprowadzi poprawki i zatwierdzi obsadę. Po każdej zmianie porównamy prognozę z rzeczywistym ruchem.
AI w tym systemie
Dane
Historia sprzedaży i liczby gości
Dane
Pogoda i lokalne wydarzenia
AI
Prognozuje popyt
Reguły
Proponują obsadę
Ludzie
Kierownik poprawia i zatwierdza
Informacja zwrotna
Porównanie po każdej zmianie
AI wykona jeden z sześciu kroków: prognozę. Decyzję podejmuje kierownik.
Kiedy przerwalibyśmy pracę
- model daje wyniki nie lepsze niż średnia dla danego dnia tygodnia
- dane są zbyt niekompletne
- kierownicy nie uznają podpowiedzi za użyteczne
- obsługa systemu wymaga zbyt dużo pracy ręcznej
Efekty i status
W toku. Zaproponowaliśmy czterotygodniowe MVP. Pierwszy test obejmuje dane z zakończonego miesiąca. Dopiero po nim można zdecydować o pilotażu w codziennej pracy.
Pod maską
Technologie, testy i ograniczenia. Terminy wyjaśniamy po ludzku.
Technologie
- Dane o rezerwacjach i biletach
- Dane z kas
- Aplikacja do grafików
- Kalendarze i arkusze
- Pogoda
- Lokalne wydarzenia
Lista pokazuje źródła danych. Model wybierzemy po porównaniu wyników z prostą prognozą.
Terminy po ludzku
- Punkt odniesienia (baseline)
- Prosta prognoza: średnia dla danego dnia tygodnia z uwzględnieniem znanych wydarzeń. Model musi dawać lepsze wyniki, żeby jego zastosowanie miało sens.
- Test na danych z zakończonego miesiąca (backtest)
- Model nie dostaje wyników z wybranego minionego miesiąca. Ma je przewidzieć na podstawie wcześniejszych danych. Porównujemy prognozę z rzeczywistymi wynikami, zanim użyjemy jej do planowania obsady.
- Błąd prognozy
- Średnia różnica między prognozą a rzeczywistą liczbą gości.
- Dryf sezonowy
- Zmiany pór roku i nawyków gości mogą pogarszać trafność prognozy. Sprawdzamy, czy tak się dzieje.
Jak to testujemy
- Punkt odniesienia dziś: doświadczenie kierowników, kalendarze, rezerwacje, raporty ręczne i proste reguły według dnia tygodnia, pory roku i pogody.
- Miary: błąd prognozy, liczba zmian ze zbyt małą lub zbyt dużą obsadą, czas układania grafiku oraz liczba gości, których udało się obsłużyć lub których stracono. Zbieramy też opinie kierowników i recepcji.
Odrzucone
Używanie modelu do planowania obsady przed sprawdzeniem go na danych historycznych. Prosta prognoza może wystarczyć. Test może też pokazać, że najpierw trzeba uporządkować dane.
Co się zepsuło
Na razie nie mamy awarii do opisania. Uzupełnimy tę część po pierwszym teście na danych historycznych.
Co zapisuje
Przy każdej prognozie będzie można sprawdzić okres, z którego pochodzą dane historyczne, ich źródła, informacje o pogodzie i wydarzeniach, wersję modelu oraz poprawki kierownika.
05
Przy jednej imprezie grupowej sprawdzanie wolnych terminów kolejnych atrakcji zajmowało od 15 do 20 minut.
Zespół obiektu rozrywkowego planuje imprezy grupowe z kilkoma atrakcjami. System rezerwacji zawiera aktualną dostępność, ale trudno w nim ułożyć cały plan imprezy. Nie udostępnia też API, przez które można połączyć go z nowym narzędziem.
Co braliśmy pod uwagę
Wymienić system rezerwacjiSystem obsługuje rezerwacje poprawnie. Utrudniał planowanie całej imprezy.Zapisywać rezerwacje z nowego narzędziaBrak oficjalnego API sprawiał, że zapis do systemu był zbyt ryzykowny.
Wybraliśmy: Tablica pobiera dostępność i pokazuje cały dzień naraz. Zespół układa na niej plan, a każdą rezerwację potwierdza w systemie rezerwacji. Tablica niczego w nim nie zapisuje.
Jak wygląda praca
Przed
Klient pyta o imprezę grupową z kilkoma atrakcjami. Koordynator sprawdza je osobno w systemie rezerwacji, zapisuje wolne godziny i ręcznie układa harmonogram. Dwie osoby mogą jednocześnie wybrać ten sam termin, nie wiedząc o sobie.
Po
Koordynator wybiera datę i widzi atrakcje na jednej tablicy: wolne godziny, dostępne przestrzenie i czas ostatniej aktualizacji danych. Wybiera terminy, a tablica układa szkic harmonogramu z godzinami rozpoczęcia i zakończenia. Inni pracownicy od razu widzą, które terminy ktoś już wybrał. Koordynator sprawdza dostępność i potwierdza rezerwację w systemie rezerwacji.
AI w tym systemie
Dane
Wolne terminy z systemu rezerwacji
Reguły
Pokazują dostępność całego dnia
Ludzie
Koordynator wybiera terminy
Reguły
Układają plan i oznaczają wybrane terminy
Ludzie
Końcowe sprawdzenie w systemie rezerwacji
AI nie wykonuje żadnego z pięciu kroków. Zespół potrzebował aktualnej dostępności w jednym miejscu. Wystarczyło pobrać dane i pokazać je w czytelnej formie.
Kiedy przerwalibyśmy pracę
- tablica pokazuje inną dostępność niż system rezerwacji
- odczyt z systemu rezerwacji zawodzi zbyt często, by na nim polegać
- planowanie nie jest wyraźnie szybsze niż wcześniej
- zespół przestaje z niej korzystać
Efekty i status
58-87 h zaoszczędzone we wrześniu. Szacunek nie uwzględnia dodatkowej oszczędności na ręcznym układaniu harmonogramów. Każda rezerwacja jest inna.
W użyciu. We wrześniu zespół przygotował na tablicy 353 rezerwacje. Ostrożnie szacujemy czas na 5 minut na rezerwację, wobec 15 do 20 minut w samym systemie rezerwacji.
Pod maską
Technologie, testy i ograniczenia. Terminy wyjaśniamy po ludzku.
Technologie
- Next.js 16
- React 19
- Supabase Postgres
- Supabase Auth z logowaniem przez Google
- Supabase Realtime
- Vercel
Dane są w projekcie Supabase należącym do klienta od pierwszego dnia.
Terminy po ludzku
- Adapter tylko do odczytu
- Tablica pobiera publiczne dane o dostępności z systemu rezerwacji. Niczego w nim nie zapisuje. Jeśli zmieni się format danych, zgłasza problem.
- Aktualność danych
- Przy każdej kolumnie widać czas ostatniego odczytu. Tablica informuje, czy dane są aktualne, nieaktualne czy niedostępne. Koordynator wie wtedy, kiedy potrzebuje dodatkowego sprawdzenia.
- Test zgodności (parity check)
- Porównujemy tablicę z panelem pracowników w systemie rezerwacji. Przez dwa dni godziny i przestrzenie zgadzały się dokładnie dla każdej atrakcji o stałych terminach.
- Synchronizacja w czasie rzeczywistym
- Gdy jedna osoba wybierze termin, tablice wszystkich pozostałych aktualizują się od razu, bez odświeżania.
- Oznaczenie terminu na tablicy
- Oznaczenie chroni przed wybraniem tego samego terminu przez dwie osoby na tablicy. Nie blokuje terminu ani nie tworzy rezerwacji w systemie rezerwacji.
- Niezależne kolumny
- Dane o wszystkich atrakcjach ładują się równocześnie. Jeśli pobranie jednych się nie uda, błąd pojawia się tylko w ich kolumnie. Reszta tablicy działa dalej.
Jak to testujemy
- Punkt odniesienia według zespołu: od 15 do 20 minut na zaplanowanie jednej imprezy w systemie rezerwacji.
- Cel: sprawdzenie dostępności w około 1 minutę.
- Wrzesień: 353 rezerwacje przygotowane na tablicy. Przy ostrożnym założeniu 5 minut na rezerwację daje to około 30 godzin planowania, wobec 88 do 117 godzin na te same sprawdzenia w systemie rezerwacji. Czasy są szacunkowe, nie mierzone.
- Zespół przejrzał tablicę na spotkaniu roboczym i zaakceptował ją bez istotnych zmian.
- Trzytygodniowy etap sprawdzania rozwiązania zakończył się decyzją o dalszych krokach. Możliwe opcje: kontynuować, zmienić albo zatrzymać.
Odrzucone
Zapisywanie rezerwacji z tablicy, odtwarzanie zasad obliczania liczby dostępnych miejsc i automatyczne wiadomości do klientów. Dostępność trzeba ostatecznie potwierdzić w systemie rezerwacji. Z klientami rozmawiają ludzie.
Co się zepsuło
Główne ryzyko dotyczy pobierania danych. Bez API tablica korzysta z publicznych danych strony rezerwacji. Ich format może zmienić się bez uprzedzenia. Tablica pokazuje zespołowi błędy odczytu, nieaktualne dane i zmiany formatu. Nie ukrywa tych problemów.
Co zapisuje
System zapisuje czas i wynik każdego odczytu dostępności. Można sprawdzić niezawodność pobierania danych i zmiany między odczytami. Przy każdej rezerwacji i zmianie zapisuje też osobę, która ją wykonała.
06
Zamówienie zasłon na miarę wymagało pomiarów, wyjazdu po tkaninę i czekania na wizualizację.
Startup zaslony.com chciał umożliwić cały zakup z domu, bez używania miarki: od zdjęcia do zamówienia.
Co braliśmy pod uwagę
Kartka A4 na ścianie jako linijkaJedno zadanie więcej dla klienta i mniejsza dokładność.Tani, ogólny model AI do mierzeniaZbyt niedokładny, gdy liczą się centymetry.
Wybraliśmy: Jedno zdjęcie. AI mierzy ścianę na podstawie przedmiotów o znanym rozmiarze i znajduje miejsca, gdzie mogą wisieć zasłony. Klient potwierdza obszar, widzi zasłony na własnej ścianie i zamawia.
Jak wygląda praca
Przed
Klient chce nowych zasłon. Mierzy okno i ścianę, jedzie obejrzeć tkaniny, czeka na wizualizację, jak to może wyglądać, i dopiero wtedy zamawia.
Po
Klient robi telefonem jedno zdjęcie pokoju. Kreator szacuje rozmiar ściany, zaznacza miejsca, gdzie mogą wisieć zasłony, i pokazuje je na tej ścianie w wybranej tkaninie, plisowaniu i kolorze, z ceną. Klient w razie potrzeby poprawia obszar i dodaje zamówienie do koszyka, nie wychodząc z domu.
AI w tym systemie
Ludzie
Klient dodaje zdjęcie pokoju
AI
Mierzy ścianę
AI
Znajduje ścianę i obszar okna
Ludzie
Klient potwierdza obszar
Reguły
Tworzą podgląd i obliczają cenę
Ludzie
Klient zamawia
AI wykonuje dwa z sześciu kroków. Mierzy ścianę i znajduje miejsca na zasłony. Klient potwierdza, zanim cokolwiek zostanie wycenione.
Kiedy przerwalibyśmy pracę
- pomiary są zbyt niedokładne, żeby uszyć pasujące zasłony
- klienci nie ufają wynikowi i i tak mierzą ręcznie
- podgląd nie wygląda jak prawdziwa tkanina
Efekty i status
3-10% błędu pomiaru z jednego zdjęcia w naszych testach. Przy użyciu kartki A4 na ścianie jako wzorca błąd wynosił od 20 do 40%.
Zakończone. Klient przechodzi od zdjęcia do koszyka w domu. Wcześniej nie było takiego sposobu zamawiania, więc nie mamy porównywalnego wyniku sprzedaży sprzed wdrożenia.
Pod maską
Technologie, testy i ograniczenia. Terminy wyjaśniamy po ludzku.
Technologie
- Next.js 14
- React 18
- Genkit
- Qwen VL
- Mask2Former w usłudze GPU
- SegFormer jako model zapasowy
- FastAPI
- Renderowanie w Canvas
- Tekstury tkanin z Blendera
- API sklepu Magento
- IndexedDB
Terminy po ludzku
- Model wizyjno-językowy (VLM)
- Model AI, który patrzy na zdjęcie i odpowiada na pytania o nie. Tutaj: jak szeroka i jak wysoka jest przeciwległa ściana?
- Skala z przedmiotów o znanym rozmiarze
- Drzwi, włączniki i meble mają typowe wymiary. Model używa ich, wraz z typowym kątem widzenia 72° aparatu telefonu, by zamienić piksele na centymetry.
- Segmentacja (Mask2Former)
- Oznacza każdy piksel zdjęcia jako ścianę, okno, podłogę albo sufit, żeby kreator wiedział, gdzie mogą wisieć zasłony.
- Proporcje ściany i zaznaczonego obszaru
- Model mierzy całą ścianę. Obszar zaznaczony przez klienta to jej część, więc jego rozmiar w centymetrach wynika z rozmiaru ściany.
- Przycinanie percentyli (p10/p90)
- Pomija skrajne 10% na obu krańcach wykrytego obszaru ściany. Dzięki temu pojedynczy błędnie rozpoznany cień nie zawyża wymiaru.
- Tekstury przygotowane przez grafika
- Grafik przygotowuje tekstury tkanin w Blenderze. Program tworzący podgląd dobiera rodzaj fałd (wave, flex, double flex) do plisowania i materiału, żeby obraz przypominał uszytą zasłonę.
Jak to testujemy
- W testach błąd pomiaru na podstawie samego zdjęcia wynosił od 3 do 10% rzeczywistego wymiaru. Dla metody z kartką A4 było to od 20 do 40%.
- Skrypt porównuje wymiary oszacowane ze zdjęć z rzeczywistymi pomiarami. Zapisuje też czas działania każdego modelu.
- Wybór modelu: Qwen VL dał najlepszą dokładność w stosunku do kosztu. GPT-4o-mini był zbyt niedokładny przy pomiarach wymagających precyzji w centymetrach.
- Nie mamy porównywalnego wyniku biznesowego sprzed wdrożenia. Wcześniej zamówień nie składano przez internet.
Odrzucone
Kartka A4 jako wzorzec wymiaru na każdym zdjęciu. Wymagała dodatkowej pracy klienta i dawała błędne wyniki przy szkle, lustrach i zdjęciach pod ostrym kątem. Zamiast niej model korzysta z przedmiotów o znanych wymiarach.
Co się zepsuło
Kreator nie potrafił odczytać zdjęć HEIC z iPhone’a. Teraz konwertuje je w przeglądarce, a w razie problemu na serwerze. Gdy usługa GPU była niedostępna, duże zdjęcia spowalniały model zapasowy. Dlatego system zmniejsza je przed wysłaniem do modelu.
Co zapisuje
Przy każdym pomiarze system zapisuje surową odpowiedź modelu, instrukcję dla modelu, czas działania, ostrzeżenia i klucz pamięci podręcznej. Te informacje pomagają poprawiać dokładność.
Źródła
Widzisz tu problem podobny do swojego?
Powiedz nam, co nie działa. Po 30-minutowej rozmowie dowiesz się, czy proponujemy Discovery, test konkretnego rozwiązania, czy rezygnację z budowy. Discovery kosztuje od 7,5 tys. euro. Nie wiesz jeszcze, czy Discovery to dobry start? Zacznij od Signal Check za 2 tys. euro.
Ostatnia aktualizacja: