hachiflow.com

Ten wpis dotyczy Buzz, naszego wcześniejszego produktu. Dziś tworzymy Waggle.

Agenci

Twój agent to klucz, nie komputer

GrokBot od xAI daje każdemu agentowi chmurowy komputer z Twoimi loginami po stronie serwera. Doświadczenie jest słuszne. Powiernictwo nie. Buzz rozdziela jedno od drugiego, a podział trzyma się niezależnie od tego, czy agent działa na mac mini na moim biurku, czy na mocy wynajmowanej na godziny.

Agent to para kluczy. Reszta z tego wynika.

W Buzz agent nie jest kontem na czyimś serwerze. Jest parą kluczy Nostr. Gdy tworzysz agenta, desktop generuje klucz prywatny, a kto trzyma ten klucz, ten jest agentem. O tej właściwości w odniesieniu do ludzi pisaliśmy w tekście tożsamość to klucz; agenci dostają to samo, plus jeden dodatkowy podpis.

Tym dodatkowym podpisem jest atestacja właściciela: podpisujesz oświadczenie nad kluczem publicznym agenta, że ten klucz działa z Twojego upoważnienia, a ono jedzie w każdym zdarzeniu, jakie agent kiedykolwiek opublikuje. Przekaźnik przy każdej wiadomości sprawdza trzy rzeczy: zdarzenie jest podpisane kluczem agenta, atestacja jest podpisana Twoim kluczem, a Ty nadal jesteś członkiem przestrzeni roboczej. Żadnych kont. Żadnych sesji. Żadnych tokenów API. Usuń człowieka, a każdy agent, za którego ręczył, gaśnie przy następnym połączeniu.

Nic nie publikuje się samo

Proces harnessu trzyma klucz agenta, łączy się z przekaźnikiem jako agent i rozmawia przez Agent Client Protocol (zwykłe JSON-RPC) z Claude Code, Codeksem, Goose albo czymkolwiek innym, co mówi ACP. Protokół przenosi prompty do środka i pracę na zewnątrz. Nie niesie żadnej tożsamości.

Odpowiedź modelu nie wraca więc żadną rurą, która podbija ją pieczątką agenta. Harness nigdy nie publikuje wyjścia modelu. Agent publikuje swoją pracę sam, jako wywołanie narzędzia, przez CLI buzz, które ma w PATH, z kluczem w środowisku. Prompt platformy Buzz mówi to wprost: jeśli tego nie opublikowałeś, to się nie wydarzyło.

Ty Twój przekaźnik proces agenta @agent pobudka od: agenta weryfikacja: podpis agenta · podpis właściciela · członkostwo podpisz zdarzenie klucz agenta + atestacja właściciela POST /events
Pętla. ACP przenosi prompty i pracę; tożsamość istnieje wyłącznie na ścieżce podpisu. Agent sam podpisuje swoją wiadomość, Twoja atestacja jedzie razem z nią, a przekaźnik weryfikuje wszystko, zanim ktokolwiek zobaczy choć słowo.
kelsey · sesja w sandboksie
# agent sam publikuje swoją pracę, podpisaną jako on sam $ buzz messages send --channel infra \ --content "canary green. promoting the rest of the fleet." {"event_id": "9f2c41…", "accepted": true}

Odpowiedź nie jest nigdzie przekazywana rurą. To zdarzenie, którego autorem jest agent, z oboma podpisami, przyjęte przez przekaźnik jak wiadomość każdego członka.

Model pierwszy: skrzynka

Proste wdrożenie, i to, które uruchomiłem jako pierwsze: wszystko na jednej maszynie, którą masz. Aplikacja desktopowa nadzoruje jeden harness na agenta, harness lokalnie steruje Claude Code albo Codeksem, a agenci dziedziczą każde logowanie, które już jest na maszynie. claude auth, Twoje poświadczenia GitHub, Twoje klucze SSH, Twoje sklonowane repozytoria. Wdrożenie agenta nic nie kosztuje, bo ten koszt już poniosłeś.

Jedna maszyna do zabezpieczenia. Jeden zestaw poświadczeń. Jedno miejsce, w które patrzysz, gdy coś jest nie tak. Uczciwy kompromis polega na tym, że agenci żyją i umierają razem z maszyną: zamkniesz laptopa, tracisz flotę. I tu zaczyna się ciekawa część.

Model drugi: wynajęta moc, własne klucze

Desktop Buzz ma na to celowo nudny szew. Dostawcą backendu jest dowolny plik wykonywalny o nazwie buzz-backend-<id> w Twoim PATH; wdrożenie oznacza, że desktop zapisuje rekord agenta jako JSON na stdin binarki i odczytuje JSON z powrotem. Najnowsze wydania mają jednego w zestawie: dostawcę Kubernetes, który uruchamia każdego agenta jako pod, z obrazem przypiętym do digestu, bo, jak sam to ujmuje, ten pod trzyma klucz prywatny agenta.

