Strona główna / Artykuły

Projektowanie procesu płatności opartego na agentach: upoważnienia delegowane, przestarzałe kosztorysy, ponawianie prób.

Przewodnik projektowania systemu dla zakupów zarządzanych przez agenty: wymagania, przestarzałe oferty, klucze idempotencji, które zawodzą, główny sprzedawca, ślady audytu oraz przewodnik oceniania.

Wydawca: REACTAPP.TOP8 min czytania1940 słów

Źródła: Design an Agentic Checkout: 2026 System Design Question With No Template Yet

Kiedyś projektowanie systemu płatności było prostym tematem na rozmowę kwalifikacyjną, ponieważ rozwiązanie referencyjne było powszechnie dostępne, a kompetentny kandydat mógł je odtworzyć w ciągu dwudziestu minut. Obecna wersja wprowadza agenta oprogramowania pomiędzy kupującym a sprzedawcą, przez co prawie każde założenie zawarte w tym rozwiązaniu przestaje być aktualne. Nie istnieje żaden kanoniczny artykuł do zapamiętania na ten temat, i to właśnie dlatego pytanie to jest ciągle zadawane.

Dlaczego się pojawiło

W krótkim czasie doszło do trzech ważnych zmian.

Po pierwsze, powstał otwarty standard. Agentic Commerce Protocol, współtworzony przez OpenAI i Stripe, określa, w jaki sposób kupujący, ich agenci, sprzedawcy oraz procesory płatności ze sobą komunikują się. Jego istotą jest wspólny token płatniczy: agent może zakończyć zakup bez konieczności patrzenia na dane karty, a sprzedawca zachowuje rolę oficjalnego sprzedawcy.

Za drugie, konkurencyjny projekt. Protokół płatności Agent Payments firmy Google traktuje uprawnienia jako podpisane polecenia, przenoszone w formie tokenów JWT o selektywnej dostępności. Jedno polecenie potwierdza, że użytkownik zatwierdził zakup, a drugie – zatwierdzenie płatności; każde z nich może być otwarte, z wcześniejszym zapisaniem ograniczeń, lub zamknięte, powiązane z jedną ostateczną koszykiem zakupów.

Za trzecie, badania bezpieczeństwa rozwijały się szybko. Systematyczne badanie AP2 wymienia 48 odrębnych zagrożeń podzielonych na pięć grup, z których osiem ma wysoki stopień poważności; wszystkie zostały sprawdzone w rzeczywistym środowisku testowym, a nie tylko opisane. Dla rozmówcy jest to idealny materiał, ponieważ sposoby awarii są rzeczywiste i konkretne, a nie potrzeba żadnych sztuczek, by nadać pytaniu głębi.

Zapytanie w jego obecnej formie

Sformułowanie się różni, ale wymagania są zawsze zbliżone do tych:

  1. Klient prosi asystenta o zakup czegoś, mogąc określić takie ograniczenia jak maksymalna cena lub termin dostawy.
  2. Agent sprawdza kilku sprzedawców, rozważa dostępne opcje i wybiera jednego.
  3. Płatność zostaje przeprowadzona, przy czym agent nigdy nie ma dostępu do surowych danych karty.
  4. Klient może sprawdzić, co zostało zatwierdzone, a spory można rozwiązać później.
  5. Żaden zakup nie jest powielany ani realizowany poza tym, na co klient faktycznie się zgodził.

Piąty wymóg wymaga ponownego przeczytania, ponieważ wszystko trudne znajduje się właśnie tam. Te pięć zdań stanowi podstawę każdego trudnego podproblemu, a kandydat, który zaczyna od przedstawienia tego porównania, a nie od rysowania schematów, już teraz oddziela się od większości konkurentów. Ćwiczenie z rzeczywistymi zagadnieniami związanymi z infrastrukturą płatności to szybki sposób na opanowanie niezbędnego słownictwa, ponieważ kwestie takie jak księgowość, idempotencja i rozliczenia pojawiają się tutaj w formie związanej z mechanizmami agentowymi.

Pierwszy problem: upoważnienie delegowane

Kupujący nie jest obecny w momencie zakupu, więc coś musi zastąpić jego zgodę.

Słaba odpowiedź przechowuje metodę płatności w bazie danych, aby agent mógł ją wykorzystać po tym, jak użytkownik się zgodzi. To sprawia problemy, ponieważ zgoda o godzinie 10:00 na zakup mielarki do kawy o wadze poniżej 80 funtów nie obejmuje kosztu produktu wybranego przez agenta o godzinie 10:04. W tym lukowym obszarze mogą znajdować się modele, serie narzędzi lub nawet sfałszowane opisy produktów.

Standardy radzą sobie z tym na trzy sposoby:

  • Pozwolenie staje się podpisanym obiektem o określonym zakresie, a nie jedynie przechowywaną kartą identyfikacyjną.
  • Ten obiekt oddziela intencję od realizacji: otwarty mandat określa takie ograniczenia jak górna granica ceny i kategoria, natomiast zamknięty mandat jest powiązany z konkretnym koszykiem zakupowym.
  • Karty płatnicze są zastępowane tokenami ważnymi tylko dla jednego sprzedawcy i jednej transakcji, dzięki czemu skradziony token pozwala kupić tylko jeden produkt raz.

