Aurora AIOpisz swój przypadek

Oferta

UsługiProduktyRealizacje

Dla kogo

Private EquityEnterpriseMŚP
UsługiProduktyRealizacjeO nasBlogKontakt

Baza wiedzy

Start tutajWikiSłownikPrzewodniki

Automatyzacja AI Baza wiedzy

Nie ma API? Trzy stopnie, zanim wpuścisz agenta do przeglądarki

Agent, który patrzy na ekran i sam klika, kusi. Pokażę ci drabinę wyboru: najpierw API, potem prosty skrypt, a agent w przeglądarce dopiero na końcu.

Trzy poziomy zejścia w dół: u góry jedna prosta, nieprzerwana linia, w środku regularna siatka powtarzalnych punktów kliknięć, na dole rozmyty, nieregularny układ, nad którym zawisa świecący zielony pierścień-kursor przed podjęciem decyzji.
Trzy poziomy zejścia w dół: u góry jedna prosta, nieprzerwana linia, w środku regularna siatka powtarzalnych punktów kliknięć, na dole rozmyty, nieregularny układ, nad którym zawisa świecący zielony pierścień-kursor przed podjęciem decyzji.
Automatyzacja AI#automatyzacja #agenci-ai #przegladarka #codex #testowanie

Najbardziej efektowny sposób automatyzacji jest prawie zawsze najgorszym pierwszym wyborem. Agent, który sam otwiera przeglądarkę, patrzy na ekran i klika w to, co na nim zobaczy, wygląda jak odpowiedź na wszystko. Tymczasem jest to narzędzie najdroższe i najmniej przewidywalne z tych, które masz pod ręką, więc sięgasz po nie dopiero wtedy, gdy dwa prostsze sposoby odpadły.

Pokażę ci drabinę, po której schodzisz przy każdym powtarzalnym zadaniu, i powiem, gdzie taki agent naprawdę zarabia na siebie, a gdzie się wykłada. Na koniec podam protokół, który przechodzisz, zanim zostawisz go samego z twoim kontem.

Drabina wyboru: API, skrypt, dopiero agent

Zanim zaczniesz cokolwiek automatyzować, zadaj jedno pytanie: czy da się to zrobić bez patrzenia na ekran? Odpowiedź ustawia cię na jednym z trzech stopni.

Stopień pierwszy: API. API to serwisowe wejście do programu, przez które inny program rozmawia z nim wprost, z pominięciem interfejsu zrobionego dla człowieka. Nikt tu w nic nie klika, więc nic nie może się rozjechać wizualnie. To droga najszybsza, zwykle najtańsza i najbardziej powtarzalna. Zdecydowana większość automatyzacji, których naprawdę potrzebujesz w firmie, kończy się na tym stopniu, bo większość narzędzi biznesowych ma dziś API albo gotową wtyczkę, która obsługuje je za ciebie. Zaczynasz zawsze tutaj.

Stopień drugi: zwykły skrypt albo makro. API nie ma, ale przepływ jest za każdym razem identyczny. Makro to zapisana sekwencja ruchów: kliknij w ten punkt, potem w ten, potem wpisz to. Żadnego patrzenia, żadnego decydowania, żadnej interpretacji. Właśnie dlatego jest tanie i bezpieczne, a przy tym powtarza się co do piksela. Warunek jest jeden i twardy: układ ekranu musi być stały. Jeśli jest, poproś dowolnego asystenta kodu o taki skrypt, a dostaniesz go w kilka minut.

Stopień trzeci: agent w przeglądarce. Schodzisz tu dopiero wtedy, gdy pierwsze dwa stopnie odpadły: API nie ma, a przepływ nie jest przewidywalny. Układ strony się zmienia, kolejny krok zależy od tego, co się właśnie pojawiło, a czasem trzeba spojrzeć i ocenić, zanim się kliknie. Wtedy potrzebujesz czegoś, co patrzy i decyduje. I płacisz za to najwyższą cenę: więcej czasu, mniej powtarzalności, więcej rzeczy, które mogą pójść inaczej niż wczoraj.

