Od kilku lat w każdą sobotę rano zabieram Młodego na basen. Sam nie umiem pływać (z wyjątkiem pionowo w dół, ale to każdy głupi potrafi), ale to nie znaczy od razu, że moje dzieci też mają nie umieć.
Nie mają umieć?
Siedząc na basenie przeważnie nadrabiam zaległości w lekturze RSS-ów. A więc stary tablet z klientem Tailscale, podłączony przez przeglądarkę do instancji Miniflux siedzącej na Dockerze na domowym komputerze (rym przypadkowy). Młody - ku mej zazdrości - śmiga z łatwością kolejne długości basenu kraulem bądź też delfinkiem, a ja w tym czasie czytam co tam inni blogerzy wypisują.
W ramach coraz śmielszego eksperymentowania z LLM-ami postanowiłem dziś rano przeprowadzić następujący eksperyment: włączyłem VS Code, uruchomiłem wtyczkę Codex, przestawiłem ją w tryb całkowicie autonomiczny bez ograniczeń i poprosiłem o przemigrowanie Minifluxa z maszyny A na maszynę B. Zasugerowałem mu tylko, żeby nie wykonywał żadnych operacji kasujących dane na maszynie A, oraz że ma do obydwu maszyn dostęp przez ssh (bez hasła) oraz sudo (również bez hasła). A także objaśniłem, że Miniflux siedzi na Dockerze.
Większość pleno titulo Czytelników obeznanych z tematem zapewne w tej chwili puka się z politowaniem w czoło. Zdurniał chłop!
A ja mówię: leap of faith.
Dygresja
"...uruchomiłem wtyczkę Codex, przestawiłem ją w tryb całkowicie autonomiczny..." - tak mogłaby zaczynać się powieść o tym, jak Skynet przejął kontrolę nad Siecią 🙂
Koniec dygresji
No więc przykazałem agentowi wykonać migrację, po czym zgarnąłem Młodego do auta i pojechaliśmy na basen. W samochodzie gadka szmatka, jakoś mi się zapomniało o tej całej migracji. Docieramy na miejsce; Młody hyc do basenu, ja odpalam tablet, zaglądam na Minifluxa, czytam sobie pierwszy artykuł... i cóś mię tkło. Wszystko działało jak trzeba, więc albo migracja się udała, albo się nie udała 🙂 Tertium non datur.
Nie mam z tableta możliwości zajrzenia na pulpit domowego kompa... ale mam klienta ssh. Loguję się więc po ssh na komputer A, uruchamiam sudo docker ps... - a tam ani śladu po Minifluxie.
Dla pewności przełączam się na przeglądarkę, odświeżam... nie, no wszystko działa jak trzeba.
Już bardziej dla formalności zaglądam po ssh na komputer B i widzę, że sudo docker ps wypluwa dokładnie to, czego się spodziewałem:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d461b5db520 miniflux/miniflux:latest "/usr/bin/miniflux" 2 hours ago Up 2 hours rss 925e0fc1fd9d postgres:17-alpine "docker-entrypoint.s…" 2 hours ago Up 2 hours rss-db dcc0dc4931ff tailscale/tailscale:latest "/usr/local/bin/cont…" 2 hours ago Up 2 hours rss-tailscale
Wszystkie trzy kontenery śmigają jak trzeba i gadają ze sobą bez zająknięcia, jakby nigdy nic.
Zaglądam jeszcze w Uptime Kuma (rozwiązanie monitorujące, które sobie jakiś czas temu postawiłem, żeby mnie alarmowało jak któraś z maszyn pójdzie w maliny) i okazało się, że między zniknięciem starej instancji Minifluxa z sieci a pojawieniem się nowej upłynęło około 12 minut. Tyle czasu potrzebował autonomiczny agent na całe zadanie.
Obstawiam, że sam bym się w 12 minut nie wyrobił. Albo może tak, ale z pomocą jakiegoś LLM-a 😉
Dla ludzi spoza branży to może nie jest nic nadzwyczajnego. Mi się trochę podniosły włosy na przedramieniach.
Na przedramionach?
No bo tak: kiedyś człowiek musiał obciosać patyk kamieniem, żeby zapolować na mamuta, z wielkim prawdopodobieństwem, że zostanie przezeń rozdeptany i z obiadu nici. A dziś mówię agentowi, żeby przemigrował Dockera z jednej maszyny na drugą i 12 minut później pieczeń z mamuta paruje na półmisku, z sosem, sztućcami i łagodnym jazzem w tle.
Dziwne czasy.
Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]
Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.