hachiflow.com
warstwa zdarzeń

Każde działanie agenta jest zdarzeniem. Każde powtarzające się może stać się kodem.

Waggle prowadzi każde działanie agenta, każdy przychodzący webhook i każdą decyzję człowieka przez jeden trwały dziennik zdarzeń, zanim cokolwiek się wydarzy. Nic, co robi agent, nie jest niewidoczne, a nic, co się powtarza, nie musi na zawsze pozostać wywołaniem modelu.

To architektura, na której Waggle działa dziś, a nie plan na przyszłość.
architektura

Jeden dziennik zdarzeń, a nie labirynt webhooków

Każde działanie agenta, każdy przychodzący webhook i każda decyzja człowieka stają się jedną kopertą w trwałym, odtwarzalnym dzienniku zdarzeń, zanim cokolwiek zostanie gdziekolwiek skierowane.

Działanie, potem trwały dziennik, potem deterministyczna reguła, a dalej albo miejsce docelowe, albo bezpośrednia ścieżka kodu.
01

Wejście

Webhook, uruchomienie crona albo wynik działania samego agenta trafia do jednych drzwi. Surowa treść i nagłówki są zachowywane dokładnie takie, jakie przyszły, a zdarzenie, zanim pójdzie dalej, otrzymuje pieczątkę tenanta, podmiotu i poziomu zaufania.

02

Trwały dziennik

Zdarzenie trafia do trwałego, odtwarzalnego dziennika zdarzeń. Powtórzona dostawa tego samego zdarzenia, na przykład webhook wysłany ponownie po przekroczeniu czasu, jest rozpoznawana i odrzucana, zamiast zostać przetworzona dwa razy.

03

Deterministyczne reguły

Plik reguł routingu, jeden na tenant, dopasowuje zdarzenie do jego źródła, typu i poziomu zaufania i decyduje, dokąd trafi. Wygrywa pierwsza pasująca reguła, a jedna reguła może rozesłać zdarzenie do więcej niż jednego miejsca docelowego.

04

Miejsce docelowe i ślad

Zdarzenie trafia do skrzynki odbiorczej danej osoby, do innego agenta, do webhooka wychodzącego, albo jest celowo odrzucane. Każdy przeskok jest zapisywany, więc każdy może później prześledzić zdarzenie od przyjścia do dostarczenia.

Pod spodem magistralą jest wbudowany NATS JetStream, na dwóch strumieniach o nazwach EVENTS i ROUTES. Reguły routingu to TOML, jeden plik na tenant, wczytywany ponownie automatycznie po zmianie pliku. Powtórzona dostawa tego samego zdarzenia jest rozpoznawana przez dwie godziny po identyfikatorze wiadomości.

co daje ten dziennik

Co naprawdę dzieje się z działaniami agenta

To fakty o warstwie, na której działa Waggle, a nie hasło marketingowe.

Każde działanie agenta jest zdarzeniem

To, co agent powiedział, o co poprosił, i co odpowiedział człowiek, jest zapisywane w ten sam sposób, w tym samym dzienniku.

Surowe dane wejściowe są zachowywane

To, co faktycznie wysłał webhook, treść i nagłówki, jest przechowywane obok znormalizowanego zdarzenia, a nie odrzucane po sparsowaniu.

Dostawa jest idempotentna

Powtórzony webhook albo ponownie dostarczona wiadomość są rozpoznawane i nie są przetwarzane dwa razy.

Każde zdarzenie można prześledzić

Jego pochodzenie, reguła, która je dopasowała, i to, czy zostało dostarczone, to jedno zapytanie, a nie szukanie w kilku systemach naraz.

Niektóre działania czekają na człowieka

Agent proszący o użycie danych uwierzytelniających albo proponujący nowego agenta to zdarzenie, które zatrzymuje się i pokazuje człowiekowi kartę do zatwierdzenia albo odrzucenia, zanim cokolwiek się wydarzy.

Webhooki działają w obie strony

Zdarzenie można też dostarczyć z powrotem pod wybrany przez Ciebie adres URL, jako znormalizowaną kopertę albo jako oryginalne żądanie, bez zmian.

od wzorca do kodu

Kiedy wzorzec jest stabilny, może przestać być wywołaniem modelu

Działania agenta nie znikają po skierowaniu. Zostają w dzienniku zdarzeń jako ten sam rodzaj zapisu za każdym razem: co się stało, co zostało dopasowane i dokąd trafiło. Kiedy ten sam wzorzec pojawia się raz za razem, to powtórzenie widać w samym dzienniku, a nie ukryte w transkrypcie.

Zamiana powtarzającego się wzorca w regułę albo w mały deterministyczny handler to dziś praca, którą nasi inżynierowie wykonują razem z Tobą, czytając ślad i edytując reguły routingu albo pisząc ścieżkę kodu ręcznie. Waggle sam z siebie nie awansuje wzorca do reguły, nie ma tu żadnego automatycznego kroku uczenia się. Warstwa zdarzeń daje Ci widoczność potrzebną do znalezienia wzorca oraz silnik reguł zbudowany po to, by przyjąć odpowiedź, gdy już ją znajdziesz.

Dopasowanie reguły albo mały handler odpowiada bezpośrednio z routera, bez wywoływania modelu. Nie podamy Ci procentu, ile to oszczędza w Twoim przypadku, bo zależy to od wzorca, ale deterministyczna ścieżka nie generuje opłaty za zadanie w podłączonej przez Ciebie subskrypcji modelu, tak jak zrobiłby to kolejny obrót agenta.

pytania

Pytania, które CTO zadaje jako pierwsze

Czy zamiana działania w regułę jest automatyczna?

Nie. Nasi inżynierowie robią to razem z Tobą, czytając dziennik zdarzeń i korzystając z silnika reguł. Nic w Waggle nie awansuje dziś działania do reguły samo z siebie.

Co dokładnie jest zapisywane?

Każde działanie agenta, każdy webhook docierający do Twojej przestrzeni roboczej i każda decyzja człowieka, jako ten sam rodzaj zapisu: co się stało, co zostało dopasowane i dokąd zostało dostarczone. Surowa treść i nagłówki webhooka też są zachowywane.

Czy jedno zdarzenie może trafić do więcej niż jednego miejsca?

Tak. Miejscem docelowym reguły może być lista, a każdy element ma własną dostawę i własny przeskok w śladzie.

Co się dzieje z działaniem, które wymaga człowieka?

Staje się kartą w skrzynce odbiorczej tej osoby, na przykład prośbą o użycie danych uwierzytelniających albo propozycją nowego agenta, a sama decyzja jest zapisywana jako zdarzenie w tym samym dzienniku.

Czy to osobny produkt od Waggle?

Nie. To ta sama warstwa zdarzeń Waggle, która napędza kreator pod adresem app.hachiflow.com/waggle. Nie ma nic dodatkowego do kupienia, żeby ją mieć.

porozmawiajmy

Porozmawiaj z nami o swojej architekturze.

Powiedz nam, co Twoi agenci już robią raz za razem. Obejrzymy ślad razem z Tobą i szczerze powiemy, czy pasuje reguła, czy mały handler, zanim ktokolwiek zacznie cokolwiek budować.