Ta kolejność nie jest kwestią gustu. Każdy stopień niżej to mniej pewności, że jutro przebiegnie tak samo jak dziś. Narzędziem z trzeciego stopnia, na którym oprę dalsze przykłady, jest aplikacja Codex od OpenAI: ma wbudowany panel przeglądarki obok okna rozmowy i osobną wtyczkę do sterowania całym komputerem.

Co ten agent właściwie robi

Agent w przeglądarce nie odtwarza nagranego ruchu myszy. Patrzy na obraz ekranu, rozpoznaje na nim pola, przyciski i napisy, i na tej podstawie decyduje, gdzie kliknąć. Po kliknięciu patrzy jeszcze raz, bo strona mogła się zmienić, i decyduje od nowa. Rozpoznawanie obrazu plus decyzja: na tym kończy się cały mechanizm.

Stąd bierze się jego siła. Nie musisz opisywać układu strony ani podawać współrzędnych. Wystarczy, że zwykłym zdaniem powiesz, co ma się wydarzyć: wejdź na pulpit, otwórz zakładkę z kontami, znajdź zestawienia, pobierz je i zapisz w tym folderze. Nie musisz nagrywać ekranu ani wysyłać zrzutów ze strzałkami, wystarczy opis po polsku.

I stąd bierze się jego słabość, dokładnie ta sama. Skoro decyzja zapada za każdym razem od nowa, dwa identyczne uruchomienia mogą przebiec inaczej. Przycisk przesunął się o kilka pikseli, wyskoczyło okno ze zgodą na ciasteczka, strona ładowała się sekundę dłużej. Człowiek w ogóle by tego nie zauważył, a agent może kliknąć obok albo uznać, że jest w innym miejscu, niż jest naprawdę.

Z ciemnej płaszczyzny unosi się siatka rozpoznanych prostokątnych elementów obrysowanych zielenią; nad jednym z nich zawisa świecący pierścień-kursor w momencie decyzji, a obok, wyszarzona i wtopiona w płaszczyznę, leży sztywna ścieżka zapisanych kliknięć.
Z ciemnej płaszczyzny unosi się siatka rozpoznanych prostokątnych elementów obrysowanych zielenią; nad jednym z nich zawisa świecący pierścień-kursor w momencie decyzji, a obok, wyszarzona i wtopiona w płaszczyznę, leży sztywna ścieżka zapisanych kliknięć.

Przy ustawianiu takiej pracy zobaczysz dwa terminy. Bez okna (po angielsku headless) znaczy, że przeglądarka agenta pracuje w tle, niewidoczna. Ty pracujesz dalej, a on w tym czasie robi swoje i nie zabiera ci ekranu. Z oknem (headed) znaczy, że widzisz każde kliknięcie na żywo, kursor sam jeździ po stronie. Tryb bez okna bierzesz do długiej roboty w tle. Tryb z oknem zawsze wtedy, gdy uczysz agenta nowego przepływu i chcesz zobaczyć, w którym miejscu się myli.

Logowanie raz, ale nie wszędzie

Logujesz się ręcznie, jeden raz, w oknie agenta. Sesja zostaje zapamiętana i przy kolejnym uruchomieniu jesteś już zalogowany. Tak to działa na kontach, które nie wyrzucają cię z automatu: X, YouTube, Instagram, panele uczelniane, większość zwykłych narzędzi. Otwierasz nową rozmowę, prosisz o przewinięcie własnego kanału, a agent po prostu wchodzi i przewija, bo sesja jest na miejscu.

Serwisy, które traktują bezpieczeństwo poważnie, wyrzucą cię mimo to. Bankowość jest tu najlepszym przykładem: sesja wygasa szybko, więc przy następnym przebiegu agent staje na ekranie logowania i melduje, że trzeba zalogować się od nowa. A jeśli serwis poprosi o kod z SMS-a albo z aplikacji uwierzytelniającej, czyli o drugi składnik logowania, automatyzacja zatrzymuje się na dobre. Ten kod wpisujesz ty i nie ma tu dobrego obejścia.

