Platforma agentów AI on-premise — architektura i kontrola | aamp
Produkt

Warstwa kontroli między agentami a infrastrukturą.

aamp to aplikacja hosta do uruchamiania agentów AI, która zatrzymuje istotne mechanizmy kontroli po stronie hosta. Sekrety zostają na hoście. Egzekwowanie polityk zostaje na hoście. Logowanie i audyt zostają na hoście. Agent dostaje możliwości, host zachowuje władzę.

Warstwy kontroli

Pięć warstw, jedna konsola.

Rozdzielenie jest strukturalne, nie koncepcyjne. Każda warstwa ma własną odpowiedzialność, własne rekordy i własną ścieżkę audytu.

Warstwa 01 · Orkiestracja

Sesje wejściowe, procesy, zadania cykliczne.

Deterministyczna automatyzacja po stronie hosta: wywołania helperów, wywołania capabilities, transformacje, a model wywoływany jako jeden ograniczony krok, a nie element napędzający cały program.

chat · session
An aamp chat session with reasoning trace, tool output, and the read-only agent summary showing runtime, prompt, helpers and knowledge
OrchestrationAktywna sesja ze śladem rozumowania po lewej oraz runtime agenta, promptem, helperami i powiązanymi bazami wiedzy po prawej.
  • Trwała historia sesji wejściowych
  • Harmonogram w stylu cron z historią uruchomień
  • Decyzje modelu jako jawne kroki
Warstwa 02 · Wykonanie

Ograniczone uruchomienia capabilities, zawężone do jednego wywołania.

Każde wywołanie capability to osobny proces z własnymi limitami. Dostęp do systemu plików jest ograniczony do jawnie wskazanych ścieżek odczytu, zapisu i wykonania; proces działa z no_new_privs, filtrowaniem seccomp i ograniczeniami Landlock.

  • Jeden proces na wywołanie
  • Jawne listy dozwolonych ścieżek, nie dostęp domyślny
  • Limity zasobów ustawione przed wywołaniem, nie po
Warstwa 03 · Narzędzia

Helpery zarządzane przez host i kontrolowana dystrybucja umiejętności.

Helpery i umiejętności są katalogowane i podłączane przez host, więc agent otrzymuje kontrakt narzędzia, a nie poświadczenie. To, do czego agent ma dostęp, jest decyzją zapisaną przez Ciebie, a nie czymś, co agent sam odkrywa.

  • Wielokrotnie używane integracje zarządzane przez host
  • Umiejętności instalowane w kontekście agenta
  • Ustrukturyzowane definicje capabilities
Warstwa 04 · Polityki

Filtry sieciowe, ocena firewalli, reguły sandboxa.

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ę.

  • Dwustronne firewalle bezpieczeństwa LLM
  • Ruch wychodzący domyślnie dozwolony lub zablokowany
  • Tymczasowe, zawężone poświadczenia na każde wywołanie
Warstwa 05 · Audyt

Scentralizowane logi i rejestry zużycia.

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.

  • Możliwość odpytywania per zasób
  • Zużycie tokenów per agent, proces i model
  • Wyszukiwanie rejestrowane na poziomie dokumentu
Runtime

Jeden plik binarny Go, bez cgo i bez usług zewnętrznych. Wdrożenie na hoście Linux z /dev/kvm.

Stan

Lokalna baza SQLite z wyszukiwaniem FTS5 w trybie WAL. Kopia zapasowa to jeden plik i dwa katalogi.

Izolacja

Firecracker microVM do zadań ryzykownych — sterowanie przeglądarką, renderowanie dokumentów, indeksowanie RAG.

Modele

Dowolny endpoint zgodny z OpenAI: vLLM, Ollama, LocalAI, TGI lub hostowany dostawca modeli frontier.

Dane

Zbiory danych DataLake na DuckDB i Parquet — wersjonowane, klasyfikowane i odpytywane przez agentów tylko do odczytu.

Nadzór

Trzy role z uprawnieniami per zasób oraz zabezpieczenia wejściowe i wyjściowe na każdym interfejsie.

Audyt

14 domen logów: rozliczenie tokenów, decyzje firewalli, ruch przez proxy i wyszukiwanie na poziomie dokumentów.

01 · Bezpieczeństwo

Sekrety, polityki i audyt zostają na hoście.

Bezpieczeństwo 01

