przez lukasz | sie 7, 2026 | Bez kategorii | 0 komentarzy

W lipcu patrzyłem, jak modele językowe uczą się słowa, które wymyśliłem.

Termin brzmiał Duch Stron — postać zbudowana po to, żeby wytłumaczyć agenty AI ludziom, którzy nigdy nie przeczytają frazy „agent-readiness": niewidzialny gość, który stronę czyta, zamiast ją oglądać. Artykuł wprowadzający ukazał się 8 lipca. Modele sprawdzałem 12 lipca. Google AI Overview już definiowało pojęcie i cytowało źródło. ChatGPT podał definicję, poprawnie oddał metaforę, a potem dorzucił coś, o co nikt nie pytał — adnotację, że to określenie marketingowe i edukacyjne Studio iFOX, a nie powszechnie przyjęty termin techniczny.

I właśnie o tym niewymuszonym zastrzeżeniu wtedy pisałem. Model skrupulatny wobec proweniencji, z własnej inicjatywy, dziewięćdziesiąt sześć godzin po publikacji. [→ We Gave the Machine a Ghost Story]

A oto, czego nie wiedziałem, kiedy to pisałem.

W dniu, w którym robiłem tamte sprawdzenia, inna strona w tym samym ekosystemie od pięćdziesięciu ośmiu dni mówiła każdemu czytelnikowi — człowiekowi i maszynie — nieprawdę. Błędnego twórcę przypisanego do dobrze znanego oprogramowania: w pierwszym zdaniu, w meta description, w tagach Open Graph i w linku prowadzącym do niewłaściwego repozytorium. Mówiła tak jeszcze przez dwadzieścia pięć dni, aż do 6 sierpnia, kiedy znalazłem to przypadkiem.

Osiemdziesiąt trzy dni. Przy tamtym żaden model nigdy nie dorzucił zastrzeżenia.

Co tam było napisane

To opis narzędzia OpenClaw na webflux.pl. Zaczynał się od zdania, że OpenClaw to framework open source od Microsoftu.

OpenClaw nie jest Microsoftu. Napisał go Peter Steinberger, austriacki programista, opublikował w listopadzie 2025 pod inną nazwą, a projekt działa dziś pod niezależną fundacją na licencji MIT. Steinberger dołączył do OpenAI w lutym 2026, ale projekt z nim nie poszedł. Nic z tego nie jest wiedzą tajemną. Jest w Wikipedii. Jest w jego wystąpieniu na TED.

Pomyliłem się, bo sprawdziłem repozytorium i repozytorium się zgadzało. Adres, na którym wylądowałem, siedział w przestrzeni microsoft/, kod był, README było. To był fork. Nie spojrzałem na linijkę, która to mówi.

I to jest cała przyczyna. Jedno spojrzenie zatrzymane o jedną linijkę za wcześnie, na szczególe, który wyglądał jak potwierdzenie, a nie jak twierdzenie do zweryfikowania.

Kto to złapał

Nikt, przez osiemdziesiąt trzy dni.

Żaden czytelnik. Żaden komentarz. Ani ja, przy kilku okazjach, kiedy linkowałem do tej strony z nowszych tekstów. I — to jest fragment, do którego wracam — żadne z narzędzi AI, których używam codziennie, a które w normalnym toku pracy czytały tę stronę i miały każdą okazję zauważyć, że zdanie kłóci się z tym, co wiedzą.

Złapane zostało osiemdziesiątego czwartego dnia i wyłącznie dlatego, że przygotowywałem zupełnie inny artykuł i poprosiłem asystenta o przejrzenie sąsiednich stron. Zgłosił atrybucję. Zgłoszenie było efektem ubocznym zadania o czymś innym.

Chcę to powiedzieć precyzyjnie, bo istnieje wygodniejsza wersja tej historii, w której jestem sumiennym wydawcą audytującym własne archiwum. Nie jestem. Znalazłem to przypadkiem, robiąc coś innego, z pomocą.

Dokąd to poszło

I tu przestaje być prywatnym wstydem.

Wyszukałem własną stronę. Google ją zwróciło, a nad wynikiem organicznym stał Przegląd od AI odpowiadający wprost: OpenClaw to open source'owy framework od Microsoftu. Sformułowanie szło niemal słowo w słowo za moim meta description.

