Won, Halski!

Za sprawą kodu promocyjnego na kawę dowiedziałem się, że InPost zrobił platformę sprzedażową i zmiany w appce na telefony. Z tej okazji trochę pierwsze wrażenie z korzystania i nieco przemyśleń w temacie.

Po pierwsze, chętnych do tortu e-commerce i platformy sprzedażowej na wzór Allegro jest wielu. Pomijając zagranicznych gigantów, mamy na polskim rynku – wymieniając na szybko, z głowy: erli.pl, Empik, mBank. I teraz InPost. Często są to twory zrobione na przyczepkę, w stylu „mamy X klientów na coś innego, sprzedawajmy też mydło i powidło”.

Moje doświadczenia z platformami są takie, że na Allegro kupuję regularnie i jest to pierwszy wybór. Znam interfejs, jest spory wybór, jest przewidywalne. Wady to coraz trudniejsze wyszukiwane z uwagi na zalew ofert promowanych i coraz mniej atrakcyjne ceny.

Empik, który kojarzył się ze sklepem z kulturą, zaczął parę lat temu sprzedawać różności. Jakieś karmy dla zwierząt, jakieś śrubki. Zdarzyło mi się parę zakupów tam, zwykle jakieś promocje, ale nie korzystam regularnie. Erli.pl – podchodziłem parę razy i… nic nie kupiłem, ostatecznie. Słaby wybór i ceny, za to wyszukiwanie i wygląd podobają mi się (desktop), takie odchudzone Allegro. Ostatni jest mBank, który wprowadzając zakupy do appki stracił u mnie sporo wizerunkowo jako bank, a nigdy niczego nie kupiłem.

No i na to wszystko na rynek wchodzi InPost. Z jednej strony rozumiem, bo po co przewozić cudze zakupy, skoro można własne. Podobnie – choć z drugiej strony – podeszło Allegro, budując swoją sieć dystrybucji. Po co płacić za dostarczenie zakupów komuś, skoro można to zrobić samodzielnie? Ale styl wejścia na rynek…

Jest na bogato. W appce do odbioru przesyłek pojawił się animowany pies, a cały proces zorientowany jest pod tego psa. Teksty itp. Czuć, że włożono w to sporo pracy. Tylko ten pies zupełnie mi się nie kojarzy z InPostem, wygląda na wziętego z innej bajki i wklejonego. No dobrze, ale odpalam appkę nie po to, żeby psa oglądać.

Zdarzyło mi się kupić w appce InPostu. Akurat pojawiła się w promocji oferta na kawę, o której dowiedziałem się z innego źródła, appkę już miałem, kawę piję. Stwierdziłem, że kupię, bo kilogram kawy za 35 zł to dobra cena. W aplikacji okazało się, że dodatkowo jest darmowa dostawa, więc już zupełnie dobrze.

Tyle, że interfejs jest tragiczny. Pomijam psa, który nic nie wnosi. Chodzi o to, że zapytanie do wyszukiwania obowiązkowo przechodzi przez asystenta AI. Pobawiłem się chwilę i faktycznie jest LLM pod spodem, to nie stylizacja. Nie wiem kto wpadł na pomysł, że wpisywanie tekstu na ekranie telefonu w celu przetworzenia przez AI, jako podstawowa metoda interakcji to coś, co się ludziom spodoba. No mi się nie podoba. W dodatku AI oznacza dodatkowe oczekiwanie na wynik. Męczące.

W zastosowaniach typowo LLMowych też sobie nie radził za dobrze. Wrzuciłem, że mam 100 zł do wydania i… no słabo sobie poradził. Propozycje nietrafione, nie dopytywał. Za to coś pobredzał o poprzednich zakupach (niezbyt trafnie). Ale nie chciał podać, skąd ma dane. Nie wiem jak to wygląda u innych, bo nigdy nie próbowałem korzystać z asystenta AI. Zupełnie nie mam potrzeby korzystać z niego w pojedynczym sklepie w jakiejś wersji, która nie wiem, co robi. Jeśli szukam czegoś i chcę skorzystać z LLMa, to wolę z „pełnego”, niezależnego od sklepu, mającego dostęp do sieci.

Sam zakup wyglądał tak, że znalazłem inną kawę, niż ta za rzekome 35 zł. Bardziej mi pasowała z opisu. Dodałem ją do koszyka, wpisałem kod, obniżył cenę o 15 zł. Spróbowałem zmienić na tę z promocji, już tylko, żeby sprawdzić cenę, bo coś mi się nie zgadzało i… kod nie wchodził w ogóle. Albo coś skopane, albo literówka.

