Multi-tenancy to prawdziwy problem platform agentowych
Większość demonstracji agentów działa, ponieważ obsługuje tylko jednego użytkownika.
Jeden użytkownik oznacza jeden magazyn pamięci, jeden zestaw narzędzi i jedną ścieżkę sukcesu (happy path). Nie ma czego oddzielać.
Kiedy zmieniasz demo w platformę, najtrudniejszą częścią nie są prompty. Najtrudniejsza jest izolacja.
Czy każde zapytanie do bazy danych, klucz cache, strumień, wywołanie narzędzia i wyszukiwanie w pamięci potrafi udowodnić, do którego najemcy należy? Jeśli choć jedno tego nie potrafi, masz wyciek, który tylko czeka, by wystąpić.
Wiele zespołów skupia się na wyborze modelu lub jakości pamięci. Zapominają zapytać, czy dane i koszty jednego najemcy pozostają odizolowane od drugiego.
Izolacja to nie zadanie, które dodaje się na końcu. To fundament Twojej platformy.
Aby zbudować prawdziwą platformę agentową, zadbaj o następujące mechanizmy:
- Typizowany kontekst żądania przekazywany do grafu.
- Dostęp ograniczony zakresem na każdej granicy.
- Testy, które wykrywają wycieki danych między najemcami, zanim staną się incydentami.
Agent dla jednego użytkownika może wyglądać imponująco, ignorując przy tym kwestie bezpieczeństwa. Może wywołać narzędzie wyszukiwania bez filtra najemcy lub przechowywać historię pod prostym identyfikatorem. To działa w wersji demo, ale zawodzi w przypadku platformy.
W platformie agent musi zachować granice na każdym etapie. Jeśli agent porzuci tę granicę, może udzielić idealnej odpowiedzi niewłaściwej osobie. To jest porażka.
Każda operacja dotykająca danych, narzędzi lub pamięci musi być ograniczona do konkretnego najemcy, zanim model podejmie działanie. To standardowe bezpieczeństwo backendowe zastosowane do środowiska uruchomieniowego agenta (agent runtime).
Praktyczne kroki dla Twojej architektury:
- Używaj pojedynczego obiektu
RequestContextzamiast luźnych parametrów. - Zapewnij, aby każda granica albo akceptowała kontekst, albo zgłaszała błąd.
- Filtruj katalogi narzędzi, zanim model uzyska do nich dostęp.
- Stosuj filtrowanie wektorowe jako obowiązkową część autoryzacji.
- Upewnij się, że ślady (traces) i logi używają nieprzejrzystych (opaque) tagów najemców zamiast wrażliwych danych.
Nie proś modelu, aby pamiętał o najemcy za Ciebie. Model może wnioskować na podstawie danych, ale nigdy nie powinien decydować o tym, kto jest ich właścicielem.
Zbuduj ścieżkę z ograniczonym zakresem tak, aby była najłatwiejszą ścieżką. Jeśli zbudujesz platformę w oparciu o model dla jednego użytkownika, czeka Cię całkowite przepisanie systemu w dniu, w którym dołączy Twoja pierwsza prawdziwa organizacja.
Zacznij od prześledzenia jednego przepływu agenta. Podążaj za kontekstem najemcy od żądania HTTP aż po końcowe wywołanie narzędzia. Zmapuj każde miejsce, w którym ten kontekst jest kopiowany lub gubiony. To właśnie w tym mapowaniu kryje się Twoje realne ryzyko.
Source: https://dev.to/luffy_14/multi-tenancy-is-the-real-agent-platform-problem-1dh2
Optional learning community: https://t.me/GyaanSetuAi
