Mit serverless, że „płacisz tylko za milisekundy, w których działa Twój kod”, rozpada się, gdy próbujesz uruchomić agenta AI na AWS Lambda. W praktyce największymi pozycjami w rachunku nie są opłaty za moc obliczeniową Lambda, lecz opóźnienia związane z zimnym startem (cold-start), pętle ponowień (retry loops) oraz zużycie tokenów generowane przez te pętle.
Dlaczego typowe wyobrażenie o serverless wprowadza w błąd w przypadku agentów AI
Większość programistów traktuje funkcję Lambda jak czystą piaskownicę obliczeniową: utrzymuje szybki handler, ustawia umiarkowaną ilość pamięci i obserwuje, jak rachunek pozostaje na stałym poziomie. To sprawdza się przy prostych punktach końcowych HTTP, ale agent, który wywołuje model językowy, ocenia odpowiedź i ewentualnie powtarza cały cykl, nie przekłada się jeden do jednego na pojedyncze wywołanie Lambda. Wewnętrzny workflow agenta mnoży liczbę wywołań modelu, a każde dodatkowe wywołanie generuje koszt tokenów, który może przyćmić opłaty za moc obliczeniową.
Zimne starty to ukryty koszt
Gdy kontener Lambda jest po raz pierwszy uruchamiany, musi rozpakować pakiet wdrożeniowy. Agent w tym przypadku pobiera duży zestaw bibliotek Python, więc obraz może być znacznej wielkości. Usunięcie narzędzi służących wyłącznie do deweloperki — takich jak biblioteka do automatyzacji przeglądarki używana tylko do testów lokalnych — zmniejsza rozmiar obrazu, co z kolei skraca czas rozpakowywania. Mniejszy pakiet oznacza, że funkcja szybciej jest gotowa do obsłużenia żądania, co redukuje czas oczekiwania na rozgrzanie kontenera.
Drugim mechanizmem jest miejsce, w którym znajduje się kod inicjalizacyjny. Konstruując graf agenta w momencie importu modułu, ciężkie operacje wykonuje się raz na start kontenera, a nie przy każdym żądaniu. W przypadku „ciepłych” wywołań (warm invocations) ten proces jest całkowicie pomijany. Kosztem jest nieco dłuższy zimny start, ale zyskiem jest niemal zerowy czas konfiguracji na żądanie po rozgrzaniu kontenera.
Pamięć jako regulator opóźnień
W Lambda ilość przydzielonej pamięci określa również udział procesora (CPU), jaki otrzymuje funkcja. Ustawienie funkcji na 1 GB pamięci zapewnia jej pełne wirtualne rdzenie CPU. Dodatkowa moc CPU przyspiesza import bibliotek i tworzenie grafu agenta, skracając zarówno opóźnienia zimnego startu, jak i czasu rozgrzewania.
Koszt pętli: ponowienia mnożą zużycie tokenów
Agent działa w pętli pracownik-ewaluator (worker-evaluator). Pracownik generuje odpowiedź, ewaluator ją sprawdza, a jeśli ewaluator zgłosi błąd, zadanie wraca do pracownika. Pętla może powtarzać się nawet pięć razy, zanim zostanie przerwana. Oznacza to, że pojedyncze żądanie zewnętrzne może wywołać:
- do pięciu wywołań modelu pracownika
- do pięciu wywołań modelu ewaluatora
- dowolną liczbę wywołań narzędzi, na które zdecyduje się agent
Rachunek za Lambda pozostaje przewidywalny, ponieważ AWS nalicza opłaty za milisekundy wykonania, ale koszt tokenów może gwałtownie się zmieniać w zależności od tego, ile ponowień jest wymaganych.
Pułapka timeoutu: API Gateway vs. Lambda
API Gateway narzuca sztywny limit 29 sekund na żądanie HTTP, któremu służy. Pętla agenta składająca się z pięciu kroków może łatwo przekroczyć ten limit, nawet jeśli sama funkcja Lambda jest skonfigurowana na pięciominutowy czas wykonania. Ominięcie API Gateway za pomocą Lambda Function URLs usuwa limit 29 sekund, pozwalając funkcji dokończyć pętlę bez przerwania działania.
Na co programiści powinni zaplanować budżet
Lekcja jest prosta: planowanie budżetu dla agenta AI w modelu serverless wymaga czegoś więcej niż tylko zsumowania milisekund czasu pracy Lambda. Należy uwzględnić:
- rozmiar pakietu wdrożeniowego i wynikające z niego opóźnienia zimnego startu
- ustawienie pamięci, które determinuje moc CPU, a tym samym szybkość importu
- oczekiwaną liczbę ponowień w pętli pracownik-ewaluator, co bezpośrednio wpływa na zużycie tokenów
- wybór front-endu (API Gateway vs. Function URL), aby uniknąć przedwczesnych timeoutów
Zignorowanie którejkolwiek z tych zmiennych może skutkować rachunkiem, który w niczym nie przypomina tego prognozowanego.