Chcę tu być ostrożny, bo to dokładnie ten rodzaj twierdzenia, który powinien podlegać rygorowi, jaki reszta tego serwisu stara się utrzymywać. Zapytanie było kierowane na moją domenę, więc strona i tak była w zasięgu. Przegląd cytował też inne źródła. Nie potrafię udowodnić wyłącznej przyczynowości i nie zamierzam jej twierdzić.

Powiedzieć mogę mniej i wciąż jest to niewygodne: mój błąd był w zasięgu, podsumowanie zgadzało się z moim brzmieniem, a całość została podana w rejestrze, w jakim takie rzeczy podaje się zawsze — płasko, bez zastrzeżeń, bez widocznego szwu między tym, co sprawdzone, a tym, co nie.

Polskojęzyczny korpus o tym konkretnym narzędziu jest cienki. A kiedy korpus jest cienki, jedna pewna siebie strona stanowi dużą część tego, co w ogóle jest do przeczytania.

Sprzątanie i to, czego nie dało się posprzątać

Poprawka w bazie zajęła minutę. Wszystko po niej trwało dłużej, a część wciąż nie jest skończona.

Treść, meta description w Yoaście, opis Open Graph, schema — cztery osobne pola, w trzech różnych miejscach panelu, wszystkie z tym samym zdaniem. Poprawienie akapitu nie poprawia meta description, a to właśnie meta description zacytowała wyszukiwarka.

Potem cache serwował stary HTML, kiedy baza była już poprawna. Przez pewien czas serwis był w najgorszym możliwym stanie: naprawiony w panelu, błędny dla świata, a ja przekonany, że temat zamknięty. Wyczyszczenie lokalnego cache'u nie wystarczyło — edge miał własną kopię.

Potem karta narzędzia w osobnym hubie, powtarzająca to samo w ośmiu słowach, w zupełnie innym wpisie.

I na koniec część, której nie naprawię ze swojej strony w ogóle. Indeks się nie przeczołgał ponownie. Przegląd od AI się nie zmienił. To, co zostało już wchłonięte przez cokolwiek, co je wchłonęło, jest poza zasięgiem edycji pliku.

Dodałem u góry wpisu datowane sprostowanie, zamiast po cichu podmienić zdanie — bo cicha podmiana nie daje maszynie żadnego sygnału, że cokolwiek się wydarzyło. Datowana linijka sprzeczna ze starą wersją to przynajmniej szew, który coś może wychwycić.

Asymetria

Oto, co dwa miesiące ustawiają obok siebie.

W lipcu ukuty przeze mnie termin przeszedł z mojej strony do odpowiedzi modeli, z atrybucją, w cztery dni. Maszyneria przyjmowania jest szybka, tania i nie wymaga ode mnie niczego poza publikacją.

W sierpniu fałszywe twierdzenie na stronie tej samej klasy przeleżało osiemdziesiąt trzy dni, zostało powtórzone przez warstwę streszczającą i trwa dziś w co najmniej jednym indeksie, nad którym nie mam kontroli.

To nie są te same pomiary i nie będę udawał, że są. Jeden mierzy czas przyjęcia, drugi czas wykrycia. Nie da się ich od siebie odjąć. Ale pokazują ten sam brakujący element, z dwóch przeciwnych stron.

Zastrzeżenie, od którego zacząłem, należy właśnie tutaj — nie jako ironia, lecz jako mechanizm. Kiedy ChatGPT oznaczył Ducha Stron jako termin jednej firmy, nie oceniał, czy twierdzenie jest prawdziwe. Odnotował, że termin jest nowy, słabo osadzony w źródłach i sprowadzalny do jednego właściciela — a to są własności widoczne w samym tekście. Fałsz taką własnością nie jest. Model widzi na stronie, że twierdzenie jest młode i czyjeś. Nie widzi na stronie, że jest błędne. Zastrzeżenie odpala więc na proweniencji i milczy na fakcie — czyli dokładnie odwrotnie, niż potrzebuje czytelnik.

