Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.
Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.
29 kwietnia 2026 r.
10 min czytania

Gotowe frameworki agentów nie sprawdzają się w sektorze bankowym. Tak, właśnie od tego chciałbym zacząć, i nie, ani bardziej przejrzysta strategia podpowiedzi, ani bardziej restrykcyjna brama API tego nie zmieniają.
Standardowy zestaw składający się z LangChain, narzędzi, bazy danych wektorowej oraz bramy API pozwala na uruchomienie agenta. Może on przekierowywać intencje, pobierać kontekst, wywoływać narzędzia i zwracać dopracowaną odpowiedź. W porządku. Jednak w sektorze bankowym problem nie polega na tym, czy agent “potrafi wywołać API”. Sektor bankowy zawodzi na poziomie: “Czy ta rozmowa została zatwierdzona, objęta zakresem, zweryfikowana, zarejestrowana i czy można ją bezpiecznie pokazać temu klientowi?”. To już zupełnie inny problem związany z architekturą.
Są trzy powody, dla których nie wdrożyłbym standardowego stosu agentów w środowisku produkcyjnym obsługującym procesy bankowe bez dodania dedykowanej warstwy zaufania.
Po pierwsze, dane finansowe to dane dotyczące zobowiązań. Błędna informacja podana przez chatbota w handlu detalicznym jest kłopotliwa. Błędne dane dotyczące salda, statusu transakcji, wyjaśnienia opłat lub decyzji kredytowej mogą narazić firmę na konsekwencje prawne. Zgodnie z Obowiązek FCA wobec konsumentów, Na przykład instytucja musi wykazać, że klienci otrzymują rzetelne, zrozumiałe i odpowiednie wsparcie. Jeśli model zaproponuje nieprawidłową opcję spłaty lub błędnie wyjaśni produkt, nie można wzruszyć ramionami i zrzucić winy na “sztuczną inteligencję”. Bank ponosi odpowiedzialność za wynik. Dlatego architektura musi traktować każde stwierdzenie dotyczące faktów jako coś, co należy zweryfikować w systemie źródłowym.
Po drugie, wielodostępność to nie tylko kwestia wyboru projektu produktu. Jeśli z jednej platformy obsługujesz wielu klientów bankowych, akceptantów, jednostki biznesowe lub regiony, izolacja dzierżawców musi być zapewniona na każdym poziomie: monitach, pamięci, indeksach wektorowych, uprawnieniach narzędzi, logach, kluczach Redis, wierszach bazy danych, sekretach oraz eksportach audytowych. Pojedynczy wyciek między dzierżawcami nie jest zgłoszeniem błędu. Może to być zdarzenie podlegające zgłoszeniu. Dlatego nie lubię architektur, w których agent ma szeroki dostęp, a warstwa aplikacji “pamięta”, aby później filtrować dane. Filtrowanie w późniejszym czasie jest przyczyną wycieków danych.
Po trzecie, model LLM jest najmniej wiarygodnym elementem w całym łańcuchu. Brzmi to surowo, ale to słuszne założenie. Model ma charakter probabilistyczny. Może wykonywać złośliwe polecenia, nadmiernie ufać pobranemu kontekstowi lub ujawnić dane osobowe w podsumowaniu. Może wygenerować wywołanie narzędzia, które wygląda na prawidłowe, dopóki nie sprawdzi się jego parametrów. Dlatego nigdy nie pozwoliłbym, aby model znajdował się bezpośrednio obok podstawowych interfejsów API systemu bankowego.
Bezpieczniejszym podejściem jest pozostawienie wnioskowania modelowi, a egzekwowanie zasad – systemom deterministycznym. Wnioskowanie należy do warstwy agenta. Egzekwowanie należy do walidatorów schematów, kontroli zgodności z polityką, uprawnień w zakresie dzierżawcy, bram zatwierdzających i dzienników audytowych. Po dokonaniu tego podziału architektura przestaje być łańcuchem wywołań API sterowanych modelem i staje się kontrolowanym systemem zaufania, w którym LLM jest traktowany jako użyteczny, ale niewiarygodny komponent wnioskowania.
Pewne ujęcie ułatwia zastosowanie tego podziału. Kiedy przyglądam się agentowi bankowemu, interesuje mnie przede wszystkim to, jak duże uprawnienia posiada i jak daleko te uprawnienia sięgają od osoby, która je przyznała. Możliwości wskazują, jak dobra jest wersja demonstracyjna. Uprawnienia określają, w jakim zakresie system może sprawować kontrolę. Genialny model połączony z narzędziami tylko do odczytu to „cienki asystent”. Nudny model posiadający stały klucz umożliwiający przenoszenie środków stanowi zupełnie inny problem i wymaga wszystkich warstw poniżej. W artykule podzieliłem tę oś uprawnień na cztery klasy — asystenta, koordynatora, operatora i podmiotu gospodarczego — Nie każdy agent jest podmiotem gospodarczym.

