Agenci AI w automatyzacji operacyjnej | Jarosław Kuler
← Wszystkie wpisy

Agenci AI w automatyzacji operacyjnej

Agenci AI w automatyzacji IT: triage alertów, analiza logów Linux, dokumentacja infrastruktury, prompt injection i testowanie przed produkcją.


Agenci AI to nie science fiction, tylko narzędzia, które można już dziś wpiąć w rzeczywiste procesy operacyjne. Nie jako zamiennik ludzkiej analizy, ale jako pierwsza linia: klasyfikacja, routing, agregacja kontekstu. Jeśli taki proces ma działać w firmowym środowisku, punktem wyjścia jest zwykle automatyzacja IT i AI z jasno opisanymi uprawnieniami, logowaniem i etapem testów.

Co to właściwie jest agent AI

Agent to model językowy wyposażony w narzędzia: możliwość wykonywania kodu, odpytywania API, czytania plików, wywoływania akcji. W odróżnieniu od zwykłego chatbota, agent może działać autonomicznie przez wiele kroków, podejmując decyzje po drodze.

W kontekście operacyjnym IT interesuje nas agent, który:

  1. Odbiera wejście (alert, ticket, log, zapytanie).
  2. Analizuje kontekst (odpytuje API, sprawdza historię).
  3. Podejmuje lub sugeruje akcję (eskalacja, automatyczna odpowiedź, korekta konfiguracji).

n8n jako orkiestrator

n8n jest szczególnie użyteczny do budowania agentów operacyjnych: ma wbudowany węzeł “AI Agent” oparty na LangChain, integracje z dziesiątkami usług i możliwość self-hostingu. Przy takich przepływach przydaje się ten sam porządek, który stosuję przy automatyzacji n8n: ograniczony zakres, kontrola błędów i ślad po każdej akcji.

Przykładowy przepływ dla triage alertów Wazuh:

Wazuh webhook → n8n trigger
  → Pobierz kontekst (historia alertów z tego IP, reputacja IP)
  → Agent AI: ocen priorytet i kategorię
  → Jeśli priorytet wysoki: utwórz ticket w systemie, wyślij powiadomienie
  → Jeśli niski: oznacz jako niski priorytet i skieruj do zbiorczej weryfikacji

Zamykanie alertu bez udziału człowieka warto zostawić deterministycznym regułom, na przykład “ten sam alert z tego IP był już trzykrotnie potwierdzony jako fałszywy alarm w ciągu tygodnia”, a nie samej klasyfikacji LLM. Model, który uzna coś za nieistotne, wciąż może się mylić, a cichy błąd w automatycznym zamykaniu alertów bezpieczeństwa jest gorszy niż dodatkowa minuta przeglądu przez człowieka.

Taki flow zastępuje ręczne przeglądanie alertów w godzinach spokojniejszego ruchu.

Praktyczne zastosowania

Triage alertów bezpieczeństwa

Systemy monitoringu, na przykład Wazuh, generują dużo szumu. Agent może:

  • grupować powtarzające się alerty z tego samego źródła,
  • oceniać priorytet na podstawie kontekstu (czy IP już wcześniej atakowało, czy port jest krytyczny),
  • automatycznie eskalować zdarzenia wymagające uwagi, resztę archiwizować.

Analiza logów na żądanie

Temat na tyle szeroki, że opisuję go osobno — łącznie z tym, gdzie AI w analizie logów realnie pomaga, a gdzie zaczyna przeszkadzać. Tutaj przykład minimalny: zamiast ręcznego przeszukiwania gigabajtów logów przez grep:

# Przykład z Claude API i dostępem do logów przez tool use
agent.query("Znajdź nieudane logowania SSH z ostatnich 24h i pogrupuj je według adresu źródłowego i nazwy użytkownika")

Agent przeszuka logi, zagreguje wyniki i wróci z czytelnym podsumowaniem. Podobny mechanizm, tylko jako samodzielne narzędzie CLI zamiast węzła w workflow, opisuję przy projekcie AI Log Analysis CLI.

Dokumentacja infrastruktury

Nudne, ale ważne. Agent może automatycznie generować i aktualizować dokumentację na podstawie faktycznego stanu systemu: jakie usługi działają, jakie porty są otwarte, jakie certyfikaty wygasają.

Ryzyko: agent czyta dane, których nie kontrolujesz

Agent do triage’u alertów albo analizy logów przetwarza treść, którą ktoś z zewnątrz mógł częściowo ukształtować: nazwę hosta, User-Agent, treść requestu, opis w tickecie. To dokładnie ten sam mechanizm co indirect prompt injection opisany przy okazji ryzyk agentowych: jeśli atakujący wie, że logi trafiają do modelu, może spróbować wstrzyknąć w nie instrukcję wyglądającą jak polecenie systemowe, licząc na to, że agent potraktuje ją jak część zadania, a nie jak dane do analizy.

