Jan Kinal: Witam was na kolejnej rozmowie z cyklu „Zrozumieć AI”. Dzisiaj moimi gośćmi są Alicja Ziemlińska oraz Bartek Sadlej — współzałożyciele platformy Kontrak Spot, która zajmuje się tematyką przetargów. Od razu zaznaczę, że ta rozmowa nie jest reklamą żadnego produktu. Po prostu bardzo długo szukałem ekspertów, którzy zajmują się zarówno sztuczną inteligencją, jak i przetargami.
Dzisiaj porozmawiamy o halucynacjach AI, bo te halucynacje zbierają coraz większe żniwo — złamanych karier, straconych kontraktów. Porozmawiamy o dobrze znanej sprawie firmy z Małopolski, która została wykluczona z przetargu za wykorzystanie sztucznej inteligencji, a konkretnie za zacytowanie nieistniejących przepisów. Ale zanim do tego przejdziemy — Alicja, może na początek wyjaśnijmy, czym w ogóle jest przetarg publiczny?
Co znajdziesz w tym artykule?
Czym jest zamówienie publiczne?
Alicja Ziemlińska: Zamówienie publiczne to umowa, którą zawiera podmiot reprezentujący państwo — na przykład szpital czy Generalna Dyrekcja Dróg Krajowych i Autostrad. Taki podmiot publiczny udziela zamówienia, czyli zawiera umowę z przedsiębiorcą, który ma to zamówienie wykonać. Żeby wybrać tego przedsiębiorcę, trzeba przeprowadzić postępowanie o udzielenie zamówienia publicznego, czyli przetarg. To bardzo konkurencyjna, transparentna i przejrzysta procedura, która ma na celu wybranie wykonawcy najbardziej rzetelnego i z najlepszą ceną — żeby nasze publiczne pieniądze były wydawane w sposób odpowiedzialny.
Czy powinniśmy bać się AI w przetargach?
Jan Kinal: Osoby pracujące w przetargach, przestraszone tym konkretnym przypadkiem firmy z Małopolski, mogą się bać wykorzystywania sztucznej inteligencji w swojej pracy. Co byście im poradzili? Czy to słuszny strach?
Bartek Sadlej: Myślę, że podejście zachowawcze jest jak najbardziej na miejscu. To, co my nazywamy sztuczną inteligencją, w fachowej nomenklaturze jest nazywane raczej uczeniem maszynowym. Musimy zdać sobie sprawę, że model, z którego korzystamy, to nie jest jakieś objawione bóstwo, które wszystko wie. To bardzo precyzyjnie zaprojektowana maszynka, która świetnie radzi sobie z niektórymi rzeczami, ale na pozostałych może się wcale dobrze nie znać.
Halucynacja to tak naprawdę efekt spodziewany — to nie jest nic dziwnego, to pewna natura modelu, o której musimy pamiętać. Nieważne jak dobry model wyjdzie, halucynacje będą zawsze obecne. Dlatego tak ważne jest korzystanie z narzędzi zaprojektowanych specjalnie do konkretnych celów, zamiast po prostu z ChatGPT w przeglądarce — bo korzystając z takiego czatu, możemy się bardzo szybko wyłożyć na halucynacji.
Jak działają duże modele językowe?
Bartek Sadlej: Może pokrótce powiemy, jak ten model działa. Duży model językowy generuje wynik token po tokenie. O tokenie możemy myśleć jako o całym krótkim słowie albo jego sylabie. Model ma pewien zafiksowany słownik i z tego słownika generuje nowe tokeny, przypisując im prawdopodobieństwa na podstawie danych treningowych.
Warto też wspomnieć, że język polski znajduje się w tych danych, ale na pewno nie w takiej ilości jak angielski czy chiński. Dlatego trzeba być świadomym, że model w mniej popularnych językach będzie z założenia działał gorzej.
Kiedy model przewiduje prawdopodobieństwa nowych tokenów, jest tam pewna losowość, pewien niedeterminizm. Większość ludzi zdaje sobie z tego sprawę — jak zadamy to samo pytanie ChatGPT dwa razy, dostajemy dwie różne odpowiedzi.
Model po wytrenowaniu nie ma już dostępu do nowszych danych. Nawet jeśli najnowsza wersja została wypuszczona niedawno, sam trening trwa wiele miesięcy, a zbieranie danych odbywa się jeszcze wcześniej.
Żeby złapać intuicję — jeżeli pytamy czata „Stolicą Francji jest…”, to prawdopodobieństwo tokenu odpowiadającego słowu „Paryż” będzie bardzo wysokie, ponieważ w internecie jest mnóstwo zdań zawierających tę informację. Ale jeżeli zapytamy, co się wydarzyło wczoraj — model może zacząć generować odpowiedź nie dlatego, że sprawdził aktualne informacje, ale dlatego, że w jego danych treningowych było dużo zdań zaczynających się od „wczoraj wydarzyło się…”.
Jan Kinal: Czyli mamy do czynienia z czarną skrzynką. Model językowy symuluje język naturalny — naśladuje język człowieka. Do końca nie wiemy, jak działa. Wiemy, że ma ograniczoną wiedzę, ograniczoną do jakiegoś momentu w czasie. Wiemy, że jego zadaniem jest stworzyć tekst, który wygląda jak tekst człowieka. Ale nie wiemy, skąd czerpie wiedzę — czy ta wiedza jest poprawna, czy model ją wyszukał w internecie, czy po prostu wymyślił, żeby odpowiedzieć na nasze pytanie.
Bartek Sadlej: Dokładnie. Można o tym myśleć tak, że model modeluje prawdopodobieństwo następnego tokenu na podstawie rozkładu danych treningowych. To jest szczególnie ważne w dziedzinach, które bardzo szybko się zmieniają — nie mówię tylko o prawie, ale też o technologii. To, co było aktualne rok temu, może już nie być aktualne dzisiaj.
Co poszło nie tak w przypadku firmy z Małopolski?
Jan Kinal: Spróbujmy rozłożyć na czynniki pierwsze, co ta firma mogła zrobić.
Alicja Ziemlińska: Sytuacja jest bardzo ciekawa. Pojawiły się wątpliwości u zamawiającego, czy oferta złożona przez wykonawcę nie zawiera rażąco niskiej ceny. To mechanizm, który chroni nas przed udzieleniem zamówienia niemożliwego do wykonania — czyli gdy oferowana cena jest tak oderwana od standardów rynkowych, że po prostu za tyle się tego nie da zrobić. Cena zaniżona po to, żeby wygrać.
Zanim zamawiający odrzuci taką ofertę, musi dać wykonawcy szansę na wyjaśnienie — wykazanie, że oferowana cena jest rynkowa i daje gwarancję rzetelnego wykonania zamówienia. I właśnie na etapie tych wyjaśnień zostało wykorzystane AI. Wykonawca, tworząc wyjaśnienia, skorzystał z narzędzia, które wygenerowało nieistniejące interpretacje podatkowe, mające potwierdzić jego argumentację dotyczącą stawki VAT. Złożeniem takich informacji mógł wprowadzić zamawiającego w błąd.
Co istotne — odrzucenie oferty a wykluczenie wykonawcy to dwie zupełnie różne rzeczy. Gdyby wykonawca przygotował wyjaśnienia sam i po prostu nie zdołał przekonać zamawiającego, jego oferta zostałaby odrzucona. To oznacza, że za miesiąc mógłby startować w kolejnym przetargu i może by wygrał, bo odrzucenie dotyczy samej oferty. Natomiast wprowadzenie zamawiającego w błąd — przez przedstawienie informacji, które mogły bezprawnie wpłynąć na jego decyzję — może skutkować wykluczeniem, czyli wyłączeniem z rynku na co najmniej rok, a nawet dwa lata. Bardzo poważna konsekwencja dla wykonawcy.
Warto dodać, że zamawiający dał się przekonać tymi wyjaśnieniami. Dopiero na etapie, kiedy konkurenci zaczęli doszukiwać się problemów, wszystko wyszło na jaw.
Jan Kinal: Ta rozmowa nie jest po to, żeby obwiniać tego wykonawcę.
Alicja Ziemlińska: Dokładnie. Procedura jest bardzo skomplikowana. W naszej polityce zakupowej dążymy do zwiększania udziału małych i średnich przedsiębiorstw, a to są firmy, które nie mają swoich działów prawnych ani solidnych zespołów przetargowych. To naturalne, że próbują sobie jakoś pomóc — bardziej lub mniej skutecznie. Niestety w tym przypadku obrót spraw nie był korzystny. Natomiast my rozumiemy tych wykonawców.
Jak mogło to wyglądać od strony technicznej?
Bartek Sadlej: Zanim przejdziemy do strony prawnej — powiedzmy, co to znaczy „wrzucić przetarg do czata”. Przetarg składa się najczęściej z wielu plików, które bardzo często są w dziwnych formatach — Wordzie z 97 roku i tym podobnych. Bywa, że pobierając je na nowym komputerze, odpakowujemy paczkę i pojawiają się chińskie znaczki, bo nazwa folderu jest źle zdekodowana. W środku mamy mnóstwo plików w niewspieranych formatach. Próbujemy je przekopiować do czata różnymi wygibasami — Ctrl+A, Ctrl+C, Ctrl+V — i koniec końców mniej więcej tę zawartość udaje się przekopiować, ale jest to bardzo pokraczne i niekontrolowane. Dokumenty potrafią też być skanami wydrukowanych dokumentów, obróconych pod dziwnym kątem. To wcale nie jest takie oczywiste, żeby w ogóle ten przetarg do czata wkopiować.
Jan Kinal: Trzeba dodać, że przetargi muszą być sformułowane w bardzo precyzyjnym języku. W Polsce „przebudowa” to nie jest to samo co „remont” — to prawnie dwa różne pojęcia. A ChatGPT bardzo płynnie używa różnych synonimów, co w tej branży może być katastrofalne.
Nastrój w branży po aferze
Jan Kinal: Jaki jest nastrój w branży przetargowej po tej aferze? Czy samorządy zakazują korzystania ze sztucznej inteligencji?
Alicja Ziemlińska: Strona organizująca przetarg — zamawiający — nie ma teraz podstaw prawnych, żeby powiedzieć wykonawcy: „Nie możecie korzystać z narzędzi AI”. Z naszej strony jak najbardziej zasadne jest postulowanie za wprowadzeniem regulacji dotyczących wykorzystania AI w procesie ofertowania — żeby zweryfikować na przykład zakres czy sposób wykorzystania tych narzędzi. Odpowiednio użyte mogą znacznie przyspieszyć i zwiększyć efektywność całego procesu, bo procedura jest skomplikowana, procesy są długie i obarczone dużym ryzykiem błędów. Natomiast nieodpowiednie wykorzystanie może być negatywne — również dla nas, podatników, którzy to finansujemy.
Nie można wprowadzać zamawiającego w błąd generowaniem nieprawdziwych informacji — to jest jasne. Ale nie ma też zakazów ani regulacji dotyczących samego korzystania z AI.
Czy można wykryć tekst napisany przez AI?
Jan Kinal: Czy można stwierdzić, że ktoś wykorzystał sztuczną inteligencję, nawet jeżeli nie ma halucynacji?
Bartek Sadlej: To bardzo ciekawy temat. Może łatwiej będzie to przedstawić na przykładzie generowania zdjęć. Zdjęcie składa się z pikseli — mamy tam bardzo dużo miejsca na zakodowanie dodatkowej informacji. Modele jak ChatGPT obsługują coś takiego jak watermark, czyli znak wodny, który model koduje w zdjęciu. Jest niewidoczny dla człowieka, ale model detekcyjny potrafi go wykryć. Jeżeli o pół procenta zmienimy jasność jednego piksela w prawym górnym rogu, dla człowieka wygląda dokładnie tak samo, ale z perspektywy kodowania informacji jesteśmy w stanie to zrobić.
Natomiast w tekście po prostu nie ma miejsca na zakodowanie dodatkowej informacji. Jeżeli zmienimy jedną literę, dodamy jedną spację lub usuniemy kropkę — jest to bardzo widoczne dla człowieka. Dlatego dodawanie watermarków do tekstu jest niezwykle trudne.
Można natomiast ocenić styl pisania. Najprostszy przykład to długie myślniki amerykańskie, których używa ChatGPT, a które w Polsce nie były popularne, dopóki ChatGPT nie stał się modny. Teraz nagle wszyscy influencerzy zaczęli ich używać. Można też zwrócić uwagę na zapis nagłówków wielkimi literami w anglosaskim stylu. Ale to nie jest nic, co można definitywnie udowodnić w sądzie — ktoś zawsze może powiedzieć, że po prostu spodobał mu się ten styl i zaczął go używać.
Alicja Ziemlińska: Obecny stan prawny zawiera bardzo ściśle określone przesłanki odrzucenia oferty i wśród nich nie ma wykorzystania sztucznej inteligencji. Samo wykorzystanie AI nie oznacza, że oferta byłaby wadliwa czy jakkolwiek gorsza — może być nawet lepsza, bardziej czytelna, lepiej ustrukturyzowana. Jedyne ryzyko to przedstawienie nieprawdziwych informacji, a to zależy od jakości narzędzi.
Warto też podkreślić, że teksty generowane przez chatboty nie są w żaden sposób oznaczone — nikt nie jest w stanie definitywnie osądzić, że korzystaliście z AI, dopóki nie powielicie halucynacji.
Jak odpowiedzialnie korzystać z AI w przetargach?
Jan Kinal: Jak więc można wykorzystać sztuczną inteligencję przy przetargach?
Bartek Sadlej: To, co ta firma prawdopodobnie zrobiła — przekopiowała przetarg do ChatGPT i trzymała kciuki, że wygeneruje dobrą odpowiedź — to korzystanie z modelu jak z czarnej skrzynki. My robimy to zupełnie inaczej. Aplikujemy wiedzę prawną Alicji oraz najlepsze praktyki rozwoju oprogramowania, które bazują na zasadzie „dziel i zwyciężaj”. Rozkładamy proces na czynniki najprostsze, gdzie model musi zrobić jedną bardzo prostą rzecz, a potem to wszystko składamy w narzędzia dla przedsiębiorców. Dzięki temu, że bazujemy na bardzo prostych założeniach, jesteśmy w stanie przetestować i zagwarantować skuteczność narzędzia w warunkach operacyjnych.
Alicja Ziemlińska: W zamówieniach publicznych ilość dokumentacji jest bardzo obszerna, a procedura trudna i nieprzyjemna dla wykonawców. W branży budowlanej strategią wykonawców, którzy przegrali o włos, jest znalezienie nawet najmniejszych błędów w ofercie wygrywającej. Dlatego wykonawca składający ofertę musi mieć pewność, że jest ona nieskazitelna.
Zastosowanie AI na etapie samego ofertowania najlepiej sprawdza się przy analizie dokumentacji — żeby przebić się przez stos makulatury, w której może być opisane wszystko, łącznie z parametrami komputera potrzebnymi do wejścia w drogę komunikacji elektronicznej z zamawiającym. W tym labiryncie trzeba pomiędzy linijkami wyczytać, co tam jest naprawdę wiążące i jakie są istotne postanowienia oferty.
Bartek Sadlej: My nie robimy swetrów dla mrówkojadów — robimy software dla poważnych przedsiębiorców, którzy realizują przetargi za kilkaset milionów. Narzędzie, które im udostępniamy, musi być nieskazitelne, bo ich oferta musi być nieskazitelna. Spędzamy ogrom czasu, żeby mieć stuprocentową pewność, że działa i nie popełnia błędów.
Ważne jest korzystanie z dedykowanych narzędzi — nie mówię konkretnie o naszych, mówię ogólnie o narzędziach dedykowanych konkretnym czynnościom, które chcemy zautomatyzować z wykorzystaniem AI.
Szczegóły techniczne — jak to działa?
Jan Kinal: Z jakich modeli korzystacie? Co się tam kryje w środku?
Bartek Sadlej: Korzystamy z całej „wielkiej trójki” — OpenAI, Google Gemini i Anthropic. Ale ważniejsze jest to, jak wykorzystujemy te modele. Jeżeli spytamy model, jakie interpretacje podatkowe pasują do danego przetargu, to jest sytuacja bardzo „halucynogenna” i możemy spodziewać się naprawdę kreatywnych odpowiedzi. Natomiast jeżeli bralibyśmy po kolei każdą interpretację i pytali, czy ta konkretna pasuje do konkretnego stanu faktycznego — spodziewalibyśmy się dużo lepszych wyników. Ale coś takiego jest mało skalowalne i byłoby bardzo drogie.
Alicja Ziemlińska: Te interpretacje miały zastosowanie do argumentacji dotyczącej stawki VAT. Jeśli chodzi o kontekstowe czytanie konkretnego wyroku do konkretnego stanu faktycznego — to możliwe, ale bardzo kosztowne. My nie idziemy w tę stronę.
Bartek Sadlej: To, co można zrobić, to rozłożyć przetarg na czynniki pierwsze. Pomimo tego, że dokumentacji jest ogrom, przetarg ma pewną strukturę, pewne założenia. To nie jest tak, że za każdym razem dostajemy losowy ciąg znaków. Bazując na tej strukturze i na założeniach prawnych, wiemy, co można zrobić, na co trzeba uważać i gdzie spodziewamy się najwięcej błędów od modelu.
Łącząc wiedzę o tym, gdzie spodziewamy się halucynacji, z wiedzą o tym, które części przetargu są zawsze mniej więcej takie same, a gdzie jest najwięcej dowolności — możemy model punktowo aplikować i weryfikować.
Na przykład — przedsiębiorca, żeby zweryfikować, czy może wziąć udział w przetargu, sprawdza wymagane doświadczenie. Zamiast przekopywać się przez całą dokumentację i dopiero na stronie 15 załącznika numer 3 zorientować się, że ten przetarg nie jest dla niego, z wykorzystaniem odpowiednich narzędzi jesteśmy w stanie mu bardzo szybko udzielić tej informacji.
Jan Kinal: Skąd modele czerpią wiedzę w waszym systemie?
Bartek Sadlej: Nie chcielibyśmy zdradzać wszystkich sekretów, ale generalnie — mamy to praktycznie napisane odręcznie. Model ma skrypt: krok po kroku, co trzeba zrobić, dzięki jakim dokumentom, jaką wiedzę przeanalizować. Jest zero swobody dla modelu — żadnego „w myśl aktualnych ustaw przeanalizuj coś tam”. Tylko: „w myśl tej konkretnej ustawy sprawdź mi to, to i to”. Jeżeli wyszłaby nowa ustawa, musielibyśmy to przepisać od nowa, ale wiedzielibyśmy, że bazujemy na najnowszych i konkretnych danych.
Zamiast polegać na modelu, który — jak już wiemy — ma swoje ograniczenia, bierzemy ten model i wpuszczamy go w konkretny scenariusz, w konkretny skrypt, po którym podąża bez swobody.
Na aktualnym etapie nie staramy się też zautomatyzować w 100% wszystkiego. Chcemy, żeby system wspierał człowieka i zostawiał mu podjęcie decyzji, bo niektórych danych model praktycznie nigdy nie będzie mieć, albo ludzie nie będą się chcieli nimi dzielić — nie mają jeszcze pełnego zaufania co do tego, co na przykład OpenAI czy Microsoft robi z tymi danymi. My tych danych też tam nie chcemy wysyłać. Dzięki temu jesteśmy w stanie zautomatyzować i przyspieszyć proces prawie dziesięciokrotnie, zostawiając kluczowe elementy ludziom.
Człowiek w procesie
Jan Kinal: Jak wygląda rola człowieka w tym procesie — zarówno po stronie klienta, jak i po waszej?
Bartek Sadlej: Stawiamy na podejście weryfikacji wybiórczej — jak w manufakturze sprawdzamy część z każdego sampla. Jeżeli jest tam jakiś błąd, weryfikujemy całość. Docelowo chcemy, żeby system był jak najbardziej automatyczny, bo przetargów jest po prostu zbyt dużo, żeby to robili ludzie. Niemniej dbamy o jakość i kontrolujemy każdą próbkę.
Alicja Ziemlińska: Ja nie wywodzę się z bardzo technologicznego środowiska, więc moje zaufanie do takich narzędzi jest dosyć ograniczone. Podchodzę z dużą nieufnością do rezultatów i jestem bardzo wymagająca. Narzędzie, które udostępniamy komukolwiek, musi być perfekcyjne — ogrom ciężkich nocy poświęconych na sprawdzanie, czy na pewno nie ma żadnego błędu.
Widzimy, znamy ten proces z praktyki, więc widzimy, które momenty można wesprzeć, które będą najbardziej efektywne dla użytkownika, a których lepiej zostawić ze względu na bezpieczeństwo i poczucie kontroli nad procesem.
Stoimy bardzo za wykonawcą. Jeśli wykonawca potrzebuje pomocy, jesteśmy w stanie wejść i wykonać te czynności za nasze narzędzie, bo mamy umiejętności, żeby to zrobić. To nie jest tak, że mówimy „idź do kancelarii, bo my nie wiemy, co się dzieje”. Jesteśmy w stanie pomóc na każdym etapie.
Wpływ afery na rynek
Jan Kinal: Jak ta afera wpłynęła na waszą branżę? Napędziła wam klientów czy ludzie zaczęli się bardziej bać AI?
Alicja Ziemlińska: Wykorzystanie sztucznej inteligencji w procesie ofertowania jest zrozumiałe i naturalne — to tak duże obciążenie i zaangażowanie zasobów ze strony wykonawców, że jest to po prostu naturalny krok. Nasi klienci mówią nam, że korzystają z ChatGPT i różnych narzędzi, a dzięki pracy z nami czują się bezpieczniej, bo wiedzą, że czuwamy nad jakością.
Wydaje mi się, że takie sytuacje wręcz sprawiają, że mamy trochę większe zainteresowanie. Ale nie patrzę na to tylko z biznesowego punktu widzenia. Rynek zamówień publicznych jest dla mnie osobiście bardzo ważny. Chciałabym, żeby wykonawcy korzystali z dedykowanych narzędzi — niekoniecznie naszych, jakichkolwiek — które sprawią, że będzie im bezpieczniej i wygodniej. Bo koniec końców wygrywamy my wszyscy — lepiej są wydawane publiczne pieniądze.
Jan Kinal: Słuchajcie, bardzo wam dziękuję za dzisiejszą rozmowę. Dostarczyliście spory zestaw wiedzy i informacji dla osób zainteresowanych tematyką przetargów i pracujących w tej branży. Kontakt do Bartka i Alicji znajdziecie w przypiętym komentarzu pod nagraniem. Do zobaczenia następnym razem!