Okazało się, że zamówień jest dużo, więc dostałem maila, że się przedłuży. Nie dostałem informacji o ile. Nie dostałem też (albo nie zauważyłem) powiadomienia (mail), że paczka dotarła i czeka w paczkomacie. Aplikacja Allegro sygnalizuje to o wiele lepiej. I chyba dodatkowo wysyła SMSa.

I tak sobie myślę, że po tym, co zobaczyłem, raczej nie palę się do zakupów w InPost. Jasne, dam się skusić na kolejny kupon, ale tak bez okazji, to chyba nie. No chyba, że mocno to wszystko poprawią.

Rozrywka

Link z ostatniego wpisu o tym, jak AI rzekomo zabiło CTFy przypomniał mi o podobnym zjawisku sprzed lat. Zanim przejdę do sedna – faktycznie, wygląda na to, że scena CTF do czasu pojawienia się AI się zmieniła. Niedawno bawiliśmy się ze znajomymi i duże kilkadziesiąt zespołów rozwiązało wszystkie zadania. Nie mam większej próbki, na ile to powszechne, ale faktycznie, pierwszy raz widziałem taką sytuację. No i opisy autora wpisu, całe frameworki, agenty – robi wrażenie. Bo LLMy były wykorzystywane już wcześniej, ale raczej ręcznie, przynajmniej wg mojej wiedzy. Zresztą oddać trzeba, że większość CTFów nie dawała żadnych ograniczeń w tym zakresie.

Wracając do zjawiska, które mi się przypomniało. Wieki temu, w czasach szkoły średniej, kiedy mieliśmy za dużo czasu, z kolegami wpadliśmy na genialny pomysł. Kupimy magazyn z łamigłówkami, rozwiążemy wspólnie i wyślemy do losowania, aby ubiegać się o najwyższą nagrodę. Były bowiem różne nagrody, zależne od ilości rozwiązanych zadań. Najniższy próg można było dość łatwo osiągnąć, ale i nagrody były niezbyt wysokie. Natomiast w najwyższym i nagroda była – jak dla nas – wysoka, i trzeba było naprawdę pogłówkować. Magazynem była tytułowa Rozrywka, która zawierała krzyżówki, jolki, rebusy itp. Jednym słowem: łamigłówki. Z perspektywy czasu, był to trochę taki CTF, tylko niezwiązany z komputerami i IT security.

Dla ustalenia uwagi: dwutygodnik Rozrywka – bo o nim mowa – kupowało się w kiosku, rozwiązania wysyłało zwykłą pocztą, chyba z fragmentem numeru. Z tego co pamiętam – choć nie dam głowy, każdy z nas kupował i wysyłał swój egzemplarz. Sporo rzeczy rozwiązywaliśmy równolegle, bo synchronizacja była nie online, tylko telefonicznie, albo w szkole[1]. Inny świat.

Oczywiście nigdy nic nie wygraliśmy, a sam pomysł dość szybko upadł[2]. Pewnie nie doceniliśmy wpływu szczęścia w losowaniu i przeszacowaliśmy szanse, czyli ilość ludzi, którzy jednak rozwiążą wiele zadań i wyślą rozwiązania. W sumie dla emerytów mogło to być jedyne zajęcie i odpowiednik loterii. Posiadali przy tym duże doświadczenie w rozwiązywaniu… Teraz to oczywiste, wtedy o tym nie myśleliśmy.

Jednak pamiętam, że robiliśmy usprawnienia. Pewien typ zadań to działania matematyczne, gdzie część cyfr jest zastąpiona literami[3]. Jako zdolni programiści podjęliśmy próbę napisania programu, który rozwiąże takie zadania. Z tego co pamiętam, początkowo zastosowaliśmy podejście brute force, co na niezbyt szybkich w owych czasach komputerach skazane było na niepowodzenie – program działał zbyt wolno. Przynajmniej w wersji naiwnej, bo ostatecznie kolega napisał w Pascalu coś, co było wystarczająco szybkie.

Dziś mamy tak szybkie komputery, że nawet wersja naiwna wystarczy[4]. Mamy też narzędzia w stylu Z-solvera czy OR-tools, które są w stanie pomóc przy tego typu zagadkach. Wreszcie jest dostęp online i do algorytmów, i gotowych narzędzi. Kiedyś było więcej myślenia i samodzielnego kombinowania. Podobnie z krzyżówkami. Chyba próbowaliśmy korzystać z jakichś komputerowych słowników na potrzeby krzyżówek, ale raczej były niekompletne i trudno dostępne.