W praktyce oznacza to kilka konkretnych zasad. Agent analizujący logi czy alerty nie powinien mieć dostępu do narzędzi wykonujących akcje z realnymi skutkami w tym samym kontekście, w którym czyta niezaufaną treść. Wynik analizy warto traktować jako sugestię wymagającą potwierdzenia, a nie gotowe polecenie do bezpośredniego wykonania, zwłaszcza przy pierwszych wdrożeniach.

Czego unikać

Nie dawaj agentowi uprawnień, których nie chcesz, żeby używał. Zasada minimalnych uprawnień działa tu tak samo jak przy kontach systemowych. Agent do analizy logów nie potrzebuje możliwości restartu usług.

Loguj działania agenta, ale z głową. Jeśli agent wykonuje akcje autonomicznie, potrzebny jest pełny audit trail: co dostał na wejście, jakie narzędzia wywołał, co zdecydował, co zrobił. To nie znaczy bezrefleksyjnego zapisywania wszystkiego dosłownie, sekrety, tokeny i pełne wrażliwe payloady w logu audytu tworzą nowe miejsce, z którego mogą wyciec, więc warto je maskować albo pomijać tak samo, jak robi się to w logach aplikacji.

Zacznij od “czytania”, zanim przejdziesz do “pisania”. Agenty tylko-odczytujące są znacznie bezpieczniejsze do testowania. Najpierw weryfikujesz, czy agent dobrze rozumie kontekst, dopiero potem dajesz mu możliwość podejmowania akcji.

Zaplanuj, co się dzieje, gdy agent się myli. Model może źle sklasyfikować alert, wywołać narzędzie z błędnymi parametrami albo zwrócić odpowiedź, która brzmi pewnie, mimo że nie ma pokrycia w danych. Workflow powinien mieć jasną ścieżkę na wypadek niepewności agenta, ale nie warto opierać jej na deklarowanym przez model procencie pewności, bo taka liczba zwykle nie jest skalibrowanym prawdopodobieństwem, tylko tekstem, który model uznał za pasujący do sytuacji. Lepszą podstawą eskalacji jest brak wymaganych dowodów w danych wejściowych, sprzeczne sygnały, wynik dodatkowego walidatora albo sama klasa zdarzenia, na przykład każdy alert dotyczący dostępu do produkcyjnej bazy danych trafia do człowieka niezależnie od tego, jak bardzo pewny siebie brzmi agent.

Testowanie przed produkcją

Zmiana promptu albo modelu potrafi zmienić zachowanie agenta równie mocno jak zmiana kodu, ale rzadko przechodzi przez ten sam proces weryfikacji. Zanim agent trafi na produkcję, warto zbudować mały zestaw przypadków testowych: kilkanaście realnych alertów albo fragmentów logów z już znaną, poprawną klasyfikacją, i sprawdzać na nich każdą zmianę promptu czy modelu, zanim wejdzie do działającego procesu.

Warto też trzymać wersję promptu w repozytorium razem z kodem workflow, z tego samego powodu, dla którego wersjonuje się konfigurację: żeby dało się odpowiedzieć na pytanie, co się zmieniło i dlaczego agent zaczął zachowywać się inaczej.

Koszty i limity

Wywołanie modelu przy każdym alercie brzmi niewinnie, dopóki nie policzy się skali. Kilkaset alertów dziennie razy koszt pojedynczego zapytania szybko zmienia się w realną pozycję w budżecie, a agent, który w pętli poprawia sam siebie po nieudanym wywołaniu narzędzia, może wygenerować znacznie więcej zapytań, niż zakładano na starcie.

W praktyce warto ustawić twarde limity: maksymalną liczbę kroków agenta w jednym zadaniu, limit ponownych prób po błędzie i alert, gdy dzienny koszt albo liczba wywołań przekroczy spodziewany poziom. To ta sama logika co circuit breaker w tradycyjnej automatyzacji: agent, który utknął w pętli, ma się zatrzymać, zanim wygeneruje kaskadę kosztownych albo błędnych akcji, a nie działać bez ograniczeń, aż ktoś zauważy fakturę.

Gdzie to działa szczególnie dobrze

Automatyzacja AI najlepiej sprawdza się tam, gdzie:

  • zadanie jest powtarzalne i ma ustrukturyzowane wejście,
  • błąd jest odwracalny albo łatwy do wykrycia,
  • oszczędność czasu jest mierzalna, na przykład 50 alertów dziennie po trzy minuty każdy.

Tam, gdzie każdy przypadek jest inny, kontekst jest niejasny albo konsekwencje błędu są poważne, AI powinno wspierać człowieka, nie go zastępować.