spinny:~/writing $ vim agentic-infrastructure-stack.md
1~2Często mówiliśmy o frameworkach agentowych. LangGraph, CrewAI, AutoGen, różne SDK, pętla, wywoływanie narzędzi, pamięć, planista, krytyk, przełożony. Wszystkie przydatne słowa, na litość boską. Ale im więcej patrzę na faktycznie używane agenty, tym bardziej wydaje mi się, że interesująca część przeniosła się poniżej poziomu frameworka.3~4Pytanie nie brzmi już tylko: jakiej biblioteki użyć, aby model krokowy zaczął myśleć?5~6Prawdziwe pytanie brzmi: gdzie będzie mieszkał ten agent, kiedy przestanie być demo?7~8Ponieważ poważny agent nie jest funkcją wywołującą model i zwracającą tekst. To mały system rozproszony. Musi czytać kontekst, używać narzędzi, wykonywać kod, dotykać plików, zapamiętywać decyzje, pytać o pozwolenie, kończyć się niepowodzeniem, uruchamiać się ponownie, zostawiać logi, nie spalać budżetu i nie zamieniać się w buldożer w repozytorium produkcyjnym.9~10Podstawą jest kierownica. Infrastruktura to droga, hamulce, garaż, ubezpieczenie i osoba, która wie, gdzie są klucze.11~12## Ponieważ teraz dużo się o tym mówi13~14W latach 2023 i 2024 rozmowa skupiała się głównie na modelach. Które LLM? Ile kontekstu? Ile to kosztuje? Jak dobry jest w programowaniu?15~16W latach 2025 i 2026 rozmowa uległa zmianie. Modele są wystarczająco dobre, aby wykonać prawdziwą pracę, ale dlatego widoczne są nudne elementy: środowisko wykonawcze, bezpieczeństwo, łączniki, tożsamość, obserwowalność, wykonanie kodu, wdrożenie, wycofywanie zmian.17~18To naturalne przejście od magii do inżynierii.19~20Gdy agent potrzebuje tylko wygenerować odpowiedź, wystarczy czat. Kiedy musisz otworzyć żądanie ściągnięcia, wysłać zapytanie do bazy danych, wywołać CRM, rozpocząć zadanie, nawigować po witrynie, przeczytać Slack, skompilować kod i zaktualizować dokument, potrzebujesz wokół tego systemu operacyjnego.21~22Nie w sensie dosłownym. W sensie organizacyjnym.23~24## Pierwszy element: środowisko wykonawcze, w którym agent może przetrwać25~26Agent często działa etapami. Przyjrzyj się stanowi, wybierz działanie, użyj narzędzia, obserwuj wynik, zaktualizuj plan, powtórz.27~28Jeśli ta pętla znajduje się w pojedynczym żądaniu HTTP, od razu pojawia się problem. Niektóre działania są powolne. Niektóre czekają na wkład człowieka. Niektóre kończą się niepowodzeniem i należy spróbować ponownie. Niektóre muszą przetrwać wdrożenie lub przekroczenie limitu czasu.29~30To tutaj wchodzą w grę trwałe przepływy pracy, kolejki, tła zadań i maszyny stanowe. Nie są olśniewający, ale stanowią różnicę między agentem, który na wersji demonstracyjnej wydaje się mądry, a agentem, którego możesz zostawić w pracy i iść na kawę.31~32Dla mnie środowisko wykonawcze agenta musi odpowiadać na bardzo konkretne pytania:33~34- gdzie zapisać stan pomiędzy jednym krokiem a drugim?35- co się stanie, jeśli proces umrze w połowie?36- czy mogę zrobić pauzę i poprosić o zgodę?37- czy mogę odtworzyć przebieg, aby zrozumieć, dlaczego dokonał takiego wyboru?38- czy mogę ograniczyć czas trwania, pamięć, narzędzia i koszt?39~40Vercel mocno naciska na ten front, oferując pakiety SDK AI, funkcje, przepływy pracy i narzędzia do tworzenia agentów w aplikacjach internetowych. Ale nie chodzi tylko o Vercel. Chodzi o to, że agent potrzebuje działającego domu, a nie pojedynczego punktu końcowego.41~42## Drugi element: piaskownica, ponieważ agent musi mieć możliwość ubrudzenia się bez zniszczenia43~44Gdy tylko agent napisze kod lub wykona polecenia, potrzebna jest piaskownica.45~46Wydaje się, że to techniczne słowo, ale pomysł jest domowy: dajesz mu stół warsztatowy. Może otwierać pliki, instalować zależności, uruchamiać testy, przeprowadzać eksperymenty i generować dane wyjściowe. Jeśli się myli, powstrzymałeś szkody. Jeśli to zadziała, promuj wynik.47~48Agentyczna piaskownica powinna mieć pewne właściwości:49~50- izolowany system plików;51- Ograniczenia procesora, pamięci i czasu;52- sieć kontrolowana;53- sekrety montowane tylko w razie potrzeby;54- complete logs;55- możliwość eksportu artefaktów;56- w razie potrzeby czysty reset pomiędzy uruchomieniami.57~58Vercel Sandbox idzie dokładnie w tym kierunku: izolowane środowiska do uruchamiania kodu, instalowania zależności, pracy z plikami i tworzenia artefaktów bez uruchamiania wszystkiego w głównym środowisku wykonawczym aplikacji.59~60Ta sprawa jest ważniejsza, niż się wydaje. Wiele agentycznych prototypów przeskakuje bezpośrednio z modelu do rzeczywistego systemu. Model może wywołać narzędzie. Narzędzia mogą wiele. Wszystko wydaje się eleganckie, aż do pierwszego błędnego polecenia, pierwszej zależności zainstalowanej w złym miejscu, pierwszego tokena, który ląduje w logu.61~62Piaskownica to dorosły sposób powiedzenia: śmiało, ale tutaj.63~64## Trzeci element: MCP i problem ze złączem65~66Model Context Protocol stał się jedną z najciekawszych części ekosystemu, ponieważ próbuje ujednolicić coś, co w innym przypadku szybko stałoby się niewykonalne: sposób, w jaki model odkrywa i wykorzystuje narzędzia zewnętrzne.67~68Bez standardu każda integracja jest małą wyspą. Złącze dla GitHuba zrobione w jeden sposób, jedno dla Slacka zrobione inaczej, jedno dla baz danych o różnej semantyce, jedno dla automatyzacji przeglądarki, które wygląda jak nic.69~70MCP proponuje wspólny język pomiędzy klientem a serwerem: narzędzia, zasoby, podpowiedzi, autoryzacje, transport, wykrywanie. Nie rozwiązuje w magiczny sposób zarządzania i bezpieczeństwa, ale daje gramatykę.71~72I gramatyka ma znaczenie. When an agent can connect to many tools, the question is not just "can he do it?". Problem w tym, „czy rozumie, co może zrobić, z jakimi ograniczeniami, w czyim imieniu i po jakim śladzie?”.73~74Dla mnie MCP nie jest szumem, ponieważ „wywołuje narzędzia”. Już to zrobiliśmy. To szum, ponieważ przesuwa środek ciężkości z pojedynczej integracji na operacyjny katalog narzędzi.75~76W dobrej architekturze agentowej MCP staje się rodzajem panelu krosowego:77~78- GitHub dla kodu i problemów;79- Slack dla kontekstu konwersacyjnego;80- Linear lub Jira do pracy planowej;81- baza danych tylko do odczytu do celów analitycznych;82- przeglądarka lub skrobak kontrolowany dla stron zewnętrznych;83- przechowywanie dokumentów;84- izolowane środowiska wykonawcze;85- systemy wewnętrzne narażone na ataki ze ścisłymi uprawnieniami.86~87Problem w tym, że wolny od zasad katalog narzędzi to po prostu bardziej elegancki sposób na wywołanie chaosu.88~89## Czwarty element: tożsamość i uprawnienia90~91Jest to obszar, na który wiele demonstracji przymyka oko.92~93Agent działa w czyimś imieniu. Zatem musi być jasne, kto jest podmiotem działania.94~95Czy korzysta z uprawnień użytkownika? Z konta usługi? Z przestrzeni roboczej? Czy masz dostęp tymczasowy czy stały? Czy potrafisz przeczytać wszystko, czy tylko niektóre zasoby? Czy możesz pisać? Czy możesz anulować? Czy może pisać do prawdziwych ludzi?96~97Jeśli nie odpowiesz dobrze na te pytania, prędzej czy później zbudujesz asystenta z kluczami do domu i nie pamiętasz, kto mu je dał.98~99Praktyczna zasada, którą lubię, jest następująca: agent musi być w stanie zrobić mniej niż człowiek i nie więcej niż człowiek. A kiedy musi zrobić coś bardziej ryzykownego, musi się zatrzymać i zapytać.100~101Oznacza to OAuth, zakres tokena, zarządzanie sekretami, dziennik audytu, zasady dotyczące narzędzi, listę dozwolonych, etap zatwierdzania. Mało romantyczna sprawa. Niezbędne rzeczy.102~103## Kawałek piąty: pamięć i kontekst, ale bez gromadzenia śmieci104~105Agenci potrzebują pamięci, ale pamięć staje się niebezpieczna, gdy staje się strychem.106~107Istnieją co najmniej trzy rodzaje pamięci:108~109- uruchom pamięć: co się stało w tym wykonaniu;110- pamięć projektowa: konwencje, decyzje, ograniczenia;111- pamięć osobista lub zespołowa: preferencje, ton, rytuały, procesy.112~113Umieszczenie wszystkiego w monicie jest skrótem. Działa dopóki nie przestaje działać. Należy dbać o użyteczną pamięć: indeksowaną, aktualizowaną, wygasłą, weryfikowaną, nadającą się do cytowania.114~115Agent, który źle pamięta, jest gorszy od agenta, który nie pamięta. Ponieważ mówi z przekonaniem.116~117Dlatego infrastruktura musi obejmować pobieranie, pliki instrukcji, bazę wiedzy, osadzanie w razie potrzeby, ale także czyszczenie. Potrzebujemy kultury pamięci: co wchodzi, kto to akceptuje, kiedy zanika, jak to naprawić.118~119## Element szósty: obserwowalność, ocena i powtórka120~121Jeśli agent popełni błąd, dziennik „zwany modelem” nie wystarczy.122~123Chcesz zobaczyć trasę. Jaki kontekst otrzymał? Jakie narzędzia były dostępne? Które narzędzie wybrałeś? Z jakimi argumentami? Jaką otrzymałeś odpowiedź? Ile to kosztowało? Gdzie utknął? Czy człowiek coś zaakceptował? Czy błąd dotyczy modelu, narzędzia, podpowiedzi, danych lub uprawnień?124~125Tutaj agenci bardziej przypominają systemy rozproszone niż chatboty.126~127Potrzebujesz czytelnych śladów, a nie tylko dzienników tekstowych. Musisz umieć odtworzyć przebieg. Konieczne jest porównanie dwóch wersji tego samego agenta w przypadku znanych zadań. Musimy mierzyć regresje: nie tylko „odpowiada lepiej”, ale „zamyka właściwy bilet bez dotykania niechcianych plików”.128~129Ewaluacje agentyczne są trudniejsze niż ewaluacje tekstowe, ponieważ obejmują akcje. Nie wystarczy porównać oczekiwany ciąg. Należy wziąć pod uwagę sekwencje, skutki uboczne, jakość artefaktu, czas, koszt, liczbę interwencji człowieka.130~131Najśmieszniejsze jest to, że zawsze tam wracamy: inżynieria oprogramowania. Testy, środowiska, ślady, wycofywanie zmian. Tyle że teraz kod decyduje również, co robić dalej.132~133## Element siódmy: interfejsy ludzkie134~135Agent nie musi tylko żyć na czacie.136~137Niektórzy agenci potrzebują zarządu. Inni stronę ze statusem i logiem. Others of an "approve" button. Więcej komentarzy wbudowanych. Jeszcze inne z CLI.138~139Interfejs użytkownika zmienia zachowanie. Jeśli jedynym sposobem kontrolowania agenta jest napisanie długiej wiadomości, użytkownik przekaże agentowi niejasne instrukcje. Jeśli jednak widzi plan, różnicę, źródła, ryzyko i dalsze działanie, może precyzyjnie interweniować.140~141Przyzwoita infrastruktura agentowa obejmuje powierzchnie kontrolne:142~143- aktualny stan;144- edytowalny plan;145- wytworzone artefakty;146- różnica;147- approval requests;148- chronologia;149- przycisk zatrzymania;150- przycisk ponownej próby;151- widoczne uprawnienia.152~153Wydaje się to banalne, ale tak nie jest. Różnica między „przerażającą sztuczną inteligencją” a „niezawodnym asystentem” często polega na tym, że ten drugi pokazuje, gdzie ma ręce.154~155## Stos mentalny156~157Gdybym miał to dzisiaj narysować, minimalny stos agentów wyglądałby następująco:158~1591. Model: wnioskowanie, generowanie, wywoływanie narzędzi, w razie potrzeby multimodalny.1602. Orkiestracja: pętla, krok, planista, polityka, człowiek w pętli.1613. Trwały czas działania: przepływ pracy, kolejka, ponowna próba, pauza, wznawianie.1624. Sandbox: wykonanie kodu, izolowany system plików, ograniczenia, artefakty.1635. Warstwa narzędziowa: MCP, wewnętrzne API, przeglądarka, baza danych, repozytorium.1646. Identity layer: OAuth, scope, secret, audit, policy.1657. Memory layer: project context, retrieval, instructions, expiration.1668. Obserwowalność: metryki śledzenia, odtwarzania, ewaluacji, kosztów i jakości.1679. Powierzchnia produktu: rozmawiaj, kiedy potrzeba, pulpit nawigacyjny, kiedy potrzeba, przeglądaj, kiedy to ma znaczenie.168~169Struktura agentyczna obejmuje głównie punkty 2 i część punktu 1. Reszta to prawdziwa praca.170~171## Co zrobiłbym w praktyce172~173Gdyby zespół powiedział mi „chcemy agentów na produkcji”, nie zaczynałbym od dziesięciu agentów.174~175Zacząłbym od małego, powtarzalnego i obserwowalnego przepływu pracy. Na przykład: otwieraj żądania PR dotyczące konserwacji, aktualizuj dokumentację z zamkniętych problemów, przygotuj cotygodniowy przegląd, segreguj zduplikowane błędy, generuj testy dla plików, których dotyczy problem.176~177Następnie ustaliłbym bardzo jasne granice:178~179- żadnego pisania bez gałęzi i piaskownicy;180- brak tajemnic w monicie;181- narzędzia na liście dozwolonych;182- ludzka akceptacja dla działań zewnętrznych;183- obowiązkowe rejestrowanie i śledzenie;184- budżet na uruchomienie;185- dane wyjściowe zawsze można sprawdzić.186~187Dopiero wtedy mógłbym się rozwinąć.188~189Agenci nie ponoszą porażek tylko dlatego, że modele się mylą. Zawodzą, ponieważ umieszczamy je w niejasnym środowisku, z mylącymi pozwoleniami i teatralnymi oczekiwaniami.190~191## Moja lektura192~193Infrastruktura agentowa jest nudna w najlepszym tego słowa znaczeniu.194~195To nie jest ten moment, który powoduje, że klaskasz w demie. To ta część, która pozwala faktycznie skorzystać z wersji demonstracyjnej w poniedziałek rano, z prawdziwymi ludźmi, prawdziwymi danymi i prawdziwymi konsekwencjami.196~197O przyszłości agentów nie będzie decydować wyłącznie to, kto będzie miał najlepszy wzór do naśladowania. O tym zadecyduje ten, kto zbuduje najlepsze miejsce, w którym będzie mógł pracować: odizolowany, gdy będzie eksperymentował, połączony, gdy zajdzie taka potrzeba, zawsze możliwy do zaobserwowania, autoryzowany na podstawie kryteriów i wystarczająco pokorny, aby przestać, gdy nie wie.198~199W tym miejscu agenci przestają być zabawką i stają się infrastrukturą.200~201## Źródła202~203- [Vercel: Jak zbudować agentów AI za pomocą Vercel i pakietu AI SDK](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Dokumenty Vercel: Piaskownica](https://vercel.com/docs/sandbox)205- [Vercel Docs: Praca z piaskownicą](https://vercel.com/docs/sandbox/working-with-sandbox)206 – [Dokumenty Vercel: MCP](https://vercel.com/docs/mcp)207- [Protokół kontekstu modelu: Specyfikacja](https://modelcontextprotocol.io/specification)208- [OpenAI: Nowe narzędzia dla agentów budowlanych](https://openai.com/index/new-tools-for-building-agents/)209- [Blog Cloudflare: Agenci w Cloudflare](https://blog.cloudflare.com/agents-on-cloudflare/)210~
NORMAL · agentic-infrastructure-stack.md [readonly]210 lines · :q to close