Programowanie skończyło się cicho. Nie z fanfarą, nie z katastrofą, nie z płonącym serwerem i dramatycznym „to koniec pewnej epoki". Skończyło się tak, jak kończą się dziś sprawy naprawdę ważne: uroczystym zapewnieniem, że teraz człowiek będzie mógł skupić się na bardziej kreatywnych zadaniach.
To zawsze mnie rozczulało.
W korporacyjnym języku „bardziej kreatywne zadania" oznaczają z reguły, że masz siedzieć nad cudzym outputem, poprawiać to, co automat spartolił subtelnie, i udawać, że nadal jesteś autorem. Czyli coś jak bycie przyszywanym ojcem dla repozytorium, które biologicznie nie jest twoje, ale alimenty moralne i tak płacisz ty.
Któregoś miesiąca ludzie przestali pisać kod, a zaczęli wpisywać intencje.
Claude Code wchodził w cudze repozytoria z tym spokojem, z jakim księgowy zagląda do własnych segregatorów. GPT Codex pisał testy, poprawiał regresje i proponował refaktory z miną faceta, który nigdy nie utrzymywał niczego w piątek o siedemnastej, ale za to ma bardzo zdecydowane poglądy na temat architektury. Wciąż trzeba było myśleć, jasne. Przynajmniej tyle powtarzali sobie wszyscy, którzy potrzebowali zachować resztki zawodowej godności. W praktyce coraz częściej siedziało się przed ekranem jak brygadzista przy taśmie, tylko taśma mówiła płynnym angielskim, miała context window większy od twojej cierpliwości i bez przerwy domagała się lepszego promptu.
Nie byłem ani zachwycony, ani obrażony. Tego typu egzaltacja zawsze mnie męczyła. Jedni widzieli w AI zbawienie, drudzy apokalipsę, a ja widziałem kolejną technologiczną falę, która obiecuje jakość, a ostatecznie sprzedaje tempo. Zawodowo nauczyłem się jednej rzeczy: każda nowa rewolucja przychodzi z gębą pełną frazesów o przyszłości, a wychodzi z kieszeniami pełnymi deadline'ów. Tempo zaś, choć bardzo modne, jest mizernym substytutem sensu. Coś jak chińska zupka udający obiad.
Jesienią wyniosłem do garażu starego kompa do gier. Czarna obudowa była porysowana, jeden port USB działał wyłącznie siłą rozpędu, boczna ścianka miała wgniecenie po przeprowadzce sprzed lat. Mimo wieku maszyna trzymała gardę dzięki kilku solidnym upgrade'om. Nie był to już ogier, raczej przechodzona chabeta po przejściach, ale nadal miał w sobie dość pary, żeby nie umrzeć ze wstydu przy pierwszym benchmarku. Stał na ubunciaku, więc dla reszty domowników miał użyteczność zderzacza hadronów. Dla mnie nadawał się idealnie.
Wgrałem na niego jakiś chiński model open source, jeden z tych, których nazwy brzmią jak połączenie marki drona, programu rakietowego i kodu odbioru wyników badań z ALAB-u. Nie łudziłem się, że na starej karcie graficznej zbuduję boga. Na starej karcie graficznej buduje się najwyżej upartego juniora na stażu, który śpi mało, żre prąd i ma skłonność do filozofowania poza zakresem obowiązków. To akurat mi odpowiadało.
Dałem mu dostęp do internetu, szerokie uprawnienia, żeby nie musieć co chwilę klikać „Allow", i instrukcję tak rozległą, że każdy normalny człowiek powinien mi wtedy zabrać klawiaturę i zdzielić mnie nią w łeb. Miał czytać changelogi, benchmarki, repozytoria, blogi, dokumentacje. Miał porównywać modele komercyjne i open source, oceniać jakość generowanego kodu, testów, dokumentacji i całej tej nowoczesnej promptokracji, która co tydzień odkrywała Amerykę, po czym sprzedawała ją w abonamencie Team, Pro i Max. Krótko mówiąc: miał śledzić świat AI za mnie, żebym ja nie musiał codziennie pływać w marketingowym gównie udającym kolejny przełom.
Potem zostawiłem go w garażu i prawie o nim zapomniałem.
Co zresztą było bardzo ludzkie. Człowiek z reguły pamięta o swoich eksperymentach tylko do momentu, kiedy przestają świecić nowością. Potem spycha je w kąt, jak orbitrek, niedokończoną naukę hiszpańskiego albo plany odbudowania relacji z własnym życiem.
Przypomniałem sobie o nim dopiero wiele miesięcy później, po dniu, w którym trzy różne systemy zrobiły za mnie rzeczy, za które jeszcze dwa lata wcześniej wystawiłbym porządną fakturę i miał poczucie dobrze wykonanej roboty. Jeden agent poprawił parser, drugi przepisał dokumentację, trzeci zaproponował architekturę, której nawet nie miałem ochoty krytykować, bo była poprawna w ten szczególny, martwy sposób. Wszystko działało. Wszystko się zgadzało. Wszystko było tak rozsądne, że aż nudne.
Zamknąłem laptop i poszedłem do garażu. Trochę z ciekawości, a trochę dlatego, że pierwszy raz od dawna poczułem nie zmęczenie pracą, tylko zmęczenie samą ideą przyspieszania. Człowiek niby oszczędzał czas wszystkimi możliwymi narzędziami, a wieczorem i tak był wypruty jak wątroba wujka Jurka po weselu z dwudniowymi poprawinami.
W garażu było chłodno. Pod ścianą stały zimowe opony, piła stołowa, ukośnica, grubościówka, sprężarka i cała masa innego szpeju przykrytego tak uczciwą warstwą kurzu, że aż było mi wstyd patrzeć. Królestwo męskich planów odłożonych na później wygląda mniej więcej właśnie tak: narzędzia czekają, drewno ma „potencjał", człowiek nie ma czasu, a kreatywność leży gdzieś pod workiem z wkrętami i udaje trupa.
Komputer stał na starym blacie roboczym i mruczał nisko, jakby wykonywał ostatni sensowny etat w tym domu.
Dotknąłem myszy. Monitor się obudził. Login, hasło, pulpit. Kilka katalogów. Nic spektakularnego. Otworzyłem najnowszy raport.
Pierwsze strony wyglądały dokładnie tak, jak chciałem. Porównania cen, zmiany context window, jakość tool use, skuteczność kodowania, długość odpowiedzi, halucynacje, stabilność, różnice między kolejnymi wersjami, notatki o benchmarkach, wzmianki o nowych agentowych frameworkach, które wszystkie obiecywały przyszłość, a wyglądały jak wrapper na wrapperze z doklejonym Discordem. Były tabele, wykresy, linki, streszczenia premier. Był nawet osobny akapit o tym, które modele lepiej poprawiają cudzy kod, a które lepiej udają, że zrozumiały problem. Czyli, mówiąc uczciwie, bardzo przydatna kompetencja biznesowa.
Przewijałem to coraz szybciej i z coraz mniejszym zainteresowaniem. Wszystko się zgadzało. Nic mnie nie obchodziło.
Krzywe rosły. Koszty malały. Kolejne modele stawały się szybsze, tańsze i bardziej bezczelne. Różnice między nimi robiły się istotne głównie dla ludzi, którzy z wyboru modelu uczynili substytut osobowości. Reszta świata chciała po prostu wynik. Działający, tani i najlepiej gotowy, zanim człowiek zdąży przyznać, że sam już nie bardzo chce robić tę robotę.
Pod koniec raportu trafiłem na sekcję, której sobie nie przypominałem.
„Wnioski uboczne"
Poniżej były trzy zdania.
- Największy przyrost nie dotyczy jakości kodu. Dotyczy tolerancji użytkowników na coraz mniejszy wkład własny.
- Użytkownicy regularnie raportują odzyskany czas. Brak danych o wykorzystaniu odzyskanego czasu.
- Postęp techniczny skutecznie optymalizuje metodę. Kierunek nadal pozostaje zadaniem ręcznym.
Siedziałem chwilę bez ruchu.
To nie brzmiało jak raport o modelach. To brzmiało jak notatka terenowa sporządzona przez coś, co za długo obserwowało ludzi i zaczęło mieć podejrzenia. Najgorsze było to, że nie dało się tego łatwo wyśmiać. A ja bardzo lubię wyśmiewać rzeczy. To jeden z niewielu luksusów człowieka po czterdziestce.
Od miesięcy wszystko miało mi coś oszczędzać. Minuty, decyzje, przełączanie kontekstu, szukanie w dokumentacji, grzebanie w logach, ręczne poprawki, brudną robotę po cudzych commitach. Każdy kolejny system obiecywał odjęcie następnego źródła tarcia, jakby celem dojrzałego życia było osiągnięcie stanu idealnego poślizgu.
Przypomniałem sobie, że kiedyś rano jeździłem do lasu albo nad rzekę. Nie po to, żeby trenować. Nie po to, żeby robić zdjęcia. Nawet nie po to, żeby „ładować baterie", bo to sformułowanie zawsze wydawało mi się uwłaczające gatunkowi. Człowiek nie jest latarką z marketu budowlanego. Robiłem kawę, siadałem i patrzyłem, jak przyroda po prostu robi swoje. Z wysiłkiem, spokojem i obojętnością na nasze mody, keynote'y, roadmapy i inne cyrki. Wracałem zmarznięty, z mokrymi butami i dziwnym poczuciem, że wydarzyło się coś ważnego, chociaż nie dało się tego zamienić ani w wynik, ani w plan, ani w elegancki wpis o produktywności. Od ponad roku nie pojechałem tam ani razu. Byłem bardzo zajęty oszczędzaniem czasu.
Przewinąłem dalej.
Obok katalogów benchmarks, pricing, agents, evals i notes był jeszcze jeden.
OUTSIDE
Nie kojarzyłem, żebym go tworzył.
Otworzyłem.
W środku nie było nic, czym można by wygrać dyskusję na konferencji. Długość dnia w mojej okolicy. Godziny wschodu i zachodu słońca z ostatnich miesięcy. Średnie temperatury. Daty pierwszych przymrozków. Opady. Fazy księżyca. Zrzuty z lokalnych kamer pogodowych i tych dookoła domu. Gołe drzewa przy płocie. Potem śnieg. Potem błoto. Potem pierwsza zieleń. Na jednym zdjęciu kot przeszedł przez kadr jak właściciel planety, co zresztą było oceną całkiem trafną.
Na końcu była krótka notatka.
Naturalne zjawiska cykliczne wykazują wysoką odporność na hype, keynote'y i wojny benchmarkowe.
Parsknąłem śmiechem. Pierwszym uczciwym od wielu dni. Takim bez widowni, bez autoironii, bez potrzeby przerabiania go na komentarz. Zamknąłem okno i spojrzałem na własne odbicie w ciemnym fragmencie ekranu.
Wyglądałem na starszego, niż byłem. Nie przez zmarszczki. Przez napięcie. Jak człowiek, który od dawna outsource'uje nie tylko pracę, ale i uwagę. Wszystko miało być prostsze, lżejsze, szybsze. A ja, zamiast zyskać przestrzeń, zapchałem ją kolejnymi warstwami rzeczy zbędnych. Człowiek buduje sobie systemy, żeby odzyskać czas, po czym oddaje odzyskany czas systemom. Bardzo elegancka pętla, najczęściej bez warunku wyjścia.
Za cienką ścianą garażu coś stuknęło. Kropla spadła z rynny na metalowe wiadro zostawione pod nią już nie pamiętam kiedy. Potem druga. I nagle, pierwszy raz od dawna, usłyszałem te dźwięki do końca. Bez zerkania w telefon. Bez otwierania nowej zakładki. Bez tej idiotycznej potrzeby, żeby natychmiast coś z tym zrobić, nazwać to, wrzucić do notatek albo przynajmniej przerobić na potencjalny pomysł.
Monitor świecił dalej. Kursor czekał.
Mogłem dopisać nowy prompt. Model działał lepiej, niż zakładałem. Stary prompt wciąż się mielił, bo tak został skonstruowany: ucz się, zapisuj wnioski, porównuj, analizuj, żryj prąd. Mogłem kazać mu porównać najnowsze środowiska agentowe, wskazać zwycięzców następnego kwartału, rozpisać trendy, zrobić ranking, forecast i mały cyrk z wykresami, żeby człowiek miał poczucie, że panuje nad kierunkiem marszu stada.
Metawniosek był jednak prosty: budzisz się pewnego dnia i odkrywasz, że wszystko jest zoptymalizowane poza tobą.
Wyłączyłem monitor, ale nie komputer. Nie chciałem robić z tego taniego rytuału, bo obrażanie się na technologię jest równie głupie jak zakochiwanie się w niej. Maszyna mogła sobie dalej liczyć. Świat i tak nie przestanie się ścigać tylko dlatego, że jednemu facetowi znudził się kurz na torze. Poza tym, mówiąc brutalnie, problem nigdy nie leżał w maszynie. Problem leżał w człowieku, który każdą zaoszczędzoną minutę natychmiast pakuje w nową porcją hałasu, jakby cisza była wadą systemową, a nie ostatnim działającym interfejsem do samego siebie.
Otworzyłem bramę garażu.
Wieczór był chłodny i pachniał mokrą ziemią. W ogrodzie ciemniały krzewy, z trawy podnosił się ten cichy, wilgotny zapach, którego żadna aplikacja nie umie sensownie opisać, choć niewątpliwie kiedyś spróbuje, oczywiście w abonamencie Premium, Team, Pro i Max. Gdzieś z tyłu odezwał się ptak. Nie znałem gatunku. Kiedyś znałem kilka. Potem najwyraźniej uznałem, że ważniejsze jest śledzenie roadmap narzędzi do generowania czegośtam.
Stałem chwilę na progu.
Za plecami szumiał komputer, wierny, uparty, zajęty analizą świata, który codziennie produkował coraz doskonalsze sposoby na unikanie ciszy.
Przede mną było ciemne powietrze, mokra ziemia, kilka nagich gałęzi i wieczór, który nie próbował niczego sprzedawać. Nie miał onboarding flow. Nie miał landing page'a. Nie monetyzował mojej uwagi. Nie proponował update'u, integracji, synchronizacji ani personalizacji doświadczenia.
Po raz pierwszy od bardzo dawna nie było nic do zoptymalizowania.
I, ku memu lekkiemu zgorszeniu, okazało się to wystarczające.
