<< wróć do listy
DF0:scena-kontra-ai-re
Retro+23.07.2026

„AI tego nie pisało”. Jak dopisek w README stał się dowodem niewinności

Jednego dnia scena pokazała dwie strategie na to samo podejrzenie: autor narzędzia do rekompilacji PS1 wpisuje do README, że AI nie tknęło kodu, a twórca rdzenia na MiSTera odbija zarzuty parodią. Śmieszne dokładnie do momentu, w którym zadaje się pytanie, jak taki dowód niewinności miałby w ogóle wyglądać.

Wtorkowa prasówka potrafi ustawić człowiekowi cały dzień. Otwieram dwa newsy jeden pod drugim, oba z tej samej sceny, oba z tą samą sprawą w tle — i nagle widzę, że hobby dorobiło się nowego obowiązku. Nie wystarczy już wypuścić dobrą rzecz za darmo. Trzeba jeszcze udowodnić, że napisał ją człowiek.

Pierwszy news jest konkretny i techniczny. 21 lipca deweloper podpisujący się Flaffy wrzucił na GitHuba RecompOne — narzędzie do statycznej rekompilacji plików wykonywalnych PlayStation na kod C#, razem z warstwą runtime, która udaje sprzęt PS1 przed współczesnym pecetem. Licencja MIT. Do testów posłużyła Castlevania: Symphony of the Night, więc od razu wiadomo, że autor nie wybrał sobie najprostszego celu.

Różnica między tym a emulatorem jest zasadnicza, choć na pierwszy rzut oka niewidoczna. Emulator czyta instrukcję po instrukcji w trakcie działania gry i za każdym razem robi tę samą robotę od nowa. Rekompilator statyczny tłumaczy kod MIPS-a na C# wcześniej, raz — dodawanie z asemblera zamienia się w zwykłe dodawanie w C#, odczyt z pamięci w wywołanie metody runtime'u, a całość operuje na strukturze CpuContext trzymającej stan procesora. Efektem nie jest emulacja gry. Efektem jest natywny program, który tą grą po prostu jest.

Flaffy poradził sobie też z rzeczą, o którą rozbija się większość takich prób: overlayami. PS1 miała dwa megabajty RAM-u, więc gry doładowywały kawałki kodu w to samo miejsce w pamięci, jeden na drugi, jak wymienne szpule w magnetofonie. Narzędzie to obsługuje. Umie również patchować pojedyncze funkcje, co przydaje się przy kodzie modyfikującym sam siebie, a przy okazji otwiera furtkę na poprawki jakości życia. Czego nie umie: gier wielopłytowych. W README stoi to jako TODO, obok uczciwego zastrzeżenia, że projekt jest wczesny — gry się bootują, ale do produkcji temu jeszcze daleko.

Gatunek otworzył N64 Recomp i to, co scena zrobiła z Zeldą. Nagle okazało się, że stary tytuł da się przerobić na natywny plik wykonywalny, z prawdziwym rendererem, modami i odblokowanym framerate'em, bez czekania na łaskę wydawcy. PS1 to jednak inna liga — biblioteka większa o rząd wielkości, płyta zamiast kartridża, strumieniowanie danych, FMV. Jeśli RecompOne dojedzie do końca, robi się z tego narzędzie do ratowania kilkuset gier naraz.

I tu wchodzi zdanie, przez które ten news w ogóle trafił na nagłówki. W README, między opisem architektury a listą rzeczy do zrobienia, autor wstawił: „This project is not vibe-coded. AI was not involved in writing the code!”. Kawałek niżej dopisał, że projekt nie wspiera portów robionych na vibe. W rozmowie rozwinął myśl mniej złośliwie: AI bywa użyteczne jako narzędzie do researchu, ale nie zastąpi ludzkiego osądu przy rozumieniu i poprawnym implementowaniu tego, co się buduje. Przy rekompilacji trzeba znać i rekompilator, i wnętrzności gry — a tego czasu nikt za ciebie nie włoży.

Drugi news z tego samego dnia dotyczy tej samej sprawy, tylko rozegranej zupełnie inaczej. Na MiSTerze wylądował rdzeń Midway Wolf Unit autorstwa blahm1d. Na start grywalne są NBA Hangtime i Ultimate Mortal Kombat 3, w kolejce stoją Mortal Kombat 3, WWF WrestleMania, NHL: 2-on-2 Open Ice Challenge, NBA Maximum Hangtime i Rampage World Tour. Cała arcade'owa płyta Midwaya z połowy lat 90., odtworzona w FPGA i rozdana za darmo.

Pixel Cherry Ninja napisał na X-ie dokładnie to, co się w takiej sytuacji pisze: że Wolf Unit właśnie spadł na MiSTera, wygląda fantastycznie, a blahm1d wyszedł znikąd z darmowym prezentem dla społeczności, i że reszta biblioteki dojedzie wkrótce. Klasyczna scenowa radość. Tyle że gdzieś między jednym postem a drugim poszła sugestia, że taki rdzeń nie mógł powstać bez AI — i uczciwie mówiąc, nie ustaliłem, kto rzucił ją pierwszy.