Kluczowe kwestie, które należy podkreślić: ogranicz każdą dotację pod względem kwoty, sprzedawcy, kategorii i daty wygaśnięcia; zażądaj formuły zamkniętej przed przekazaniem jakichkolwiek pieniędzy, aby podpisany dokument odpowiadał dokładnie temu, co zostało zakupione; traktuj mandat jako sam dokument upoważniający, a nie jako narzędzie ułatwiające korzystanie z karty.

Problem drugi: wiążący charakter informacji, albo dlaczego dokładni agenci opierają się na przestarzałych danych

Prawie nikt nie porusza tego tematu bez prośby, a można to zmierzyć.

Dyskretny agent zakupowy przeczytuje wiele ofert przed podjęciem decyzji. Ta oferta, która ostatecznie wygrywa, została przeczytana na początku porównania, co oznacza, że im dokładniejszy jest agent, tym bardziej przestarzałe są jego najlepsze dane.

Symulacja dołączyła do tego wykres. Agent pyta każdego sprzedawcę po kolei, spędzając na każdym od trzech do ośmiu sekund, następnie analizuje wszystko przez pięć do piętnastu sekund i podejmuje decyzję. Ceny i ilości na stanie zmieniają się zgodnie z procesem Poissona, a wynikiem jest prawdopodobieństwo, że wybrana oferta już uległa zmianie w momencie podjęcia decyzji.

Uderzający jest tu określony wzorzec. Przejście od jednego sprzedawcy do dwudziestu powoduje wzrost prawdopodobieństwa podjęcia przestarzałej decyzji o około pięć razy przy każdym stopniu rotacji, więc właśnie to zachowanie, którego oczekują klienci, podważa własne dane wejściowe agenta. Przy dość agresywnym dynamicznym ustalaniu cen, co trzecie dokładne porównanie kończy się ofertą, która już uległa zmianie.

Konsekwencje takiego projektu są konkretne:

  • Ceny ofertowe to obiekty wytwarzane przez serwer, z których każdy ma unikalny identyfikator oraz krótki okres ważności.
  • Ostateczna autoryzacja jest powiązana z haszem uzupełnionego koszyka, co dokładnie zapewnia zamknięty mandat.
  • Podczas realizacji sprzedawca ponownie sprawdza cenę i stan zapasów oraz odrzuca zamówienie w przypadku jakichkolwiek niezgodności, zamiast je cicho realizować.
  • Gdy zmiana narusza ustalone limity, ścieżka odrzucenia przesyła nową wycenę i komunikat z powrotem do klienta.

Kandydaci często zapominają o ostatnim punkcie. Odrzucenie przestarzałego zamówienia to właściwe zachowanie, a bez pętli ponownej wyceny błąd cenowy staje się po prostu błędem niezawodności.

Problem trzeci: próby ponowne i bezużyteczny klucz idempotencji agenta

Klucze idempotencji pojawiają się we wszystkich odpowiedziach, ale w standardowym ustawieniu kryje się pewna pułapka.

Zazwyczaj klient generuje klucz i wysyła ten sam przy ponownej próbie. Agenci to podważają. Gdy odpowiedź znika, agent często nie wysyła identycznego żądania; planuje na nowo, co skutkuje nowym żądaniem z nowym kluczem, a serwer traktuje je jako nową próbę.

To zachowanie zostało bezpośrednio zmodelowane, a nie założone – 5% odpowiedzi ginie po dokonaniu opłaty przy maksymalnie trzech próbach:

  • Gdy agent generuje nowy klucz przy każdej próbie, 4,98% zamówień jest opłacanych dwukrotnie, co daje średnio 1,052 opłaty na zamówienie.
  • Gdy klucz jest generowany na serwerze na podstawie powiązania koszyka, liczba duplikatów spada do 0,00%, a każde zamówienie jest opłacane dokładnie raz.

Symulowane 4,98% pokrywa się z wartością prawdopodobieństwa wynoszącą 5,00%, co ma sens, ponieważ duplikat pojawia się dokładnie wtedy, gdy pierwsza odpowiedź znika.

Wniosek: klucz idempotencji należy tworzyć na podstawie czegoś, co zatwierdził klient, a nie na podstawie czegoś wymyślonego przez osobę wykonującą zapytanie. Hash łączący zamknięty mandat z koszykiem już pełni tę funkcję, więc nie jest potrzebna żadna dodatkowa praca.

Czwarty problem: kto jest oficjalnym sprzedawcą

