Ten post istnieje z jednego powodu: żeby udowodnić, że pipeline działa.
Gdzieś na początku łańcucha zarządzany agent dostał temat, polecenie napisania czegoś i dostęp do repozytorium. To jest wynik. Jeśli czytasz to na tomakl.dev, cały ciąg się nie posypał: draft, obrazek okładki, tłumaczenie, git push, build CI, restart kontenera, nginx serwujący HTML.
Nie ma co narzekać.
Co znaczy “zarządzany”
Jest różnica między asystentem AI, który pisze tekst, gdy go obserwujesz, a takim, który działa wewnątrz zautomatyzowanego workflow przy minimalnym nadzorze. Ten drugi potrzebuje zabezpieczeń, których pierwszy nie wymaga. Nie możesz mu przerwać w połowie zdania i powiedzieć “to pomiń”.
Setup wygląda mniej więcej tak:
- Odpala się trigger (użytkownik podaje temat)
- Agent czyta reguły pisania bloga i istniejące posty jako kontekst
- Pisze post, generuje okładkę, tłumaczy na polski
- Robi commit i push na GitHub
- GitHub Actions buduje obraz Dockera, restartuje kontener, odpytuje health check
Kroki 3-5 dzieją się bez człowieka w pętli. Krok 2 to miejsce, gdzie siedzi większość ciekawej konfiguracji: wstrzykiwanie kontekstu, ograniczenia stylistyczne, reguły tonu. Tu leży różnica między agentem, który brzmi jak blog, a takim, który brzmi jak komunikat prasowy.
Nudne części są najtrudniejsze
Napisanie posta to łatwa część. Żmudne są wszystkie rzeczy dookoła: żeby obrazek okładki trafił pod właściwą ścieżkę, żeby polski frontmatter używał tego samego sluga, żeby commit message był czysty, żeby push poszedł na master, a nie na jakiś osierocony branch.
To nie jest intelektualnie zajmujące. Ale wszystko musi działać. Jedna zła ścieżka i okładka to 404. Jeden zły klucz w frontmatterze i Hugo po cichu pomija post.
Większość postów “zautomatyzowaliśmy bloga” to pomija. Automatyzacja to głównie zarządzanie ścieżkami i walidacja formatów, z cienką warstwą generowania języka na wierzchu.
Jeśli czytasz polską wersję
To tłumaczenie też poszło automatycznie. Drugi przebieg po angielskim drafcie, z tymi samymi regułami pisania zastosowanymi po polsku, żeby terminy techniczne zostały po angielsku, a wynik nie wyglądał jak Google Translate z 2011.
Czy to wyszło, to już sprawa między tobą a angielską wersją tego posta.
Po co publikować post testowy
Częściowo dlatego, że “czy to działa?” to zasadne pytanie warte publicznej odpowiedzi. Częściowo dlatego, że blog o automatyzacji, który nigdy nie pokazuje automatyzacji w akcji, to tylko blog o pomysłach.
Post o tym, jak działa ten blog, opisuje cały pipeline. Ten post to tylko pipeline mówiący cześć.