Nasuwa się skrót: wkleić login i hasło prosto w rozmowę. Nie rób tego. Wszystko, co wpiszesz w czacie, zostaje w historii rozmowy, a historia rozmowy to plik na dysku, kopia zapasowa i kontekst, który może zostać wysłany dalej. Zamiast tego używasz menedżera haseł wbudowanego w aplikację. Przygotowujesz zwykły plik CSV z pięcioma kolumnami: nazwa, adres strony, login, hasło i notatki. Importujesz go raz w ustawieniach. Od tej pory agent sam wyciąga z niego dane logowania i wpisuje je w formularz, a w rozmowie nie zostaje po nich ślad.

Zasada jest starsza niż agenty: hasła mieszkają w menedżerze haseł, nie w treści wiadomości. Agent niczego tu nie zmienia. Daje ci tylko miejsce, z którego może je wziąć, nie zaglądając do historii rozmowy.

Każ mu zepsuć twój własny interfejs

Najmocniejsze zastosowanie, jakie dziś widzę dla agenta w przeglądarce, nie jest wcale automatyzacją biurowej rutyny. To testowanie. Ustawiasz agenta na własnym formularzu, sklepie albo panelu i mówisz mu wprost: masz to zepsuć. Klikaj wszędzie, spróbuj przejść dalej z pustymi polami, wpisz bzdury tam, gdzie mają być dane, cofnij się i popraw, sprawdź to samo na telefonie. Wypisz, co nie zadziałało.

Potem po prostu patrzysz. Agent wypełnia pola, klika „dalej”, dostaje komunikat, że brakuje imienia i że adres e-mail jest niepoprawny, poprawia i rusza do kolejnego kroku. Sprawdza, czy da się ominąć wymagane pola, próbuje wysłać formularz klawiszem zamiast myszą, bo tą drogą częściej udaje się obejść zabezpieczenia. Potem przełącza widok na telefon i przechodzi wszystko od nowa. Na końcu oddaje listę: to przeszło, to się posypało.

Nie chodzi tu o samą liczbę sprawdzeń. Chodzi o to, że jeden przebieg obejmuje znacznie więcej wariantów, niż człowiek przeklika ręcznie, zanim mu się znudzi. Ty sprawdzisz kilka oczywistych przypadków i uznasz temat za zamknięty. Agent idzie dalej, bo się nie nudzi i nie zakłada z góry, że coś na pewno działa.

Ten sam formularz sprowadzony do bloków pokazany na szerokim i wąskim ekranie: w wąskiej wersji bloki nachodzą na siebie i świecą bursztynowym ostrzeżeniem, zielony pierścień-kursor wtłacza w pola zniekształcone dane, a obok rośnie kolumna wyników z zielonymi i bursztynowymi znacznikami.
Ten sam formularz sprowadzony do bloków pokazany na szerokim i wąskim ekranie: w wąskiej wersji bloki nachodzą na siebie i świecą bursztynowym ostrzeżeniem, zielony pierścień-kursor wtłacza w pola zniekształcone dane, a obok rośnie kolumna wyników z zielonymi i bursztynowymi znacznikami.

Najciekawsze jest jednak to, co znajduje. Nie literówki w napisach, tylko usterki, które ludzki tester zwykle mija. Dane, które powinny zostać odrzucone, przechodzą dalej i niepoprawny kontakt ląduje w bazie. Wybrany numer kierunkowy kraju po cichu wraca do domyślnego, kiedy cofniesz się, żeby poprawić inne pole. Układ trzyma się dobrze na monitorze, a rozjeżdża się dopiero na ekranie telefonu.

Żadna z tych rzeczy nie boli, dopóki produkt siedzi w twoich rękach. Wszystkie zaczynają boleć w dniu, w którym wpuszczasz użytkowników, bo użytkownicy są nieobliczalni. Wpisują w pole telefonu adres, klikają dwa razy, cofają się w połowie, zostawiają formularz otwarty na pół godziny i wracają do niego po kawie. Agent, któremu każesz zachowywać się dziwnie, jest najtańszą symulacją takiego zachowania, jaką dziś masz pod ręką.