Zmierzam jednak do tego, że komputery, ze swoją mocą obliczeniową, całkowicie zmieniły krajobraz łamigłówkowy i „scenę”. Bo pojawiły się też programy do tworzenia krzyżówek, sudoku, łamigłówek. Zmieniły się i same krzyżówki. Kiedyś normą była „szachownica” białych pól na wpisywanie haseł i czarnych, pustych. W białych były numerki, a hasła były oddzielnie. Czasem miały dość długie opisy. Teraz dominują krzyżówki panoramiczne, gdzie pojedyncza kratka zawiera – oczywiście krótki – opis hasła, a same hasła krzyżują się praktycznie wszystkimi literami.

I tak sobie myślę, że komputery zrobiły łamigłówkom to, co dziś LLMy i agenty robią CTFom. Zupełnie zmieniają krajobraz i środowisko. Przygotowując ten wpis dowiedziałem się, skąd wzięła się nazwa zadań: jolka… Jeśli chodzi o wydawnictwo Rozrywka, to z Wikipedii dowiadujemy się, że w 2021 r. prawa do tytułów zostały sprzedane. Jednak sam dwutygodnik nadal istnieje. Czy w zbliżonej formie? Jestem prawie pewien, że nie. Ale może kupię, żeby zobaczyć jak ma się do tego, co pamiętam. No i mam nadzieję, że scena CTF jednak nie zniknie, nawet jeśli się zmieni.

Bo łamigłówki nadal funkcjonują, nawet w epoce komputerów. Czasem – dzięki nim. I dostarczają radości i zabawy. Wystarczy przypomnieć 711 wyrazów o optymalizacji.

[1] Hm, a może to były wakacje/ferie?
[2] Jeśli dobrze pamiętam, wysłaliśmy z 2-3 razy, czyli zabawa na jakiś miesiąc czy dwa.
[3] Nazywa się to kryptarytm.
[4] Nawet w Pythonie, bez PyPy. A gdyby kogoś kryptarytmy i rozwiązywanie bardziej zainteresowało, to polecam te dwa linki.

Czy LLMy mogą oszczędzać prąd?

Czy LLMy mogą oszczędzać prąd? To pytanie wydaje się na pierwszy rzut oka dziwne, bo przecież powszechnie wiadomo, że AI zużywa dużo energii, jest winne ociepleniu klimatu itd. Zanim jednak zaczniemy powtarzać oczywiste prawdy, warto sięgnąć do źródeł. Bo – podobnie jak było to przy chińskich autobusach – powtarzana prawda może nieco odbiegać od twardych danych źródłowych.

Na początek warto przyjrzeć się pierwszemu popularnemu mitowi, który mówi użycie LLM zużywa wielokrotnie więcej energii, niż zwykłe wyszukiwanie. Twarde dane nie do końca to potwierdzają. Typowe zapytanie do ChatGPT to około 0,3 Wh. Nie kWh, tylko Wh. Na tyle samo Google oceniało pojedyncze zapytanie do wyszukiwarki. Czyli w przypadku prostych zapytań zużywane ilości energii zużywane przy zwykłym wyszukaniu w wyszukiwarce i wykorzystaniu LLM są zbliżone.

Nie żebym zachęcał do używania LLMów w ten sposób, bo jednak nie jest to specjalnie efektywne, ani energetycznie, ani czasowo. Jednak dramatu nie ma[1]. Pewnie efektywniej wykorzystać LLM do przygotowania zestawienia danych. Takiego, do którego potrzeba byłoby kilku wyszukiwań. Owszem, zapytanie będzie „cięższe”, ale unikniemy kilku tradycyjnych zapytań.

No dobrze, ale od to wcale nie jest takie kosztowne energetycznie do LLMy oszczędzają energię długa droga, prawda? Prawda. Wyobraźmy sobie jednak, że chcemy coś zrobić. Powiedzmy, napisać prosty program albo skrypt. Żeby to zrobić, musimy poszukać materiałów, zapoznać się z nimi, wykonać właściwą czynność. Jeśli będzie to pisanie programu wykorzystującego jakieś API, to musimy znaleźć dokumentację tego API, napisać sam program. To wszystko trwa. A że pracujemy na komputerze, który zużywa prąd. Laptop to przynajmniej 10-20W, monitor (24″) kolejne 15-25W. Raczej dolny szacunek, YMMV, można sprawdzić watomierzem.

Jako ludzie działamy raczej wolno, szczególnie w nieznanych obszarach. Wolno czytamy, wolno piszemy. A w tym czasie nasze urządzenia pracują i zużywają prąd. Więc pytanie do LLMa raczej przyspieszy wykonanie. Godzina pracy naszego skromnego laptopa i monitora to równowartość energetyczna od kilkudziesięciu do kilkuset zapytań do LLM.

