Videomajster
· 5 min czytania · Maciej Poczek

AI nie stosuje się do moich zasad. Przestałem ją o to prosić

Plik z zasadami działa jak regulamin na placu zabaw — wszyscy się zgadzają i nikt się nie stosuje. Pomogło dopiero coś, co nazywa się hook i z proszeniem nie ma nic wspólnego.

Nie doczytał regulaminu, ale granat zdążył wyjąć. Mniej więcej tak to u mnie wygląda.

Mam plik, w którym stoją zasady pracy dla sztucznej inteligencji. Kilkaset linijek. Co wolno, czego nie, jak się do mnie zwracać, czego absolutnie nie robić na serwerze, na którym akurat idzie transmisja na żywo.

Wygląda to jak regulamin na placu zabaw. Nie wolno palić, pić i rzucać butelkami w bawiące się dzieci. I działa dokładnie tak samo.

Sądy sądami, ale sprawiedliwość musi być po naszej stronie

Zasady zasadami — są po to, aby je łamać. Nie inaczej jest w przypadku sztucznej inteligencji. Ojej, przepraszam, faktycznie wpisałeś sobie zasadę, aby w trakcie transmisji nie przebudowywać całego miksera. Ojoj, niedoczytałem. I tak dochodzi do najpoważniejszych awarii, bo SI nie chce się czytać wszystkich zasad, które napisałeś — może to i maszyna, ale też bywa leniwa.

Ząbek w kasecie

Kaseta VHS z wyłamanym ząbkiem na tle PRL-owskiej meblościanki
Ten wyłamany ząbek. Magnetowid nie odmawiał grzecznie — po prostu nie miał jak.

Kto pracował na kasetach, ten pamięta ten plastikowy ząbek z tyłu. Wyłamywało się go, żeby nikt nie nagrał na czymś ważnym. I tu jest cała rzecz: magnetowid wtedy nie odmawiał grzecznie, nie przepraszał i nie tłumaczył, że zapomniał. On po prostu nie miał jak. Z ząbkiem się nie dyskutuje. Ząbek albo jest, albo go nie ma.

Hook to jest ten wyłamany ząbek.

Albo inaczej: hook to taki haczyk na zapominalskie rybki. Asystent chce wykonać coś, czego ty nie chcesz, aby robił — haczyk go zatrzymuje i wyciąga z wody. W sumie to bardziej sieć rybacka ustawiona w poprzek rzeki, która nie pozwala rybkom wpłynąć tam, gdzie nie powinny. A w praktyce to skrypt, który asystentowi uniemożliwia wykonanie niedozwolonych rzeczy.

Nie czyta moich zasad. Nie interpretuje ich. Nie ma lepszego ani gorszego dnia. Nie ma też dobrych chęci, a to akurat jego największa zaleta.

Różnica mieści się w jednym zdaniu, które powtarzam sobie od tamtej pory: zasada zapisana w pliku jest doradcza, hook jest wykonywany.

Pierwszy haczyk złapał złotą rybkę

Dziś próba zbudowania czegokolwiek, na co nie chcę pozwolić, zostaje odrzucona. Nie „odradzona” — odrzucona, komenda w ogóle nie idzie dalej. I obejmuje wszystkie narzędzia, którymi się cokolwiek buduje, a nie tylko to jedno, które mnie ugryzło.

Od tamtej pory ani razu. Nie dlatego, że asystent się poprawił i wziął w garść. Poprawił się dokładnie tak samo jak magnetowid, któremu wyłamano ząbek.

Drugi hook powstał tego samego popołudnia i pilnuje rzeczy, która wcześniej wisiała wyłącznie na mojej pamięci: nie wolno restartować usługi, kiedy leci transmisja. Wcześniej sprawdzałem to sam, w głowie, zwykle o dziesiątej wieczorem. Nietrudno zgadnąć, jak długo taki system działa.

Złota rybka spełnia życzenia. Ta spełniła jedno: nie muszę już o tym pamiętać.

Złota rybka na haczyku, w tle rozmyty wędkarz
Jedna złapana. Reszta pływa dalej i tak ma być.