Ocena przed tym, jak zobaczy to agent.

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.

  • Internal — deterministyczny skaner prompt injection oraz lokalnie hostowany klasyfikator Llama Prompt Guard 2. Bez zewnętrznego wywołania inferencji.
  • Generic Judge — Twoja polityka w języku naturalnym, oceniana przez dowolny model zgodny z OpenAI.
  • Llama Guard i ShieldGemma — dla wdrożeń, które już korzystają ze zgodnego modelu bezpieczeństwa.

Klasyfikator wewnętrzny działa w zarządzanym przez platformę sidecarze w Rust: wagi INT8 ONNX przez RTen, wyłącznie CPU z kernelami AVX2 i AVX-512, nakładające się okna powyżej kontekstu 512 tokenów, bez zależności sieciowych w czasie działania. Każda decyzja jest zapisywana wraz z uzasadnieniem, kategoriami, oceną ryzyka i czasem wykonania.

firewalls · new policy
Tworzenie nowego firewalla bezpieczeństwa LLM w aamp — kierunek, typ evaluatora, model, prompt polityki i komunikat odmowy
FirewalleFirewalle bezpieczeństwa LLM na wejściu i wyjściu — wybierz evaluator, napisz prompt polityki, ustaw komunikat odmowy. Każda decyzja jest logowana.
Bezpieczeństwo 02

Pochodzenie danych bez osobnego projektu dokumentacyjnego.

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 trzy role. Admin konfiguruje i administruje. Operator widzi cały system i rozmawia z każdym agentem, ale nie zmienia konfiguracji istotnej dla bezpieczeństwa. Użytkownik ma dostęp tylko do jawnie przypisanych agentów i przyznanych baz wiedzy.

Decyzje są egzekwowane na serwerze dla każdej chronionej trasy, nie przez ukrywanie przycisków. Zmiana uprawnień unieważnia sesje danego użytkownika, ostatniego aktywnego administratora nie można zdegradować ani usunąć, a każda zmiana zapisuje rekord autoryzacji z podmiotem, akcją, celem i wynikiem.

settings · access
Użytkownicy i dostęp w aamp — tworzenie użytkownika, uprawnienia rolowe i bezpośrednie nadania na zasobach
DostępUprawnienia rolowe i bezpośrednie nadania łączone per użytkownik — uprawnienie globalne obejmuje każdy zasób danego typu.
Bezpieczeństwo 03

Wszystko, co wrażliwe, zostaje na hoście.

  • Klucze API dostawców i sekrety integracji zostają na hoście
  • Sekrety szyfrowane w spoczynku, zabezpieczone kluczem głównym
  • Interfejs hosta korzysta z uwierzytelniania sesyjnego i ochrony CSRF przy zmianach z przeglądarki
  • Orkiestracja, decyzje polityk, podłączanie narzędzi i logowanie audytowe dzieją się po stronie hosta
  • Zbiory danych DataLake mają klasyfikację i stają się ograniczonymi narzędziami zapytań tylko do odczytu — bez eksportu surowych danych, bez nieograniczonego SQL
Bezpieczeństwo 04

Uruchomienia capabilities są zamknięte w ramach.

  • Uruchomienia capabilities są ograniczane na każde wywołanie
  • Dostęp do systemu plików ograniczony do jawnych ścieżek odczytu, zapisu i wykonania
  • no_new_privs, brak zrzutów stanu procesu, filtrowanie seccomp, ograniczenia Landlock, limity zasobów
  • Jeden proces na wywołanie
Bezpieczeństwo 05

Jedna droga na zewnątrz i Ty nią rządzisz.

  • Cały ruch sieciowy gościa przechodzi przez proxy kontrolowane przez host
  • Reguły domen w trybie domyślnie-dozwolonym lub domyślnie-zablokowanym
  • host.internal udostępnia tylko trasy, na które wyrazisz zgodę
  • Wywołania capabilities otrzymują tymczasowe, zawężone poświadczenia
Bezpieczeństwo 06

Zredagowane, zanim dotrą do odbiorcy.

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.

  • Deterministyczny pierwszy przebieg z walidacją formatu i sum kontrolnych: e-mail, IBAN, PESEL, US SSN, numery kart weryfikowane algorytmem Luhna, telefon, IPv4
  • Następnie wielojęzyczny klasyfikator tokenów XLM-RoBERTa dla wszystkich 24 języków urzędowych UE — nazwiska, adresy i nazwy organizacji
  • Offline w tym samym sidecarze w Rust — bez dostępu do sieci, sidecar nie loguje treści żądań
  • Albo zleć redakcję semantyczną skonfigurowanemu modelowi, jeśli warunki lokalizacji danych dostawcy Ci odpowiadają

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.

