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:

  1. Odpala się trigger (użytkownik podaje temat)
  2. Agent czyta reguły pisania bloga i istniejące posty jako kontekst
  3. Pisze post, generuje okładkę, tłumaczy na polski
  4. Robi commit i push na GitHub
  5. 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ść.