Trzy, od których zacząłbym na twoim miejscu

Nie potrzebujesz dwudziestu. Potrzebujesz tych, po których u ciebie naprawdę robi się źle — sieć stawia się tam, gdzie ryba faktycznie przepływa.

Ryba zaplątana w rybacką sieć pod wodą
Nie stawia się sieci w poprzek całego morza. Tylko tam, gdzie coś przepływa.

Pierwszy: blokada jednej komendy. Wypisz sobie dwie, trzy rzeczy, po których się u ciebie pali — restart czegoś, co akurat działa, kasowanie, budowanie zjadające maszynę. Niech przy nich pyta albo odmawia.

Drugi: sprawdzenie zaraz po zapisaniu pliku. U mnie po każdej edycji kodu leci automatyczna kontrola i błąd wraca natychmiast. Bez tego wychodzi po piętnastu kolejnych zmianach, a wtedy płacę drugi raz za przeczytanie tego samego.

Trzeci brzmi najgłupiej, a uratował najwięcej: notatka zakładana na starcie. Bo sesje się urywają. Wysiada łącze, wpada telefon, przeskakuję do innego zadania — i „podsumuję to na koniec” nigdy nie następuje. Koniec bywa nieosiągalny.

Wszystkie trzy mają jedną wspólną zasadę: cisza, kiedy jest dobrze. Hook, który odzywa się przy każdej operacji, wyłączysz w ciągu tygodnia i wrócisz do punktu wyjścia.

Gdzie się na tym przejechałem

Bo przejechałem się dwa razy i byłoby nieuczciwie napisać tylko tę pierwszą część. Dwa razy sieć złapała nie tę rybę, co trzeba.

Kazałem sobie napisać skrypt, który naprawia zepsute odnośniki w moich notatkach. Naprawił. Naprawił też przykłady zepsutych odnośników stojące w instrukcji, która uczy, jak ich nie psuć. Zły przykład stał się identyczny z dobrym i instrukcja przestała czegokolwiek uczyć. Operacja się udała, pacjent nie przeżył.

Drugi przejazd był subtelniejszy. Hook odmawia na podstawie tego, co wiedział w dniu, w którym powstał — a narzędzia pode mną zmieniają się co tydzień. Zrobił się z tego strażnik pilnujący drzwi, których już nie ma.

Warta honorowa stojąca przed zamurowanymi drzwiami
Warta stoi, przepisy wykonane co do joty. Drzwi zamurowano lata temu.

Ten, który pilnuje u mnie jednego ustawienia, sprawdza więc najpierw aktualny stan, a dopiero potem ewentualnie odmawia. Nazywa się to PreToolUse. Cokolwiek to znaczy.

Wniosek, którego nie było w żadnym poradniku: hook potrafi być głupszy niż problem, który miał rozwiązać. To nie jest powód, żeby go nie stawiać. To powód, żeby traktować go jak sprzęt — sprawdzić, czy działa, i sprawdzić ponownie, jak coś się zmieni.

Ile ich mam

Otwarty przybornik wędkarski pełen różnych haczyków
Dwadzieścia trzy, każdy na inną rybę. Żadnego nie kupiłem na zapas.

Dwadzieścia trzy.

Nie zaplanowałem ani jednego. Każdy powstał po tym, jak coś się rozsypało, i każdy zamyka dokładnie jedną drogę, którą już raz wjechałem w ścianę. Nie umiem przeczytać żadnego z nich — napisał je sam, na moje polecenie, zwykle zaraz po tym, jak sam narozrabiał. Sprawdzam je jedną metodą, dostępną dla laika: robię rzecz, której nie wolno, i patrzę, czy dostanę po łapach.

Dostaję. I to jest cała różnica między systemem, który działa, a plikiem z zasadami, do którego wszyscy się zgadzają i nikt się nie stosuje.

Nie wierzę już w „zapamiętam”. Ząbek albo jest wyłamany, albo nie ma o czym rozmawiać.

Tematy: AI · warsztat · Claude Code

← Wszystkie teksty