PODCAST · LOKALNE MODELE · SCADA • 4 min czytania •

Awaria w elektrowni po 10 latach: agent na lokalnym modelu, na obiekcie bez sieci

System, który dziesięć lat temu wdrażałem w elektrowni, padł. Napięcie gdzieś przysiadło, a baza danych przyblokowała się podczas zapisu. Na obiekcie nie miałem dostępu do sieci. Naprawę poprowadził agent na lokalnym modelu, który działał na moim Macu. Zanim rozwiązanie trafiło na serwer, agent odtworzył całe oprogramowanie na kopii i tam sprawdził poprawkę.

Laptop na szafie serwerowej w ciemnej rozdzielni, podłączony jednym kablem, przy zielonej lampce kontrolnej

W podcaście „I to się liczy” Adrian Andrzejczyk powiedział, że jedną rzeczą go zaskoczyłem. Od dwóch lat nie napisałem ani linijki kodu, a da się tak pracować. Odpowiedziałem historią sprzed tygodnia. Pojechałem wtedy naprawiać system w elektrowni.

Całą rozmowę znajdziesz na YouTube. Ten fragment zaczyna się w 33:21.

To piąty tekst z tej rozmowy. Tutaj rozpisuję naprawę krok po kroku, z tym, co powiedziałem w studiu, i z tym, co dopowiedziałem już po nagraniu.

Co się zepsuło po dziesięciu latach

System stoi w elektrowni od dziesięciu lat. Kiedy go wdrażałem, cały kod powstawał ręcznie. Przez te lata rozbudowało go kilka innych firm. Dokumentacja jest, ale w środku coś się pozmieniało.

To system typu SCADA do zarządzania rozdzielnią elektryczną. Pokazuje, które przełączniki są włączone, gdzie płynie prąd, jakie ma natężenie i jaki jest jego przepływ. Amerykański NIST opisuje SCADA jako system, który zbiera i przetwarza dane oraz steruje procesami na duże odległości. Jako typowe zastosowanie podaje przesył i dystrybucję energii oraz rurociągi.

Nazwy obiektu ani systemu nie podaję. W szczegóły usterki też nie wchodzę. W skrócie: system miał zasilanie gwarantowane, a mimo to napięcie gdzieś przysiadło. Zapisów leci tam bardzo dużo i baza danych przyblokowała się podczas zapisu. Trzeba było ją odtworzyć, zabezpieczyć i przygotować na przyszłość.

Naprawa awarii w takim systemie to jedna sprawa. Budowanie na nim nowych funkcji AI to druga. Trzy sposoby podłączenia AI do systemu sprzed lat, od warstwy pośredniej po RPA, opisałem osobno.

Na obiekcie: komputer, kabel i żadnej sieci

To była nagła interwencja. Przyjechałem, wpiąłem komputer kablem Ethernet do serwera i pracowałem bez dostępu do sieci, na lokalnym modelu.

Agent działał na moim Macu, w harnessie Pi, z najnowszym wtedy modelem Qwen. Pi to otwarty harness na licencji MIT. Autorzy opisują go jako „a minimal, extensible agent harness”. Jego biblioteka do modeli obsługuje każde API zgodne z OpenAI, w tym Ollamę, vLLM i LM Studio. Dokumentacja Qwena ma osobny rozdział o uruchamianiu modeli lokalnie, między innymi przez llama.cpp, Ollamę i LM Studio.

Pi nie wiąże się z jednym dostawcą modeli, więc mógł pracować z modelem z mojego komputera. Dlaczego wybór harnessa i wybór modelu to dwie osobne decyzje, pisałem przy okazji agentowych CLI.

WSPÓŁPRACA

To robię na co dzień: doradzam przy strategii AI i buduję agentów, którzy przeżywają demo.

Najpierw kopia, potem serwer

Agent szybko znalazł błąd i przygotował rozwiązanie. Nie sprawdzał go jednak na serwerze produkcyjnym w elektrowni. Postawił sobie środowisko, w którym odtworzył całe to oprogramowanie.

Po nagraniu dopowiedziałem, jak agent odtworzył środowisko. Zaczął od Dockera: postawił na nim wszystko i sprawdził. Potem zrobił coś podobnego na AWS, na prawdziwej maszynie z Windows Server, żeby odtworzenie było dokładne. Postawił MySQL, wgrał uszkodzone dane i odtworzył nowe.

Na tej kopii agent robił empiryczne testy, czyli po prostu sprawdzał, co się zepsuło i jak to naprawić. Uruchomił prawdziwą naprawę. Potem sprawdził, że wszystko jest naprawione i że nic innego się przy tym nie zepsuło. Dopiero wtedy na serwer trafił skrypt z gotowym rozwiązaniem. Cała naprawa zajęła mi około dwóch godzin w domu, a potem trzy godziny na obiekcie.

Naprawa krok po kroku

Cztery kroki na kopii, jeden na serwerze w elektrowni

Kopia środowiska

  1. 1Docker: całe oprogramowanie odtworzone i sprawdzone
  2. 2AWS: prawdziwa maszyna z Windows Server, MySQL i wgrane uszkodzone dane
  3. 3Testy: co się zepsuło i jak to naprawić
  4. 4Naprawa na kopii i sprawdzenie, że nic innego się nie zepsuło

Serwer w elektrowni

5Gotowe, oskryptowane rozwiązanie wgrane na serwer

Agent: harness Pi, lokalny model Qwen, Mac.

Newsletter

The Agentic Architect

Praktyczne wzorce, case studies, rozbiory projektów agentowych i nowinki o AI. Zero spamu, raz w tygodniu.

Dostaniesz jednego maila z prośbą o potwierdzenie. Wypiszesz się jednym kliknięciem. Polityka prywatności

Pewność zamiast grzebania na serwerze

Taka kolejność daje walidację na naprawdę bardzo wysokim poziomie pewności. Na serwer produkcyjny nie idą próby, tylko skrypt, który przeszedł już na kopii.

To wraca do tego, od czego zaczęła się ta część rozmowy. Od dwóch lat nie programuję, a tworzę naprawdę dużo kodu. Jak to wygląda na co dzień, z zadaniami zostawianymi agentom na noc, opisałem w osobnym wpisie.

Myślę, że człowiek, który przyszedłby i zaczął grzebać na serwerze w elektrowni, mógłby mieć problemy, żeby rozwiązać to tak sprawnie i szybko. Szczególnie jeśli nie zna programowania albo dawno z nim nie pracował.

SP

Szymon Paluch

Claude Certified Architect · ex-CTO

Masz system, którego nikt już nie chce dotykać?

30 minut o tym, jak bezpiecznie podejść do starego oprogramowania z agentem: od kopii środowiska po zmianę na produkcji. Bez sprzedaży.

Umów rozmowę
Powiązane wpisy