Przykład z mojego podwórka, to skrypt do backupu obserwowanych na Mastodon. Małe kilka[3] promptów do Gemini, który znalazł i że jest API, i z których endpointów API korzystać, i jakie parametry podawać (a nieco nieoczywiste), i paginację dorobił od kopa. Pół godziny zeszło mi na zabawie, doczytaniu interesujących fragmentów dokumentacji, doszlifowaniu ręcznym. Ręcznie robiłbym z dwie godziny minimum.

Ale przecież są badania na to, że programistom się wydaje, że ich produktywność przy użyciu AI rośnie, a tak naprawdę to ona spada, na przykład to! Rzadko czytam badania, ale jeśli już, to lubię czytać nie tylko tytuł badania i wnioski, ale zerknąć na warunki badań. Bo autorzy często – świadomie lub nie – idą na łatwiznę i mają mocno niereprezentatywną próbkę. W tym konkretnym przypadku jest kilka red flags.

Po pierwsze, mowa o doświadczonych programistach, pracujących na własnym kodzie. Nie uważam się za doświadczonego programistę, ale do głowy by mi nie przyszło korzystanie z LLMa w typowej pracy z własnym kodem. A już na pewno nie jako pierwszy wybór. Czemu? Bo wiem, gdzie co jest, wiem, co chcę dodać, wiem jak to dodać, nie będę musiał czekać na wynik i poprawiać go. Po drugie, sami autorzy tego badania mają tego świadomość i sami piszą, że wyników nie należy uogólniać, a w przypadku mniej doświadczonych programistów LLM prawdopodobnie zwiększy wydajność. Zresztą, o tym, że AI pozwoliło zyskać czas na realizację pomysłów pisze wiele osób w mojej bańce.

Czy twierdzę zatem, że LLMy powodują spadek zużycia energii, globalnie? Nie. Jestem praktycznie pewien, że globalnie powodują wzrost zużycia. Sprzeczność? Nie. Po prostu opłacalność zależy od przypadku, a obecny trend jest taki, żeby do LLMów pchać wszystko, czy jest sens, czy go nie ma. I jest to zarówno trend ze strony producentów, jak i użytkowników.

Odbiegając nieco od tematu, zabawna jest obserwacja, jak używając coraz bardziej energooszczędnych technologii, zużywamy coraz więcej energii[3]. Wynika to z paru czynników. Mamy coraz więcej rzeczy na prąd, które kiedyś były ręczne. Lub ich nie było. Powszechna klimatyzacja. Drzwi otwierane elektrycznie w sklepach. Smart żarówki, rolety okienne, zawory grzewcze, sterowanie elektroniczne praktycznie wszystkim. Szczoteczki elektryczne, czytniki ebooków. Streaming zamiast radia. Wszytko zużywa trochę energii. I może wymagać jakiegoś serwera. Kolejny czynnik to po prostu wzrost ilości ludzi na planecie. Jeszcze pół wieku temu było nas o połowę mniej. A na początku XX w. – zaledwie 20% tego, co teraz.

Jeśli komuś naprawdę zależy na oszczędzaniu energii, zamiast martwić się o LLMy, powinien dbać o fizyczne odłączanie urządzeń z prądu, gdy są nieużywane. Przynajmniej na noc. Na przykład przyciskiem na listwie. Czemu? Bo pojedynczy zasilacz od laptopa przez sam fakt bycia podłączonym do prądu potrafi pobierać 1W. Wyłączony/uśpiony monitor – podobnie. Skąd wiem? Bo mierzyłem.

Inne ciekawe linki w temacie:

https://marmelab.com/blog/2025/03/19/ai-carbon-footprint.html

https://www.nature.com/articles/s41598-024-54271-x

UPDATE I jeszcze jeden link, na który trafiłem dziś, dotyczący tego, jak LLMy (w połączeniu z agentami AI) zabijają CTFy. Niedawno grałem, potwierdzam sytuację – kilkadziesiąt zespołów zrobiło wszystkie zadania. W temacie tego posta, potwierdza to szybkość i skuteczność (także energetyczną) AI.

[1] Tak, mam świadomość, że przytoczone tu dane dla tradycyjnych wyszukiwań są z 2009. W tzw. międzyczasie zużycie prądu przez pojedynczy serwer spadło. Z drugiej strony, ilość danych do przeszukania wzrosła, więc pewnie niewiele się zmieniło. Chętnie poznam współczesne dane.
[2] Pewnie 2-3 były, nie więcej niż 5.
[3] Jak to kiedyś ładnie ujął pewien człowiek, jeszcze nigdy w historii ludzkość jako ogół nie zmniejszała zużycia energii, niezależnie od coraz mniej energochłonnych technologii. UPDATE W ogóle zjawisko ma to nazwę: paradoks Jevonsa.