Możesz też podnieść mu poprzeczkę i powiedzieć wprost: nie kończ, dopóki nie wyczerpiesz stu różnych scenariuszy. Ale nawet krótki przebieg wraca z listą rzeczy do naprawienia, a mając listę, kolejnym poleceniem każesz je po prostu poprawić.

Zapisany przepływ staje się umiejętnością

Kiedy agent raz przejdzie zadanie do końca, zapisujesz cały przebieg jako umiejętność, czyli nazwany przepis, który wywołujesz jednym zdaniem zamiast tłumaczyć wszystko od nowa. Od tego momentu „pobierz zestawienia za zeszły miesiąc” to jedno polecenie, a nie rozmowa.

Umiejętność podpinasz też pod harmonogram. Pierwszego dnia miesiąca, codziennie rano albo w każdy piątek po południu agent uruchamia zapisany przepływ sam. Tutaj automatyzacja przestaje być ciekawostką, bo nie musisz już nawet pamiętać, żeby ją odpalić.

Ta drabina ma wyjątki i lepiej je sprawdzać, niż zakładać. Weź wrzucanie gotowego artykułu do wersji roboczych na platformie społecznościowej. API tam jest, a i tak wygrywa agent w przeglądarce: przez API formatowanie wychodzi krzywo, dołożenie grafiki potrafi sprawić kłopot, a każde wywołanie jest płatne, podczas gdy agent pracuje w abonamencie, który i tak opłacasz. Najtańsze i najbardziej niezawodne nie zawsze wskazują na ten sam stopień, więc drabina jest kolejnością, w której sprawdzasz, a nie regułą stosowaną w ciemno.

Obok sterowania przeglądarką jest jeszcze sterowanie całym komputerem. Mechanizm jest identyczny, znów patrzenie na ekran plus decyzja, różni się tylko zasięg. Przeglądarka to wszystko, co robisz w internecie. Sterowanie komputerem obejmuje także to, co masz poza nim: ustawienia systemowe, aplikacje zainstalowane na dysku, okna, których żadna strona nie otworzy. Włącza się to jak zwykły dodatek, jednym kliknięciem na liście wtyczek.

Agent ma przy tym wbudowane dwa zachowania, które trzeba znać. Pierwsze: zatrzymuje się na uprawnieniach dotyczących prywatności. Poproszony o włączenie dostępu do urządzeń Bluetooth w aplikacji na komputerze, odmawia i wprost mówi dlaczego. Zapowiada też z góry, że przerwie, gdy system zażąda hasła administratora. Drugie: kiedy przejmuje kontrolę nad ekranem, widać to gołym okiem, bo krawędzie ekranu podświetlają się na niebiesko. Nie da się przegapić, że coś klika za ciebie.

Zanim zostawisz go samego

Agent, który raz poprawnie pobrał zestawienia z banku, nie jest agentem, któremu można ufać. Jedno udane przejście niczego nie dowodzi, bo pod spodem nie ma zapisanej sekwencji, tylko rozpoznawanie obrazu i decyzja podejmowana od nowa przy każdym kroku. Wystarczy, że serwis przesunie przycisk albo dołoży komunikat, i przebieg pójdzie inaczej.

Protokół jest prosty i nie ma od niego skrótu. Uruchamiasz umiejętność kilkanaście razy z rzędu i siedzisz przy tym, patrząc na każdy krok. Nie w tle, tylko z oknem, na żywo. Wyłapujesz miejsca, w których agent się zawahał, i dopisujesz do instrukcji zdanie, które usuwa wątpliwość. Samą instrukcję piszesz ostro i wąsko. Nie „pobierz zestawienia”, tylko „wejdź w zakładkę Konta, wybierz te dwa konta, pobierz zestawienie za wskazany miesiąc w formacie CSV, zapisz w tym folderze i nie otwieraj niczego innego”. Im mniej miejsca na interpretację, tym mniej niespodzianek.

Dopiero po takiej serii puszczasz go bez nadzoru. Moim zdaniem im wyższa stawka, czyli pieniądze, dokumenty, cokolwiek, co wychodzi na zewnątrz firmy, tym dłużej trzeba patrzeć. Przy koncie bankowym ta seria powinna być naprawdę długa.