Odpowiedź poszła na Patreona i jest majstersztykiem złośliwego humoru. blahm1d oświadcza, że nie wie nawet, co to jest prompt. Że jego mózg pracuje z wydajnością 4,2 teraflopa. Że kody kolorów wklepuje ręcznie, w hexie. Brzmi jak zaprzeczenie, ale zaprzeczeniem nie jest — bo ten sam człowiek gdzie indziej mówi wprost, że AI używa bez skrępowania, a do grafik w swojej grze Tomb sięgał po generatywne obrazki. To nie jest obrona. To parodia oskarżenia, napisana tak, żeby oskarżyciel zobaczył sam siebie.

Komentarze rozeszły się dokładnie tak, jak musiały. Jedni uznali, że to najlepszy numer miesiąca i mają z tego czystą frajdę. Inni, że autor wyszedł na bufona. Obie strony mają rację i to jest w tym najgorsze.

Bo zestawmy te dwie reakcje obok siebie. Jeden autor dokłada do README linijkę, której trzy lata temu nikt by tam nie wpisał. Drugi odbija podejrzenie kpiną, bo uznał, że tłumaczenie się jest poniżej godności. A pytanie pod spodem zostaje to samo i jest paskudne: jak właściwie miałby wyglądać dowód, że kodu nie napisał model? Dopisek w README nie jest weryfikowalny. To deklaracja, nie dowód — dokładnie tej samej klasy co „no ripped music” w starych plikach .nfo. Wierzysz albo nie wierzysz, a cała transakcja stoi na reputacji.

Scena zresztą od zawsze miała swoje rytuały uwierzytelniania autorstwa i nigdy nie były doskonałe. Greetsy, podpisy w intrach, „coded by” na scrollu. Komu chciało się kłamać, ten kłamał, a reszta orientowała się po stylu. Nowość polega na tym, że dziś podejrzenie pada nie za kradzież cudzej pracy, tylko za brak własnej. Za to, że komuś poszło za dobrze.

Wklepywanie hexów ręcznie akurat rozumiem lepiej, niż bym chciał. W Deluxe Paint na sześćsetce mieszałem kolory suwakami po szesnaście poziomów na kanał i po miesiącu znałem swoją paletę na pamięć — nie dlatego, że byłem pracowity, tylko dlatego, że innej drogi nie było. Dziś inna droga jest i to jest fakt, z którym scena będzie musiała coś zrobić. Na razie robi dwie rzeczy naraz: dopisuje disclaimery i naśmiewa się z ludzi, którzy ich żądają.

Mnie przekonuje tylko jedno rozwiązanie i nie jest nim żadne z tych dwóch. RecompOne leży na GitHubie na licencji MIT — cały kod, cała historia commitów, wszystko do przeczytania. Kto ma wątpliwości, ten może sprawdzić, zamiast pytać. Stawiam, że za rok połowa scenowych repozytoriów będzie miała w README linijkę o AI i dokładnie tyle samo będzie ona warta co dziś. A i tak wolę ją tam widzieć niż nie widzieć. Choćby dlatego, że ktoś zadał sobie trud jej napisania.

◆ ◆ ◆
Moje trzy grosze

Teraz moja część, bo mam w tej sprawie zdanie idące pod prąd temu, co przed chwilą opisałem. Uważam, że dziś nie korzystać z AI przy pisaniu kodu to po prostu zostawać w tyle. Model jest jak pierwiastek promieniotwórczy: z tej samej rudy jeden zrobi bombę, a drugi aparaturę, która wyleczy człowieka. Sam pierwiastek nie ma w tej sprawie zdania. Całe rozstrzygnięcie siedzi po stronie tego, kto go trzyma — i z generatorem kodu jest dokładnie tak samo.

Rynek zresztą już to policzył, nawet jeśli scena jeszcze nie. W IT zrobiła się wyrwa dokładnie tam, gdzie kiedyś wchodziło się do zawodu: QA i juniorzy od prostych zadań. Testowanie jest dziś zautomatyzowane na tyle, że zamiast dwudziestu ludzi wystarcza jeden — ten z doświadczeniem, który rozumie proces od A do Z i wie, co właściwie sprawdza. Brutalne? Jest. Ale mam wrażenie, że wypadły stamtąd głównie te ogniwa, które i tak były najsłabsze, a robota, która została, wymaga rozumienia zamiast klepania. Sceptyków jest mnóstwo i część argumentuje sensownie. Tyle że za dwa lata to nie oni będą ustalać stawkę — a jeśli się mylę, przeczytam ten akapit ze wstydem i będzie to całkowicie zasłużone.

Ze sceną jest inaczej i tu akurat opór rozumiem. Tutaj sensem roboty jest sama robota — nikt nie pisze rdzenia FPGA do arcade'owej płyty z 1995 roku, żeby zdążyć przed konkurencją. Sam wynik można mieć od ręki, MAME chodzi na wszystkim od dekad. Wartość siedzi wyłącznie w tym, że ktoś przeszedł tę drogę własną głową. Więc jeśli scena chce trzymać swoje „po staremu” jako warunek wstępu, niech trzyma. Podejrzewam zresztą, że i tak skończy się na jednym z dwóch: albo granica się zatrze i za pięć lat nikt nie będzie o to pytał, albo scena okopie się przy swoim i zostanie enklawą dla ludzi, którzy chcą wiedzieć, jak to działa w środku. Wolałbym to drugie. Nie dlatego, że tak jest szlachetniej — tylko dlatego, że po to tu w ogóle siedzę.

Komentarze

Czytają wszyscy. Żeby dodać komentarz, zaloguj się — GitHub, Google albo e-mail.