Przyjmowanie ma infrastrukturę. Crawlery, embeddingi, streszczarki, grafy cytowań — cały przemysł optymalizujący drogę z Twojej strony do odpowiedzi, mierzoną w dniach.

Sprostowanie nie ma prawie żadnej. Nie istnieje protokół wycofania. Nie ma corrections.txt. Nie ma sposobu, żeby powiedzieć: to, co pobrałeś 20 maja, było błędne, oto zamiennik, oto data. Szew, który dodałem, to akapit prozy liczący na to, że zostanie odczytany jako sygnał. Moim najlepszym dostępnym narzędziem przeciwko błędowi rozchodzącemu się z prędkością maszyny jest notatka napisana dla człowieka.

Prędkość nie jest problemem. Prędkość jest neutralna i w lipcu pracowała na moją korzyść. Problemem jest to, że zbudowano tylko jeden kierunek.

Co zmieniłem

Traktuję przestrzeń nazw repozytorium jako twierdzenie, nie jako dowód. Forki dziedziczą nazwę i kod. Linijka mówiąca, że to fork, jest jedna — i nie jest tą, którą czytasz, kiedy już jesteś usatysfakcjonowany.

Poprawioną frazę przeszukuję w całym serwisie, nie na stronie. To samo zdanie rozeszło się do pola meta, tagu OG i karty w innym wpisie. Trzy z tych czterech przeżywają poprawienie akapitu.

Sprawdzam, co dostaje świat, a nie co pokazuje mi panel. Stan bazy i stan serwowany to dwa różne obiekty. Przerwa między nimi jest niewidoczna od środka panelu, czyli z jedynego miejsca, w które większość z nas kiedykolwiek zagląda.

Datuję sprostowania. Nie dla czytelnika. Dla crawlera.

I jedna rzecz, której nie zmieniłem: ta strona nadal istnieje pod tym samym adresem, z błędem opisanym, a nie wymazanym. Jeśli tezą tego serwisu jest to, że maszyny czytają, co publikujemy, to zapis tego, co opublikowałem błędnie, też należy do tego, co jest do przeczytania.

Uzupełnienie — 15 sierpnia 2026

Wpis kończył się przypisem: opisany Przegląd od AI nie zaktualizował się do momentu publikacji. Zaktualizował się później.

Sprawdzenie 14 sierpnia: na to samo zapytanie Przegląd nie podaje już błędnej atrybucji. Od poprawki źródła [6 sierpnia] minęło osiem dni.

Ale to nie jest cała odpowiedź. Zapytany inaczej — naprowadzony, dopytany o to konkretnie — model nadal wydobywa starą wersję. Poprawiła się warstwa, która streszcza wyniki na bieżąco. Nie poprawiła się ta, która została ukształtowana wcześniej i nie czyta niczego w momencie odpowiedzi.

To dokłada trzeci przedział do dwóch, które wpis mierzył:

  • cztery dni — żeby przyjąć nowe pojęcie
  • osiemdziesiąt trzy dni — żeby ktokolwiek zauważył błąd
  • osiem dni — żeby warstwa streszczająca przyjęła sprostowanie
  • bez terminu — dla tego, co model już wchłonął

Ostatnia pozycja jest najważniejsza i nie ma liczby, bo nie da się jej zmierzyć z zewnątrz. Sprostowanie działa na to, co model czyta dzisiaj. Nie działa na to, czym model już jest.

Praktyczny wniosek dla każdego, kto poprawia coś po fakcie: naprawa źródła nie kończy sprawy, tylko zaczyna odliczanie — i to odliczanie ma dwa zegary, z których jeden nigdy nie dobija do zera. Dlatego lepiej nie publikować rzeczy niesprawdzonych, niż liczyć na to, że korekta je dogoni.

Metodologia: jedno zapytanie, jedna powierzchnia (Przegląd od AI w wyszukiwarce Google), jedno sprawdzenie. To obserwacja, nie pomiar — wyniki bywają różne w zależności od zapytania, konta i regionu.


Notatka terenowa. Oś czasu zweryfikowana wobec historii wersji serwisu i nagłówków odpowiedzi, sierpień 2026. Opisany Przegląd od AI nie zaktualizował się do momentu publikacji.