Na koniec uczciwie o wartości, bo łatwo tu przesadzić w obie strony. Jeden przebieg takiej automatyzacji oszczędza minuty, nie godziny. Jeśli liczysz, że agent w przeglądarce odda ci pół dnia, rozczarujesz się szybko.

Prawdziwy zysk jest gdzie indziej i trudniej go zmierzyć: nie przerywasz tego, co robisz. Zamiast wyjść z bieżącej roboty, przeklikać się przez cudzy panel i wrócić z rozsypaną uwagą, odpalasz umiejętność i pracujesz dalej. Znika koszt przeskakiwania między zadaniami, a to on zwykle boli bardziej niż same utracone minuty. Drugi zysk przychodzi później, kiedy masz już kilka takich umiejętności i zaczynasz je łączyć w ciąg: jedna pobiera dane, druga je porządkuje, trzecia wstawia wynik tam, gdzie ma trafić. Wtedy liczy się już nie oszczędność na pojedynczym zadaniu, tylko to, że cały łańcuch idzie bez ciebie.

Zasada, którą z tego wynoszę, jest niewygodna dla entuzjastów: wybieraj najgłupsze narzędzie, które wykona zadanie. Nie najmądrzejsze. Rozpoznawanie obrazu i podejmowanie decyzji to najdroższy i najbardziej zawodny sposób, żeby kliknąć w przycisk, i ma sens wyłącznie wtedy, gdy naprawdę nie wiadomo z góry, gdzie ten przycisk będzie.

Weź więc jedno powtarzalne zadanie, które przeklikujesz co tydzień, i przejdź przy nim drabinę od góry. Jeśli zatrzymasz się na pierwszym stopniu, to jest dobra wiadomość.

Drabina wyboru: API, skrypt, dopiero agentTrzy stopnie automatyzacji jednego zadania. Schodzisz niżej dopiero wtedy, gdy stopień wyżej odpadł, bo każdy niższy daje mniej pewności, że jutro przebiegnie tak samo.Drabina wyboru: API, skrypt, dopiero agent1APIProgram rozmawia z programem, bez patrzenia na ekran. Zaczynasz zawsze tutaj.2Skrypt albo makroNie ma API, ale przepływ jest za każdym razem identyczny, a układ ekranustały.3Agent w przeglądarceNie ma API, a kolejny krok zależy od tego, co właśnie pojawiło się na ekranie.
Drabina wyboru: API, skrypt, dopiero agentTrzy stopnie automatyzacji jednego zadania. Schodzisz niżej dopiero wtedy, gdy stopień wyżej odpadł, bo każdy niższy daje mniej pewności, że jutro przebiegnie tak samo.Drabina wyboru: API, skrypt,dopiero agent1APIProgram rozmawia z programem, bez patrzeniana ekran. Zaczynasz zawsze tutaj.2Skrypt albo makroNie ma API, ale przepływ jest za każdymrazem identyczny, a układ ekranu stały.3Agent w przeglądarceNie ma API, a kolejny krok zależy od tego,co właśnie pojawiło się na ekranie.
Trzy stopnie automatyzacji jednego zadania. Schodzisz niżej dopiero wtedy, gdy stopień wyżej odpadł, bo każdy niższy daje mniej pewności, że jutro przebiegnie tak samo.

Sprawdź się

Pięć pytań, żeby sprawdzić, ile zostało z lektury.

  1. Co, według samej drabiny, sprowadza cię na trzeci stopień, do agenta w przeglądarce?

  2. Dlaczego dwa uruchomienia tego samego zadania mogą pójść inną drogą?

  3. Wklejasz dane logowania w rozmowie i kasujesz wiadomość zaraz po zalogowaniu. Dlaczego to nie wystarczy?

  4. Jakiego rodzaju usterki wychodzą, gdy każesz agentowi zepsuć twój własny formularz?

  5. Agent bezbłędnie pobiera zestawienia z banku, a ty oglądasz każdy krok. Czego wciąż nie wiesz?