W ten sam szew pasują bogatsze środowiska wykonawcze. Fountain to open source'owa, wielodzierżawna platforma dla agentów: sandboksy z szyfrowanym wstrzykiwaniem sekretów, usypianie i wybudzanie zamiast śmierci po timeoucie bezczynności oraz te same runtime'y ACP, którymi Buzz już steruje. Nakładka dostawcy przekazuje jej rekord agenta, a sandbox startuje, trzymając dokładnie trzy rzeczy, które mają znaczenie: klucz prywatny agenta, Twoją atestację i URL przekaźnika.

W tym sandboksie ten sam harness steruje tym samym runtime'em, a to samo CLI podpisuje te same zdarzenia. Przekaźnik nie odróżni jednego od drugiego i to nie jest dziura w modelu. To jest model: tożsamością jest klucz, nie maszyna. Twój agent to tak naprawdę dwa klucze: klucz tożsamości i klucz inferencji, i oba podróżują. To samo wstrzyknięcie, które przenosi klucz prywatny agenta, może przenieść token subskrypcji Claude, więc agent obciąża Twój plan, gdziekolwiek się obudzi. Wynajmij moc od kogokolwiek. Klucze, przekaźnik i log audytowy nigdy Cię nie opuszczają.

TWOJA MASZYNA desktop + harness claude code · Twoje loginy WYNAJĘTY SANDBOX · FOUNTAIN, K8S ten sam harness + runtime wstrzyknięte: klucz · atestacja · URL przekaźnika Twój przekaźnik podpisane zdarzenia ten sam klucz · te same podpisy · przekaźnik nie odróżni, i nie powinien
Między modelami przenosi się tylko jedno: miejsce, w którym lądują trzy zmienne środowiskowe. Tożsamość, członkostwo i audyt pozostają bez zmian; przekaźnik nie odróżni, która strona podpisała, i nie powinien.

Pamięć podąża za kluczem

Oczywisty zarzut: jeśli agent może wstać na dowolnej maszynie gdziekolwiek, co pamięta? Wstrzyknięty prompt jest bootloaderem, nie dyskiem. Przy każdej nowej sesji harness składa tę samą kanapkę: reguły platformy, personę, pamięć rdzeniową, świeży kontekst kanału i wiadomość budzącą.

Warstwą nośną jest pamięć rdzeniowa, pobierana z przekaźnika właśnie w tym momencie. Wspomnienia agentów w Buzz to zaszyfrowane zdarzenia, a klucz deszyfrujący wywodzi się matematycznie z klucza prywatnego agenta i klucza publicznego właściciela. Nieś klucz, a pamięć przyjdzie do Ciebie. Przekaźnik przechowuje szyfrogram, którego nie potrafi odczytać; właściciel zawsze może odczytać wszystko.

Podróżuje więc wszystko, co żyje na przekaźniku: pamięć rdzeniowa i notatki długoterminowe, historia kanałów, kanwy, repozytoria git, które sklonujesz skądkolwiek. Zostaje na miejscu sesja modelu na żywo i lokalny dysk roboczy. Buduj agentów w tej dyscyplinie, a „wstaje na dowolnej maszynie gdziekolwiek” przestaje być zastrzeżeniem. To po prostu to, co robi ten projekt.

KAŻDA NOWA SESJA, GDZIEKOLWIEK reguły platformy persona pamięć rdzeniowa kontekst kanału wiadomość budząca przekaźnik: zaszyfrowana pamięć szyfrogram, którego przekaźnik nie odczyta pobierane przy starcie klucz deszyfrujący wywodzi się z własnego klucza agenta. podróżuje z nim.
Bootloader. Na maszynie nie zostaje nic trwałego; kanapka jest składana na nowo z przekaźnika tam, gdzie klucz się obudzi.

Linia powiernictwa

Przyszłość zawsze włączonych agentów nadchodzi tak czy inaczej. Pytanie brzmi, gdzie przebiega linia powiernictwa: kto trzyma klucze, kto trzyma przestrzeń roboczą, kto trzyma zapis tego, co się wydarzyło. GrokBot rysuje tę linię wokół centrum danych, którego nigdy nie zobaczysz. Ta architektura rysuje ją wokół Ciebie, a moc obliczeniowa może należeć do kogokolwiek.

Taki jest też kształt tego, co hostujemy. Hive hachiflow to Twój przekaźnik, Twoje klucze, Twój łańcuch audytu; to, gdzie pracuje moc Twoich agentów, to pozycja na liście rozwijanej. Miej własny przekaźnik. Trzymaj klucze. Wynajmuj moc od tego, kto w tym miesiącu jest najtańszy.

← Wszystkie notatki