02 · Koszty

Zużycie tokenów i budżety AI pod ścisłą kontrolą.

Agent, który zużywa tokeny za cztery dolary, żeby zaoszczędzić piętnaście minut pracy, nie jest zyskiem produktywności. Koszt na efekt to jedyna uczciwa metryka i pozostaje niewidoczny, dopóki warstwa orkiestracji go nie mierzy.

Koszty 01

Wiedz o tym przed finansami.

Zużycie tokenów logowane per agent, per proces i per model. Wiesz, które zastosowanie jest drogie, wcześniej niż dział finansowy.

Zapytania do DataLake i wywołania Data Products są logowane tak samo, powiązane z wersją i buildem zbioru danych — koszt rekomendacji jest więc równie łatwy do wyśledzenia jak koszt jednej tury czatu.

logs · token spent
Log zużycia tokenów w aamp — tokeny wejściowe, z cache, wyjściowe i suma, w podziale na dostawcę i model
Zużycie tokenówTokeny wejściowe, z cache, wyjściowe i suma dla dowolnego zakresu dat, w podziale na dostawcę i model — z filtrowaniem per agent i per sesja.
Koszty 02

Zostaw modele frontier tam, gdzie się bronią.

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.

Koszty 03

W pętli agentowej giną budżety.

Ogranicz liczbę wywołań modelu na zadanie. Wymuś podsumowanie i zatrzymanie po N turach. To w pętli agentowej giną budżety.

Koszty 04

Ustal limit, nie odkrywaj go na fakturze.

Tokeny rozumowania rozliczane są jak wyjściowe. Ustaw limit per agent, zamiast odkrywać go na fakturze.

03 · Modele

Dowolny model. Lokalnie lub hostowany. Zmiana w jednej linii konfiguracji.

aamp mówi w API zgodnym z OpenAI, więc każdy dostawca, który robi to samo, jest jedno przypisanie dalej. Modele open-weight dorównują dziś zamkniętym modelom frontier w wielu benchmarkach — suwerenność nie kosztuje już utraty możliwości.

Modele 01

Modele przypisujesz per agent, nie globalnie.

Dostawca i model przypisują się do agenta, procesu i capability — nie do 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.

settings · providers
Ustawienia dostawcy w aamp — nazwa, typ zgodny z OpenAI, bazowy URL i klucz API przechowywany na hoście
DostawcyKażdy endpoint zgodny z OpenAI jest dostawcą: nazwa, bazowy URL i klucz przechowywany na hoście. Agenci przypisują się do niego indywidualnie.
Modele 02

Lokalne modele open-weight pełnoprawnie.

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.

agents · llm model
Wybór modelu LLM w aamp — modele open-weight DeepSeek obok hostowanych modeli frontier
Wybór modeluModele open-weight i hostowane frontier są na jednej przeszukiwalnej liście — przełączenie agenta między nimi to jedno pole.
Modele 03

Zaprojektowane z góry, nie improwizowane o drugiej w nocy.

Drugi dostawca to skonfigurowane rozwiązanie awaryjne, a nie incydent, przez który improwizujesz w trakcie awarii.

Elementy platformy

Części składowe bez owijania.

Element 01

Deterministyczna automatyzacja.

Deterministyczna automatyzacja po stronie hosta z wywołaniami helperów, wywołaniami capabilities, transformacjami i opcjonalnymi decyzjami modelu.

agents · agent flow
Kanwa przepływu agenta w aamp — backend LLM, wejścia, agent i helpery połączone ze sobą
ProcesyKonfiguracja runtime jako graf — backend LLM, wejścia, agent i helpery, z każdym połączeniem wskazanym jawnie.
Element 02

Wyszukiwanie po stronie hosta.

Zarządzane przez host wczytywanie i wyszukiwanie dokumentów. Wyszukiwanie odbywa się po stronie hosta, nie w środowisku gościa.

knowledge · new base
Tworzenie bazy wiedzy w aamp z promptami chunkowania i inferencji
Bazy wiedzyDostawca, prompt chunkowania i prompt inferencji ustawiane per korpus — wyszukiwanie działa po stronie hosta.
Element 03