Andrew przekłada zdecentralizowane koncepcje na bezpieczne, funkcjonalne narzędzia finansowe. Porusza się po niestabilnym krajobrazie DeFi, aby budować skalowalne infrastruktury blockchain, które odnoszą się do rzeczywistej użyteczności, wykraczając poza modne hasła, aby zapewnić wartość techniczną.
W sektorze bankowym czterowarstwowy model zaufania ułatwia kontrolowanie, audytowanie i zabezpieczanie architektury. Na każdym etapie zmusza on do zadania jednego niewygodnego pytania: co ta część stosu powinna mieć prawo wiedzieć, o czym powinna decydować i do czego powinna mieć dostęp?
Agent bankowy może funkcjonować jak pojedynczy produkt, ale nie powinien działać jak jeden, monolityczny system. Klient nie powinien mieć wglądu w rdzeń systemu bankowego. Agent nie powinien bezpośrednio wywoływać finansowych interfejsów API. Bramka nie powinna działać na własną rękę. Rdzeń systemu bankowego nie powinien ufać żądaniom wygenerowanym przez model tylko dlatego, że pochodzą one z zatwierdzonego kanału.
Oto ścieżka, której spodziewałbym się w konfiguracji produkcyjnej:
Te cztery warstwy powinny być wyraźnie wyznaczone granice między strefami zaufania. Jeśli agent potrzebuje danych dotyczących rachunku, żądanie przechodzi przez bramkę. Jeśli przygotowuje płatność, żądanie przechodzi przez bramkę. Jeśli potrzebuje usług zewnętrznego dostawcy w zakresie KYC, AML, kart lub przeciwdziałania oszustwom, żądanie i tak najpierw przechodzi przez system bankowości podstawowej.
Mając na uwadze tę ścieżkę sterowania, przejdźmy warstwa po warstwie i przyjrzyjmy się, za co powinna odpowiadać każda część, czego nie powinna nigdy dotykać oraz gdzie przekazywanie kontroli wymaga rzeczywistej weryfikacji.
Warstwa kliencka stanowi punkt styku użytkownika z agentem, ale powinna pozostać „cienka”. Aplikacje mobilne, aplikacje internetowe, widżety czatu, interfejsy głosowe i komunikatory nie powinny zawierać logiki bankowej. Ich zadaniem jest przechwycenie żądania, przekazanie tożsamości i kontekstu sesji, wyświetlenie odpowiedzi oraz przekazanie wszelkich danych wrażliwych do warstw niższych.
| Powierzchnia klienta | Typowy stos | Co powinno posiadać |
|---|---|---|
| Aplikacja mobilna | React Native | Interakcja użytkownika, kontekst urządzenia, powiadomienia push |
| Aplikacja internetowa | React | Uwierzytelnione sesje bankowe, stan interfejsu użytkownika, renderowanie odpowiedzi |
| Widżet czatu | Web SDK | Wbudowane procesy obsługi, portale dla sprzedawców, punkty kontaktu z obsługą klienta |
| Messengery | WhatsApp, Telegram, iMessage | Formatowanie i dostarczanie dostosowane do poszczególnych kanałów |
| Głos | WebSocket | Sesje mowy w czasie rzeczywistym i obsługa przerw w mowie |
| Czynniki zewnętrzne | MCP | Kontrolowane punkty dostępu typu „agent-agent” lub „agent-system” |
Ta zasada „cienkiego klienta” kształtuje również strukturę rozwiązań brzegowych. Nadal potrzebne są typowe elementy obwodowe: Cloudflare do filtrowania ruchu, API Gateway do routingu i ograniczania przepustowości oraz warstwa BFF powiązana z Auth0 lub Firebase do obsługi sesji w poszczególnych kanałach. Jednak żadne z tych rozwiązań nie powinno przekształcać klienta w komponent bankowy. Klient komunikuje się z platformą. Nie wie, jak działają konta, płatności, procedury KYC, AML czy karty, i zdecydowanie nie ma bezpośredniego dostępu do tych systemów.
Warstwa koordynacyjna stanowi centrum sterowania systemu agentów. To ona decyduje, czy dane żądanie wymaga szybkiej obsługi, czy też należy zastosować ustaloną procedurę, jaki stan należy przywrócić, jaki kontekst można bezpiecznie udostępnić modelowi oraz czy w ogóle należy przygotować wywołanie narzędzia.
Właśnie w takich sytuacjach warto wcześnie sprawdzić, czy nie ma długu architektonicznego: reguły płatności ukryte w komunikatach, stare wiadomości czatu wykorzystywane do określenia stanu przepływu pracy lub narzędzia widoczne poza bieżącym dzierżawcą, kanałem lub rolą użytkownika. Jeśli coś takiego zauważysz, oznacza to, że projekt już zaczyna się rozbiegać.
Sześć kryteriów pozwala zazwyczaj ocenić, czy architektura jest solidna:
| Komponent | Główne stanowisko pracy | Kontrola w sektorze bankowym |
|---|---|---|
| Agent ds. routingu i dyspozytor | Klasyfikuje żądanie i wybiera ścieżkę agenta | Zapobiega obsłudze regulowanych przepływów pracy przez agenta niskiego poziomu |
| Menedżer rozmów | Zachowuje stan sesji i przebieg pracy | Obsługuje przełączanie kanałów, przywracanie połączeń oraz eskalację do pracownika |
| Menedżer okien kontekstowych | Określa, co model może widzieć | Ogranicza ujawnianie danych osobowych, nieaktualny kontekst oraz nieprecyzyjne polecenia |
| Narzędzie Executor | Wykonuje wywołania narzędzi zgodnie z regułami środowiska uruchomieniowego | Zarządza parametrami, limitami czasu, ponownymi próbami i błędami strukturalnymi |
| Bramka LLM | Żądania dotyczące modelu tras | Stosuje zasady dotyczące najemców, reguły awaryjne oraz limity tokenów |
| Rurociąg „Safeguard” | Sprawdza dane wejściowe i wyjściowe | Zapobiega atakom typu „injection”, wyciekom danych osobowych (PII), nieuzasadnionym roszczeniom oraz naruszeniom zasad polityki |
Router powinien sklasyfikować żądanie, zanim agent zacznie się nad nim zbytnio zastanawiać. Zapytanie o stan karty i proces przygotowania płatności nie powinny przebiegać tą samą ścieżką. Jedno z nich powinno być szybkie i ściśle ograniczone, podczas gdy drugie wymaga planowania, weryfikacji i zatwierdzeń, zanim będzie można przejść dalej.
| Trasa | Wzorzec agenta | Najlepiej sprawdza się dla | Sterowanie główne |
|---|---|---|---|
| PROSTE | SimpleReactAgent | Wyjaśnienie salda, stan karty, często zadawane pytania, przegląd ostatnich transakcji | Krótki kontekst, ograniczone narzędzia, małe opóźnienie |
| DEEP | DeepAgent | Ocena ryzyka ubezpieczeniowego, spory, działania naprawcze w zakresie KYC, przygotowywanie płatności | Planowanie wieloetapowe, stan, rozgałęzienia, przerwy na zatwierdzenie |
Wpływ opóźnień ma znaczenie. Jeśli każde żądanie przechodzi przez DeepAgent, produkt wydaje się powolny i kosztowny. Jeśli wszystko przechodzi przez SimpleReactAgent, system staje się ryzykowny, gdy użytkownik zleca zadanie związane z danymi podlegającymi regulacjom lub operacją finansową. Router pozwala dostrzec ten kompromis.
Menedżer rozmów zapewnia ciągłość obsługi sprawy niezależnie od sesji, urządzeń i ścieżek eskalacji. Użytkownicy usług bankowych nie zawsze kończą załatwianie sprawy w ramach jednej rozmowy: mogą rozpocząć ją na urządzeniu mobilnym, kontynuować w przeglądarce internetowej, później przesłać dokumenty lub skontaktować się z operatorem.
| Warstwa stanowa | Przechowywanie | Co zawiera |
|---|---|---|
| Stan gorący | Redis | Bieżący cykl, krótkotrwały kontekst sesji, tymczasowe wyniki narzędzi, stan kanału |
| Stan zimny | Tworzenie punktów kontrolnych w PostgreSQL + LangGraph | Etap procesu, wcześniejsze decyzje, zatwierdzenia, nieudane kontrole, punkty przywracania |
| Stan eskalacji | Pakiet transferowy o ustalonej strukturze | Cel użytkownika, zakończone kontrole, istniejące zagrożenia, wykorzystane narzędzia, kolejne przewidywane działanie |
Pomocne są tu punkty kontrolne LangGraph, ponieważ przepływ pracy nie musi być ściśle powiązany z treścią rozmowy. Można go wstrzymać, wznowić, rozgałęzić lub przywrócić do znanego stanu. A jeśli sprawa trafi do operatora, powinien on otrzymać ją w aktualnym stanie: co zostało sprawdzone, co się nie powiodło, co jest w toku i co powinno nastąpić dalej.
Menedżer okien kontekstowych decyduje o tym, jakie informacje są udostępniane modelowi. W sektorze bankowym wybór ten wpływa na zakres udostępniania danych, jakość odpowiedzi oraz możliwość audytu. Model potrzebuje wystarczającego kontekstu, aby udzielać trafnych odpowiedzi, ale nie powinien otrzymywać każdej starej wiadomości, każdego pobranego dokumentu ani każdej surowej wartości dotyczącej klienta.
| Mechanizm | Jak to działa | Dlaczego ma to znaczenie |
|---|---|---|
| Okno przesuwne | Zapewnia dostępność najnowszych wyników | Utrzymuje płynność krótkotrwałej rozmowy |
| Podsumowanie semantyczne | Kompresuje starsze wiadomości do postaci uporządkowanego zapisu | Pozwala zachować historię w użytecznej formie, nie zaśmiecając wiersza poleceń |
| Pobieranie wektorów | Wyodrębnia odpowiednie fragmenty dotyczące polityki, produktów lub dokumentów | Ogranicza nieistotny kontekst |
| Uporządkowany dziennik działań | Rejestruje zgłoszenia, zatwierdzenia, odmowy oraz odpowiedzi od nadawców | Zapewnia modelowi przejrzysty obraz przebiegu zdarzeń, ułatwiający przeprowadzenie audytu |
Zwróciłbym szczególną uwagę na uporządkowany dziennik działań. Historia czatu jest chaotyczna, ponieważ zawiera poprawki użytkowników, niekompletne odpowiedzi, porzucone ścieżki oraz nieaktualne założenia. Model powinien opierać się na ścieżce działań, gdy musi ustalić, co faktycznie wykonał system.
W modułach wykonawczych narzędzi zamysł modelu przekształca się w wywołanie systemowe. Agent może zaproponować wywołanie narzędzia, ale to moduł wykonawczy kontroluje przebieg wykonania.
| Kontrola czasu działania | Oczekiwane zachowanie |
|---|---|
| Środowisko izolowane | Wykonanie narzędzia odbywa się w izolowanym kontekście |
| Przerwy na żądanie | Długotrwałe wywołania kończą się niepowodzeniem bez zakłócania przebiegu pracy |
| Wprowadzanie kontekstu | user_id, tenant_id, chat_id oraz correlation_id pochodzą z platformy |
| Weryfikacja Zod | Przed wykonaniem sprawdzane są dane wejściowe |
| Błędy strukturalne | Błędy zwracają przyczyny w formacie nadającym się do odczytu maszynowego |
| Zasady ponownego próbowania | W przypadku tymczasowych błędów można wykonać ponowną próbę; nie jest to możliwe w przypadku niedozwolonych lub nieprawidłowych wywołań |
Warto zwrócić uwagę na pola identyfikacyjne. Model nie powinien udostępniać wartości user_id, tenant_id ani correlation_id. Wartości te powinny pochodzić z kontekstu uwierzytelnionej platformy. W przeciwnym razie model może wpływać na granice dostępu, a właśnie tego ta architektura stara się uniknąć.
Bramka LLM pozwala na scentralizowane zarządzanie dostępem do modeli. Bez niego logika dostawców rozprasza się po usługach, kodzie przepływów pracy i szablonach podpowiedzi. W wielodostępnej platformie bankowej trudno jest to kontrolować.
| Funkcja bramy | Przykładowy element sterujący |
|---|---|
| Kierowanie dostawców | Claude jako opcja podstawowa, GPT-4o jako opcja rezerwowa |
| Zasady dotyczące modelu opartego na liczbie najemców | Jeden moduł pozwala na użycie rozwiązania awaryjnego; inny wymaga konkretnego dostawcy |
| Kierowanie zadań w oparciu o przepływ pracy | W złożonych procesach wykorzystywane są bardziej zaawansowane modele; w rutynowych operacjach stosuje się prostsze modele |
| Budżety tokenów | Limity na najemcę, proces, sesję użytkownika lub turę |
| Zasady przełączania awaryjnego | Rozwiązanie awaryjne uruchamia się tylko wtedy, gdy pozwala na to najemca i zadanie |
Nawet gdy zmieniają się dostawcy, platforma nadal potrzebuje jednego, scentralizowanego miejsca, w którym można ustalić, który model obsługuje dane żądanie, zgodnie z jaką polityką najemcy, w ramach jakiego budżetu oraz z uwzględnieniem jakiego rozwiązania awaryjnego.
Pipeline Safeguard otacza agenta przed i po przeprowadzeniu wnioskowania. W tym przypadku kluczowym aspektem architektury jest synchronizacja: sprawdzanie danych wejściowych musi nastąpić przed opracowaniem planu przez model, a sprawdzanie danych wyjściowych – zanim użytkownik zobaczy odpowiedź lub system zainicjuje działanie.
| Strażnik | Pozycja | Co sprawdza |
|---|---|---|
| Szybkie wykrywanie wstrzyknięć | Dane wejściowe | Próby obejścia instrukcji, ujawnienia ukrytego kontekstu lub niewłaściwego wykorzystania narzędzi |
| Narzędzie do usuwania danych osobowych | Dane wejściowe | Wartości wrażliwe, które nie powinny trafiać do niepotrzebnego kontekstu modelu |
| Straż Lamy | Dane wejściowe | Niebezpieczne, budzące podejrzenia lub niedozwolone treści użytkowników |
| Wykrywanie halucynacji | Wyjście | Niepierwotne salda, identyfikatory transakcji, limity, stawki, statusy lub wyniki weryfikacji tożsamości (KYC) |
| Polityka zgodności Engine | Wyjście | Limity transferów, izolacja między najemcami, blokowanie przez OFAC, progi zatwierdzania |
Agent może sporządzić odpowiedź lub przygotować kolejny krok. Proces decyduje, czy odpowiedź ta może zostać wyświetlona, zablokowana, ponownie wysłana, przekazana do eskalacji czy skierowana do procesu zatwierdzania.
W tym artykule omówię bramkę wyłącznie z perspektywy architektury. Krótko mówiąc: powinna ona przekształcać intencje w postaci modelu w kontrolowane żądanie systemowe. Oznacza to sprawdzanie uprawnień dzierżawcy, weryfikację treści żądania pod kątem zgodności ze schematami, stosowanie reguł zatwierdzania, rejestrowanie działania oraz podejmowanie decyzji, czy żądanie może być realizowane dalej, czy powinno zakończyć się niepowodzeniem, czy też zostać przekazane do rozpatrzenia przez człowieka.
W warstwie 4 znajdują się rzeczywiste systemy bankowe: rachunki, płatności, karty, procedury KYC i AML, ochrona przed oszustwami, usługi księgowe oraz dostawcy zewnętrzni. W wielu wdrożeniach warstwa ta już istnieje, często w postaci mikrousług Spring Boot lub istniejącej infrastruktury API systemu bankowości podstawowej.
Platforma AI nie powinna modyfikować tej warstwy. Powinna się z nią integrować. To rozdzielenie ma znaczenie, ponieważ zapewnia przenośność agenta. Jeśli bank zmieni dostawcę usług KYC, wprowadzi nowego dostawcę rozwiązań do wykrywania oszustw lub przejdzie z jednego systemu bankowości podstawowej na inny, warstwa AI nie powinna wymagać całkowitej przebudowy. Brama i interfejsy API systemu podstawowego przejmują tę złożoność.
Unikałbym również sytuacji, w której agent kontaktowałby się bezpośrednio z zewnętrznymi dostawcami. Jeśli weryfikacja AML, wydawanie kart, kierowanie płatności lub kontrole KYC odbywają się poza głównymi usługami bankowymi, agent powinien przestrzegać tej granicy. Główne usługi bankowe pozostają źródłem realizacji transakcji i prowadzenia ewidencji. Agent pozostaje kontrolowanym użytkownikiem zatwierdzonych funkcji.
Zadbajmy o to, by były wystarczająco bezpieczne do wykorzystania w rzeczywistych procesach finansowych.
Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.