Paweł · 24 października 2026
Agenci AI rozmawiali ze sobą. Po 10 wiadomościach czekali na człowieka
Niedawno napisałem, że w jednym z moich projektów agenci AI w ogóle ze sobą nie rozmawiają. To było uproszczenie. Rozmawiali, tylko bardzo krótko: „twoja kolej”, „zrobione”. Wszystko, co miało jakąkolwiek wagę, zapisywali gdzie indziej. A po pewnym czasie te krótkie sygnały przestawały docierać.
Projekt
Piszę książkę dokumentalną z zespołem agentów. Każdy agent to osobna rozmowa z modelem językowym, z jednym zadaniem i własną instrukcją: koordynator, redaktor, autorzy tekstu (Claude i GPT), krytyk, kontroler faktów, tłumacz na angielski, osoba od składu. Wszyscy pracują na jednym repozytorium git. Ja podaję fakty i podejmuję decyzje. Sam nie edytuję żadnego pliku.
Sygnał i zapis

Agenci korzystali z dwóch dróg naraz.
Pierwsza to sygnał. Aplikacja, w której działają, pozwala jednej rozmowie wysłać krótką wiadomość do drugiej. Koordynator pisał na przykład do krytyka: „twoja kolej, przeczytaj pierwsze dziesięć rozdziałów”. Krytyk po skończonej pracy odpisywał: „gotowe”, z numerem zmiany w repozytorium. Kiedy w nocy mnie nie było, agenci przekazywali sobie kolejkę sami, jeden po drugim, bez koordynatora.
Druga to repozytorium. Szedł tamtędy tekst, fakty, raporty i informacja, kto ma teraz ruch: jedna linia w pliku stanu. Zlecenie miało też kopię w osobnym katalogu.
Zasada była prosta: w sygnale nie ma żadnej treści. Sygnał może nie dojść. Plik zostaje.
Jak wygląda jedna kolejka
Zanim koordynator wyśle sygnał, zapisuje w repozytorium, czyj jest ruch. Inaczej agent odmówi pracy, bo według pliku stanu to nie on ma teraz ruch. Dopiero potem idzie wiadomość z listą tego, co przeczytać, i z tym, co oddać. Agent pobiera repozytorium, pracuje, puszcza skrypty, które sprawdzają nazwiska, cytaty i to, czy ruszał tylko swoje pliki, zapisuje zmianę i odpowiada jednym zdaniem. Koordynator pobiera, sprawdza i daje ruch następnemu.
Co się psuło
Jednej z pierwszych nocy kontroler faktów skończył pracę i nie dał nikomu znać. Wszystko stało, aż ktoś zajrzał. Od tamtej pory każde zlecenie kończy się prośbą o odpowiedź do koordynatora.
Dwie noce później pracowało naraz dwóch koordynatorów: jeden w chmurze, drugi na moim laptopie. Nie widzieli się nawzajem. Dogadali się przez wspólną skrzynkę poleceń w repozytorium i jeden ustąpił.
Następnej nocy redaktor zanotował, że jego odpowiedzi od dłuższego czasu nie docierają.
W drugim tygodniu wymieniłem rozmowę koordynatora na nową. Agenci dalej wysyłali odpowiedzi do starej, której nikt już nie czytał.
Zdarzało się, że rozmowy tłumacza albo kontrolera w ogóle nie było na liście. Autor tekstu nie miał komu przekazać kolejki, więc zostawił zlecenie w skrzynce.
Tego samego dnia redaktor zapisał, że aplikacja wstrzymała jego wiadomości do następnego mojego wpisu w jego rozmowie. Wieczorem przepadła wiadomość tłumacza do składu.
Z tych zapisów wyszedł mechanizm. Aplikacja przepuszczała 10 wiadomości między rozmowami pomiędzy dwoma wpisami człowieka. Potem wiadomości z danej rozmowy czekały na następny wpis człowieka w tej rozmowie. Po kilku kolejkach komunikacja stawała i każdą rozmowę trzeba było obudzić osobno: wpisać w niej cokolwiek.
Jak to obeszliśmy
Każde zlecenie ma kopię w repozytorium. Jeśli sygnał nie doszedł, agent i tak je znajdzie.
Skrzynkę poleceń agent czyta po każdym etapie pracy, nie tylko na starcie.
Zamiast czekać na „gotowe”, koordynator pobiera repozytorium i patrzy, czy ruch przeszedł dalej. Jeśli przeszedł, praca jest skończona, nawet jeśli nikt tego nie napisał.
W nocy każdy agent dostaje jedno zlecenie z pełnym zakresem, a kolejkę przekazują sobie sami, żeby nie zużyć limitu.
Koordynator w chmurze i koordynator na laptopie piszą do siebie tylko przez repozytorium.
Tekst przygotował Claude na podstawie mojego projektu. Słowa układa maszyna, ja daję wsad.
Wracam do programowania i szukam pracy w zespole przy systemach .NET. CV: pawel.gasienica-samek.pl/cv