Endpointy czatu z trwałą historią.

Endpointy czatu zgodne z OpenAI, z trwałą historią sesji, przypisaniami modeli i podłączanymi politykami.

Element 04

Integracje zarządzane przez host.

Wielokrotnie używane integracje zarządzane przez host — wyszukiwanie, HTTP, SSH, odczyt stron, automatyzacja przeglądarki, tymczasowy system plików.

Element 05

Kontekst do zainstalowania.

Skatalogowane umiejętności hosta, instalowane w kontekście agenta, część eksportuje ustrukturyzowane definicje capabilities.

Element 06

Ograniczone wykonanie.

Ograniczone wykonanie narzędzi z walidacją schematu argumentów oraz jawną kontrolą ścieżek, sieci i sandboxa.

Element 07

Cron z historią.

Harmonogram w stylu cron dla procesów i promptów agentów, z historią uruchomień.

Element 08

Wersjonowane dane analityczne.

Dane tabelaryczne pod tym samym nadzorem hosta co bazy wiedzy i sekrety. Zbudowane na DuckDB, DuckLake i Parquet: zbiory danych mają slug SQL i historię wgrywania, a każda opublikowana wersja pozostaje możliwa do odpytania.

Na tym opierają się Data Products — na przykład silnik rekomendacji powiązań — podłączane do agenta, żeby mógł je odpytywać w trakcie rozmowy, bez wynoszenia danych z hosta.

datalake · dataset
Zbiór danych DataLake w aamp z zakładkami Przegląd, Podgląd, Wersje, Magazyn i Ustawienia oraz nieopublikowaną wersją oczekującą na wgranie
DataLakeKażdy zbiór danych ma własne wersje, magazyn i ustawienia — wersję trzeba opublikować, żeby agent mógł ją odpytać.

Przeczytaj przewodnik po DataLake →

04 · Obserwowalność

Czternaście domen logów, odpytywanych per zasób.

  • Logi tur agenta i sesji
  • Logi transportu wejściowego
  • Logi wykonania helperów
  • Logi indeksowania i użycia baz wiedzy
  • Logi audytowe capabilities
  • Logi audytowe firewalli
  • Logi uruchomień i kroków procesów
  • Logi proxy i sieci
  • Logi zużycia tokenów
logs · ingress
Logi systemowe w aamp — jedna zakładka na domenę logów, z filtrami daty, agenta, sesji i statusu dla sesji wejściowych
Logi systemoweJedna zakładka na domenę — wejścia, inferencja RAG, indeksowanie RAG, helpery, capabilities, procesy, firewalle, gateway LLM, zużycie tokenów — z filtrowaniem po dacie, agencie, sesji i statusie, aż do pojedynczej linii logu.
05 · Wdrożenie

Host Linux z KVM. Jeden plik binarny, jedna baza.

Jeden plik binarny Go, baza SQLite i lokalny stan plikowy. Zacznij na jednym węźle. Rozwijaj rygor operacyjny bez konieczności wdrażania najpierw rozproszonej warstwy kontroli.

Wymagania
  • Host Linux z KVM (/dev/kvm)
  • Wirtualizacja zagnieżdżona przy instalacji w chmurze prywatnej
  • 32-bajtowy klucz główny do sekretów
Sprawdza się w
  • Dedykowanych serwerach on-premise
  • Chmurze prywatnej z wirtualizacją
  • Odizolowanych środowiskach lab i staging
  • Wewnętrznych środowiskach platformowych, gdzie liczy się lokalizacja danych

Wymagania podajemy wprost i od razu. Nieudana instalacja to stracony klient; uczciwa lista wymagań wstępnych nie jest.

06 · Specyfikacja

Warstwa kontroli w liczbach.

01

Środowisko i wykonanie

Jeden plik binarnyGO Baza lokalnaSQLITE IzolacjaFIRECRACKER Tryb air-gap HostLINUX / KVM
02

Dostęp i sekrety

Sejf sekretówAES-256-GCM HasłaARGON2ID RBAC35 UPRAWNIEŃ Rodziny zasobów9 Klucze po stronie hosta
03

Audyt i zgodność

Logi14 DOMEN TelemetriaZERO RODO EU AI Act NIS2 DORA

Przeczytaj o architekturze.