Dostarczamy kompletny silnik aamp (Single Binary), który błyskawicznie wpinasz do swojej platformy przez API. Dzięki temu szybciej uruchomisz płatne usługi AI dla swoich klientów, bez przebudowy obecnego systemu.
Agent prowadzi rozmowę i decyduje, po które narzędzie sięgnąć. Powtarzalną logikę zamykasz w skryptach Python, które wywołuje agent, a na ich bazie budujesz aplikacje z formularzem, uruchamiane przez użytkownika albo harmonogram. Każda zmiana trafia najpierw do wersji roboczej i działa dopiero po publikacji nowej wersji.
Skrypty Python, indeksowanie dokumentów i praca w przeglądarce działają w jednorazowych mikromaszynach Firecracker. Maszyna startuje bez dostępu do sieci, a dostęp nadajesz jawnie, wskazując dozwolone adresy. Po zakończeniu, zatrzymaniu lub przekroczeniu czasu maszyna jest usuwana.
Narzędzia, takie jak sterowanie przeglądarką czy klient HTTP, konfigurujesz raz jako profile i podpinasz do wybranych agentów. Integracje, np. wyszukiwarka i odczyt stron, służą agentom i skryptom, a SSH tylko skryptom. Agent dostaje opis narzędzia, a nie hasło czy klucz, więc zakres jego dostępu to Twoja decyzja.
Cały ruch sieciowy gościa przechodzi przez proxy kontrolowane przez host. Reguły domen obsługują tryb domyślnie-dozwolony lub domyślnie-zablokowany, a host.internal udostępnia tylko te trasy, na które wyrazisz zgodę.
Czternaście domen logów rejestrujących rozliczenie tokenów, decyzje firewalli, ruch przez proxy i wyszukiwanie na poziomie dokumentów — powstają jako efekt uboczny działania systemu, a nie jako osobny projekt integracyjny.
Jeden plik binarny Go, bez cgo, brokera kolejek i zewnętrznego cache. Wdrożenie na hoście Linux z /dev/kvm.
Baza SQLite i pliki lokalne. Kopia zapasowa to jeden plik i dwa katalogi, a migracja to ich skopiowanie.
Firecracker microVM do zadań ryzykownych: sterowanie przeglądarką, renderowanie dokumentów, indeksowanie RAG.
Dowolny endpoint zgodny z OpenAI: vLLM, Ollama, LocalAI, TGI lub hostowany dostawca modeli frontier.
Zbiory danych DataLake na DuckDB i Parquet: wersjonowane, klasyfikowane i odpytywane przez agentów tylko do odczytu.
Skrypty Python stają się aplikacjami z formularzem i dashboardami dla użytkowników bez uprawnień administracyjnych. Harmonogram cron uruchamia je o wskazanej porze.
Role nadawane na konkretny zasób, grupy mapowane z Entra ID lub innego dostawcy OIDC, polityki OPA oraz zabezpieczenia wejściowe i wyjściowe na każdym interfejsie.
14 domen logów: rozliczenie tokenów, decyzje firewalli, ruch przez proxy i wyszukiwanie na poziomie dokumentów.
Agentami, zabezpieczeniami i logami zarządzasz z jednego panelu. Każda warstwa ma własny zakres odpowiedzialności i własny zapis zdarzeń, więc łatwo sprawdzić, co zadziałało i dlaczego.
Zabezpieczenie działa, zanim wiadomość użytkownika dotrze do modelu agenta. Treść bezpieczna przechodzi dalej; niebezpieczna zatrzymuje żądanie i zwraca ustawiony przez Ciebie komunikat odmowy. Nieudana ocena nie przechodzi po cichu — mechanizm domyślnie blokuje.
Zabezpieczenia to wielokrotnie używane polityki, podłączane per interfejs: czat wewnętrzny, WebWidget, API i endpoint zgodny z OpenAI, oraz przetwarzanie treści, które sprawdza niezaufane dane wyjściowe narzędzi przed ich powrotem do pętli.
Wbudowany klasyfikator działa na procesorze serwera, bez karty graficznej i bez połączenia z internetem. Każda decyzja trafia do logów razem z uzasadnieniem, kategorią i oceną ryzyka.
Co weszło do promptu, co zostało wyszukane, co zwrócił model, które narzędzia się uruchomiły i ile to kosztowało — zapisane jako efekt uboczny działania systemu.
Obowiązki informacyjne z artykułu 50 wchodzą w życie 2 sierpnia 2026. Obowiązki dla systemów wysokiego ryzyka z załącznika III obowiązują do grudnia 2027, co oznacza, że budujesz architekturę, a nie kupujesz łatkę.
Pod tym wszystkim role nadawane na konkretne zasoby, grupy mapowane z firmowego katalogu tożsamości i dodatkowe polityki. Szczegóły w sekcji Tożsamość i dostęp.
Decyzje są egzekwowane na serwerze dla każdej chronionej trasy, nie przez ukrywanie przycisków. Odebranie uprawnień zatrzymuje trwające rozmowy i zadania w ciągu dwóch sekund, a każda zmiana zapisuje rekord w audycie dostępu z podmiotem, akcją, celem i stanem przed i po.
host.internal udostępnia tylko trasy, na które wyrazisz zgodęFiltr wyjściowy działa po wygenerowaniu odpowiedzi, a przed jej dostarczeniem, zamieniając wykryte identyfikatory na jawne znaczniki — [REDACTED_EMAIL], [REDACTED_PERSON_NAME] — zachowując sens i strukturę odpowiedzi.
Przy aktywnym filtrze odpowiedź jest buforowana, a nie strumieniowana, więc żaden nieprzefiltrowany fragment nie wydostaje się wcześniej. Dostarczany, zapisywany i audytowany jest wyłącznie oczyszczony tekst. Jeśli filtr zawiedzie, dostarczenie zostaje zablokowane.
Filtrowanie danych osobowych to środek ograniczania ryzyka, nie certyfikacja. Jakość detekcji zależy od języka, kontekstu i treści wejściowej, a mechanizm ten powinien działać obok minimalizacji danych, kontroli dostępu i polityki retencji.
Dwa filtry chronią każdą rozmowę: wejściowy zatrzymuje próby przejęcia agenta (prompt injection), zanim treść dotrze do modelu, a wyjściowy maskuje dane osobowe, takie jak PESEL czy numer konta. Role i dostęp nadawany do konkretnych agentów i baz wiedzy decydują, kto z czego korzysta. Klucze, reguły i logi zostają na Twoim serwerze.
Przydział łączy rolę z zakresem: jednym agentem, workflowem, źródłem wiedzy, zbiorem danych albo całą instalacją. Rolę przypisujesz użytkownikowi lub grupie. Uprawnienia z kilku przydziałów sumują się, a użytkownik widzi tylko to, do czego dostał dostęp.
Rolę własną budujesz z jawnie wybranych akcji, np. agent.view i agent.test bez agent.publish. Zapis wersji roboczej niczego nie zmienia. Przed publikacją widzisz dodane i usunięte akcje oraz listę użytkowników, których zmiana dotyczy.
Użytkownicy logują się kontem firmowym przez OpenID Connect. Grupy i role aplikacyjne (App Roles) z tokenu dostawcy tożsamości mapujesz na grupy aamp, a do grup przypisujesz role. Członkostwem zarządzasz tam, gdzie dziś: w AD, Entra ID, systemie IAM lub IGA.
Członkostwa są odczytywane z tokenu przy logowaniu. aamp nie korzysta obecnie z SCIM ani z Microsoft Graph.
Na wybranych agentów nakładasz dodatkowe reguły w języku Rego, np. dział Finanse korzysta z agenta tylko przez czat w przeglądarce, bez API i widżetu. Polityka nie może przyznać dostępu, może go wyłącznie ograniczyć.
Ograniczenie czytelników ustawiasz dla całego źródła wiedzy lub pojedynczego pliku: wybrani użytkownicy, grupy i kanały. Niedozwolone fragmenty są odfiltrowane przed rankingiem wyszukiwania, więc nie trafiają do modelu.
Administratorowi działu przekazujesz zarządzanie dostępem tylko w wyznaczonych granicach: konkretne zasoby, role i grupy. Nie nada roli spoza tych granic ani nie zmieni własnych uprawnień.
aamp nie zastępuje Twojego katalogu tożsamości. Konta i członkostwo w grupach zostają w AD, Entra ID lub systemie IGA, a aamp zamienia je na uprawnienia do konkretnych agentów, danych i dokumentów. Sprawdza je po stronie serwera przy każdym wywołaniu.
Tokeny wejściowe, z pamięci podręcznej i wyjściowe dla dowolnego zakresu dat, z wykresem dziennym i podziałem na modele. Możesz zawęzić widok do wybranych agentów, wejść i baz wiedzy, więc widać, które zastosowanie jest drogie.
Ustawiasz limit tokenów wejściowych, wyjściowych i liczby zapytań dla całej instalacji lub wybranego zakresu. Panel pokazuje wykorzystanie, narastający wykres z linią limitu i prognozę na podstawie dotychczasowego zużycia, a obok porównanie z poprzednim miesiącem.
Osobny panel zbiera użycie filtrów danych osobowych i filtrów wejściowych, asystenta skryptów, transkrypcji mowy, agentów wywoływanych przez skrypty i embeddingów. Dla każdego widać liczbę wywołań, błędy, czas przetwarzania i tokeny.
Kieruj rutynową większość ruchu do modeli małych lub lokalnych, a możliwości modeli frontier zachowaj dla tej części zadań, która to uzasadnia. Raportowane łączne oszczędności routingu warstwowego wynoszą od 40 do 80 procent wobec pracy wyłącznie na modelach frontier.
Każdy agent ma limit rund model–narzędzie, po którym się zatrzymuje, oraz automatyczne kompaktowanie kontekstu po przekroczeniu ustalonego progu. Długa rozmowa nie rośnie więc w nieskończoność.
Tokeny rozumowania rozliczane są jak wyjściowe. Dla każdego agenta ustawiasz poziom rozumowania i maksymalną liczbę tokenów odpowiedzi, z domyślną wartością dla całej instalacji.
Wiele platform nalicza opłatę za każdy krok agenta. W aamp płacisz za ukończone zadanie, niezależnie od tego, ile kroków było potrzebnych. Modele podłączasz na własnych kluczach API bez marży pośrednika (BYOK) albo uruchamiasz lokalnie.
Dostawca i model przypisują się do agenta i do funkcji hosta, a nie do jednego globalnego ustawienia. Klasyfikacja danych decyduje, który model może wywołać dany agent, a to samo przypisanie reguluje, którzy agenci mogą odpytywać zbiór danych DataLake lub Data Product.
Uruchamiaj modele open-weight na własnym sprzęcie obok hostowanych modeli frontier, za jedną granicą polityk. Dowolny endpoint zgodny z OpenAI: vLLM, Ollama, LocalAI lub TGI.
Drugi dostawca to skonfigurowane rozwiązanie awaryjne, a nie incydent, przez który improwizujesz w trakcie awarii.
aamp działa z każdym modelem zgodnym z API OpenAI, w chmurze i lokalnie, np. przez Ollamę lub vLLM. Modele otwarte dorównują dziś w wielu zadaniach zamkniętym, więc pełna prywatność nie oznacza gorszych wyników.
Każdy użytkownik widzi tylko agentów, do których dostał dostęp. Rozmowy, załączniki i historia zostają na Twoim serwerze, a administrator decyduje, kto z jakiego agenta korzysta.
Opublikowane dashboardy są dostępne dla każdego zalogowanego użytkownika, także bez uprawnień administracyjnych. Każdy kafelek ma własny formularz, przycisk uruchomienia, status i wynik. Błąd jednego kafelka nie blokuje pozostałych, a wyniki dwóch użytkowników nie mieszają się ze sobą.
Gotowe raporty, alerty i odpowiedzi trafiają do skrzynki odbiorcy, z licznikiem nieprzeczytanych w menu. Nikt nie musi dopytywać agenta o status zadania.
Administrator opisuje cel, a asystent przygotowuje agenta lub aplikację: dobiera model, integracje i narzędzia, pisze skrypt, tworzy źródła i bazę wiedzy, uruchamia test, czyta logi i poprawia błędy. Zmiany dotyczące sieci, publikacji, harmonogramu i uruchomień opublikowanych wersji wymagają Twojego zatwierdzenia w rozmowie.
Każdy agent ma własny model, instrukcje, narzędzia, skrypty i dostęp do wybranych źródeł danych. Zmiany zapisujesz jako szkic i publikujesz jako kolejną wersję, a widok Agent Flow pokazuje wszystkie zależności na jednym grafie.
Piszesz i testujesz kod w edytorze, z historią uruchomień i konsolą. Skrypt może wywołać opublikowanego agenta i dostać od niego ustrukturyzowany wynik. Każde uruchomienie działa w jednorazowej mikromaszynie, a w kreatorze skrypt staje się aplikacją z formularzem, którą można też uruchamiać z harmonogramu.
Proces opakowuje opublikowany skrypt albo agenta w formularz i czytelny widok wyniku, bez pisania frontendu. Dashboard układa wiele takich widgetów na siatce 12 kolumn: przeciągasz, zmieniasz rozmiar, ustawiasz domyślne parametry i tryb uruchamiania. Procesy i dashboardy mają szkic, publikacje i historię wersji.
Integracje konfigurujesz raz: Brave Search i Jina Reader podpinasz do agentów i skryptów, a SSH i TypeSafe do skryptów. Profile narzędzi, np. sterowanie przeglądarką czy klienta HTTP, podpinasz do agentów. Klucze zostają zaszyfrowane na serwerze.
Źródłem mogą być pliki, lista linków albo cała strona WWW. Baza „rolling” zawsze korzysta z aktualnej treści, a baza „strict” pracuje na zamrożonej, opublikowanej wersji. Agent odpowiada ze wskazaniem źródła.
Wgrywasz pliki CSV lub XLSX jako wersjonowane zbiory danych. Na ich podstawie budujesz produkty analityczne, np. rekomendacje produktów kupowanych razem. Agent widzi tylko opublikowaną wersję.
Na diagramie definiujesz typy, np. Kontrahent i Zamówienie, ich właściwości i powiązania. Asystent AI pomaga zbudować model, a każda publikacja tworzy wersję, z której korzystają podłączeni agenci.
Punkt wejścia łączy agenta z kanałem: API albo WebWidget osadzany jednym fragmentem kodu. Każde wejście ma własne limity sesji, adres testowy i status połączenia.
Zadanie łączy opublikowaną aplikację, parametry i wyrażenie cron ze strefą czasową. Harmonogram możesz też opisać zwykłym zdaniem, np. „co poniedziałek o 10:00”, a asystent wypełni formularz. Pominięte terminy łączą się w jedno uruchomienie, a nakładające się wykonania tego samego zadania są pomijane.
Ustawienia dzielą się na cztery obszary: ogólne, dostawców modeli, użytkowników i sekrety. W części ogólnej wybierasz domyślny model i model asystenta, ustawiasz embeddingi i dzielenie dokumentów, limity WebWidgetu i kolejkę zadań w tle oraz lokalne modele ochronne: Prompt Guard, filtr danych osobowych i licznik tokenów.
Moduły w kolejności, w jakiej widzisz je w konsoli: codzienna praca z agentami i aplikacjami, budowanie, źródła danych oraz operacje i ustawienia.
Przy każdej odpowiedzi widać tokeny wejściowe i wyjściowe oraz koszt. Przycisk Agent otwiera podsumowanie tylko do odczytu: dostawcę, model, okno kontekstu, próg kompaktowania, limit rund narzędzi, prompt systemowy i podłączone narzędzia. Użytkownik wie, z jakim agentem rozmawia, a administrator nie musi szukać tego w logach.
Widzisz, który agent i które wejście obsłużyło rozmowę, ile było wiadomości, z ilu baz wiedzy skorzystano i czy zadziałały zabezpieczenia. Sesję z błędem rozwijasz do pojedynczego kroku.
Każde wyszukiwanie w bazie wiedzy i każdy odczytany fragment dokumentu zapisuje się z czasem, sesją i wejściem. Łatwo sprawdzić, na jakiej podstawie powstała odpowiedź.
Dla każdego zadania widać bazę wiedzy, status, liczbę plików źródłowych, przetworzonych fragmentów i dokumentów, użyty model oraz ewentualny błąd.
Przeglądarka, klient HTTP czy dostarczanie do Inbox: każde użycie narzędzia przez agenta zapisuje się pod profilem, z którego pochodzi, razem z argumentami i wynikiem.
Każde uruchomienie ma zapisane parametry wejściowe, wynik z konsoli, czas trwania i status. Dotyczy to uruchomień ręcznych, z harmonogramu i wywołanych przez agenta.
Rejestr każdej oceny: który filtr zadziałał, na jakim kanale i czy treść została przepuszczona, zablokowana albo zamaskowana.
Dostawca, model, tokeny wejściowe, z pamięci podręcznej i wyjściowe, czas odpowiedzi i podgląd treści. Widać też, czy zapytanie przyszło z wejścia, bazy wiedzy czy funkcji hosta.
Rotacje kluczy, odświeżenia baz wiedzy i zmiany limitów widżetu zapisują się z wartością poprzednią, bieżącą i autorem zmiany.
Logi są podzielone na obszary, z filtrami daty, agenta, sesji i statusu. Zużycie tokenów podsumowuje osobno sekcja Budżet.
/dev/kvm)Wymagania podajemy wprost i od razu. Nieudana instalacja to stracony klient; uczciwa lista wymagań wstępnych nie jest.
aamp to jeden plik wykonywalny z lokalną bazą danych, uruchamiany na serwerze Linux. Nie wymaga klastra kontenerów. Kod agentów działa w odizolowanych mikromaszynach, a instalacja i aktualizacje są możliwe offline, z podpisanego pakietu.