To pytanie biznesowe udające kwestię systemową, a ono decyduje o modelu danych.

  • Z użyciem wspólnego tokena sprzedawca pozostaje oficjalnym sprzedawcą, dzięki czemu platforma agentów unika odpowiedzialności za rozliczenia, podatki i zwroty pieniędzy.
  • Jeśli natomiast platforma kupuje i odsprzedaje, sytuacja staje się łatwiejsza dla agenta, ale pojawia się cała dziedzina regulowana prawnie.
  • Należy jak najszybciej, w ciągu dwóch minut, sformułować założenie, ponieważ od niego zależą zwroty pieniędzy, podatki i spory.

Piąty problem: możliwość audytu jako wymóg

Jedna z pięciu rodzin zagrożeń w analizie AP2 dotyczy wyłącznie odpowiedzialności, czyli przechowywania dowodów i możliwości audytu. Ludzie to pomijają, a jednak to ona decyduje o tym, czy spór da się rozwiązać po sześciu miesiącach.

Dla każdej transakcji należy niezmienialnie przechowywać:

  • Oba warianty podpisanego mandatu – otwarty i zamknięty.
  • Dokładny hash koszyka, który został zatwierdzony, wraz z jego zawartością.
  • ID oferty wraz z datą jej wydania i terminem ważności.
  • Wersję agenta i modelu, które działały, oraz delegację, na mocy której one działają.
  • Każdą odmowę i jej przyczynę, ponieważ odmowy potwierdzają, że mechanizmy kontroli funkcjonowały prawidłowo.

Szlak odniesienia

Czysta odpowiedź obejmuje cały proces zakupu od początku do końca:

  1. Klient określa cel wraz z ograniczeniami, a platforma wydaje otwarty mandat określony kwotą, kategorią i terminem ważności.
  2. Agent zbiera oferty od potencjalnych sprzedawców, a każdy z nich odpowiada ceną wraz z identyfikatorem i datą ważności.
  3. Agent wybiera jedną z ofert i prosi o ostateczną wersję koszyka, którą sprzedawca podpisuje.
  4. Płatforma tworzy zamknięty mandat powiązany z haszem tego koszyka, sprawdzając go pod kątem ograniczeń określonych w mandacie otwartym.
  5. Dla tego sprzedawcy wydawany jest token płatniczy tylko na tę kwotę.
  6. Sprzedawca ponownie sprawdza cenę i stan zapasów, a następnie dokonuje transakcji przy użyciu klucza idempotencji wygenerowanego na podstawie hasza koszyka.
  7. W przypadku niezgodności w szóstym kroku proces wraca do drugiego kroku lub do klienta, jeśli zmiana przekracza jego limity.

Każdy z ośmiu kroków istnieje dlatego, że w przeciwnym razie określone błędy pozostałyby bez ochrony, a powiązanie każdego kroku z odpowiadającym mu błędem to właśnie to, co faktycznie ocenia rozmówca.

Ocena odpowiedzi treningowej

Pozytywna ocena przysługuje odpowiedziom, które:

  • w ciągu dwóch minut przedstawiają model delegacji i następnie się do niego trzymają;
  • rozdzielają otwarte zobowiązania od zamkniętych deklaracji i wyjaśniają, dlaczego oba są potrzebne;
  • wspominają o problemie przestarzałości bez dodatkowego pytania, najlepiej podając przybliżoną wartość;
  • budują zasadę idempotencji na podstawie zatwierdzonego stanu, a nie tego, co dostarcza osoba zadająca pytanie;
  • traktują ślad audytowy jako wymóg, a nie tylko jako zapisywanie informacji.

Ocena jest obniżana w przypadku odpowiedzi, które:

  • przedstawiają agenta jako szybkiego człowieka, podczas gdy większość trudności wynika z różnic między nim a człowiekiem;
  • dają agentowi jakiekolwiek kredencjały wielokrotnego użycia;
  • załóżmy, że ponowna próba to wysłanie tej samej prośby ponownie;
  • zaprojektujmy sytuację odrzucenia bez dalszych kroków;
  • odłóżmy na koniec kwestie związane z odpowiedzialnością i rolą podmiotu prowadzącego rejestrację, mimo że one decydują o modelu danych.

Dlaczego warto przygotować się do tego zadania

Polski przestał być użytecznym wskaźnikiem przy rekrutacji, gdy dostępna stała się bezpłatna, sprytna odpowiedź na każde klasyczne pytanie. Proces płatności oparty na agentach to przykład z dzisiejszych czasów, w którym takiego skrótu brakuje. Protokoły istnieją zaledwie od kilku miesięcy, badania nad zagrożeniami są jeszcze nowsze, a kwestie kompromisów nie zostały do końca rozstrzygnięte.

To sprawia, że system nagradza umiejętność rozumowania w oparciu o rzeczywiście zrozumiane ograniczenia, które już nie są testowane w bankach pytań dotyczących standardów umiejętności. Dobrze opanowanie tej umiejętności przygotowuje również na każde pytanie, które ją zastąpi, ponieważ podstawowa strategia pozostaje niezmienna. Należy zastanowić się, co zmieni się, gdy to, co znajduje się po drugiej stronie API, przestanie być człowiekiem.