Artykuł 8 z serii Anatomia Agenta AI NLWeb — jak sprawić żeby Twoja strona odpowiadała agentom


Agent w środowisku testowym kosztował centa za rozmowę. Po trzech tygodniach w produkcji rachunek za API to 800 dolarów miesięcznie.

To nie jest scenariusz z sufitu. To jest pattern który powtarza się regularnie — i prawie zawsze z tego samego powodu: agent w testach był używany przez dewelopera z krótkimi, precyzyjnymi zapytaniami. Agent w produkcji jest używany przez prawdziwych użytkowników z długimi rozmowami, powtarzającymi się pytaniami i tendencją do wchodzenia w niespodziewane ścieżki.

Koszty agentów są przewidywalne. Ale tylko jeśli je mierzysz i rozumiesz z czego wynikają.

Jak liczyć koszty — konkretny przykład

Token cost to iloczyn trzech zmiennych: rozmiar kontekstu wejściowego, długość generowanego outputu i cena modelu za milion tokenów.

Przykład: agent obsługi klienta na Claude Sonnet 4 (maj 2026: $3/1M input, $15/1M output).

Konwersacja:

  • System prompt: 1 500 tokenów
  • Historia rozmowy: 2 000 tokenów (5 wymian)
  • Wyniki narzędzi: 1 500 tokenów
  • Kontekst wejściowy łącznie: 5 000 tokenów
  • Odpowiedź agenta: 400 tokenów

Koszt jednej konwersacji:

Input:  5 000 × $3/1M  = $0.015
Output:   400 × $15/1M = $0.006
Łącznie:                $0.021

Dwa centy za rozmowę. Tysiąc rozmów dziennie = $21/dzień = $630/miesiąc.

To jest obliczenie przy krótkich rozmowach. Teraz dodaj długą rozmowę: użytkownik wymienia 20 wiadomości zamiast 5, historia rośnie do 8 000 tokenów, wyniki narzędzi się kumulują — kontekst wejściowy rośnie do 12 000 tokenów. Koszt jednej takiej rozmowy: $0.042. Dwa razy więcej.

Jeśli 20% Twoich użytkowników prowadzi długie rozmowy — realny koszt jest 20-40% wyższy niż testowy.

Context window bloat — główny winowajca

Najczęstsza przyczyna wysokich kosztów w produkcji: kontekst który rośnie bez kontroli.

Winowajca 1: Za długi system prompt.

System prompt który zawiera całą dokumentację firmy, wszystkie edge cases które kiedykolwiek się zdarzyły i wszystkie procedury — jest za długi. Każde wywołanie agenta płaci za te tokeny, nawet gdy są nieistotne dla aktualnego zadania.

Dobry system prompt jest zwięzły i precyzyjny. Szczegółowa wiedza domenowa żyje w bazie RAG — agent pobiera ją gdy potrzebuje, nie trzyma w kontekście permanentnie.

Winowajca 2: Surowe wyniki narzędzi.

Narzędzie zwraca pełny obiekt JSON z API:

json
{
  "order_id": "12345",
  "customer_id": "67890",
  "items": [...],  // 50 pozycji
  "shipping_address": {...},
  "billing_address": {...},
  "payment_method": {...},
  "internal_notes": "...",
  "audit_log": [...],  // 200 wpisów
  "status": "shipped",
  "tracking_number": "PL123456789"
}

Użytkownik pytał o status zamówienia. Agent potrzebuje: status, tracking_number. Reszta to szum który kosztuje tokeny.

Rozwiązanie: wrapper narzędzia który ekstrahuje tylko relevantne pola zanim przekaże do modelu. Wynik 2 pola zamiast 500 tokenów pełnego obiektu.

Winowajca 3: Historia konwersacji bez kompresji.

Każda runda rozmowy dołącza do historii. Po 10 rundach kontekst jest duży. Po 30 — ogromny.

Rozwiązanie: rolling summary. Co N rund — agent podsumowuje starszą część historii jednym akapitem i usuwa szczegóły. Kontekst zostaje stabilny mimo rosnącej rozmowy.

Model routing — tańszy model dla prostszych zadań

Nie każde wywołanie agenta wymaga Sonnet 4. Rozkład zapytań w typowym agencie obsługi klienta:

  • 60%: proste sprawdzenia statusu → Claude Haiku (10x tańszy od Sonnet)
  • 30%: standardowe zapytania → Claude Sonnet
  • 10%: złożone analizy, reklamacje → Claude Sonnet lub Opus

Model routing to prosta klasyfikacja przed wywołaniem: oceń złożoność zapytania, wyślij do właściwego modelu.

Implementacja w n8n: węzeł klasyfikacji (tani model z pytaniem „oceń złożoność: proste/średnie/złożone”), potem switch node który kieruje do odpowiedniego modelu.

Implementacja w kodzie:

python
def route_to_model(query: str) -> str:
    # Prosta heurystyka bez dodatkowego wywołania modelu
    simple_patterns = [
        "status zamówienia", "gdzie moja paczka", 
        "kiedy dotrze", "numer śledzenia"
    ]
    
    if any(p in query.lower() for p in simple_patterns):
        return "claude-haiku-4"
    
    complex_patterns = [
        "reklamacja", "prawnik", "odszkodowanie", 
        "zrezygnuję", "umowa"
    ]
    
    if any(p in query.lower() for p in complex_patterns):
        return "claude-sonnet-4"  # lub opus dla krytycznych
    
    return "claude-haiku-4"  # default: tańszy model

Oszczędność: 40-60% kosztów przy minimalnej degradacji jakości dla prostych zapytań.

Prompt caching — 90% redukcja kosztów input

Anthropic, OpenAI i Google oferują prompt caching — gdy ta sama treść pojawia się na początku kontekstu wielokrotnie, jest cachowana i opłata za jej przetworzenie jest radykalnie niższa.

Dla Claude: tokeny cache write kosztują 25% standardowej ceny, tokeny cache read kosztują 10% standardowej ceny.

Praktycznie: Twój system prompt (1 500 tokenów) jest identyczny w każdym wywołaniu agenta. Bez cachowania — płacisz za 1 500 tokenów input przy każdym wywołaniu. Z cachowaniem — płacisz za cache write raz, potem 10% tej ceny przy kolejnych wywołaniach.

Dla agenta z 1 000 wywołań dziennie i system promptem 2 000 tokenów:

Bez cache: 1000 × 2000 × $3/1M = $6/dzień
Z cache:   1 × 2000 × $0.75/1M + 999 × 2000 × $0.30/1M
         = $0.0015 + $0.60 = $0.60/dzień

90% redukcji kosztów za system prompt. W skali miesiąca: $180 zamiast $180.

Implementacja: oznacz prefix system promptu jako cacheable (jeden parametr w API call dla Claude). Treść musi być identyczna między wywołaniami — żadnych dynamicznie wstawianych elementów w cachowanej części.

Latency — kiedy czas ma znaczenie

Latency agentowa to suma: czas modelu + czas narzędzi + czas retrieval + overhead orchestracji.

Dwa różne typy agentów mają fundamentalnie różne wymagania:

Synchroniczny (odpowiedź teraz): chatbot obsługi klienta, asystent w czasie rzeczywistym. Limit UX: 3-5 sekund. Przekroczenie = użytkownik myśli że coś się zawiesiło.

Asynchroniczny (wynik kiedy gotowy): analiza raportu, przygotowanie propozycji, research. Limit UX: minuty lub godziny. Użytkownik dostaje powiadomienie gdy gotowe.

Dla synchronicznych — trzy strategie redukcji latency:

Równoległe wywołania narzędzi. Zamiast:

Sprawdź zamówienie → poczekaj → sprawdź status dostawy → poczekaj → odpowiedz

Zrób:

Sprawdź zamówienie i status dostawy jednocześnie → poczekaj → odpowiedz

Oszczędność: 30-60% czasu dla niezależnych wywołań.

Streaming odpowiedzi. Zamiast czekać aż agent wygeneruje pełną odpowiedź — streamuj tokeny do interfejsu użytkownika od razu. Użytkownik widzi jak odpowiedź się pojawia. Całkowity czas jest taki sam — postrzegany czas jest radykalnie krótszy.

Mniejszy model tam gdzie możliwe. Claude Haiku odpowiada 3-5x szybciej niż Sonnet. Dla prostych zapytań routing do Haiku zmniejsza latency i koszty jednocześnie.

Obserwowalność agentów — co mierzysz, to kontrolujesz

Agent observability to monitoring który sprawia że agent w produkcji nie jest czarną skrzynką.

Pięć metryk które musisz mieć:

Token cost per conversation — nie per call. Agent może mieć 10 wywołań modelu w jednej konwersacji. Metryka per call ukrywa to. Metryka per conversation pokazuje realne koszty. Alarm gdy rośnie bez wyraźnego powodu.

Latency p95 — nie średnia. Średnia latency 2 sekundy jest akceptowalna. Ale jeśli 5% konwersacji trwa 20 sekund — Twoi użytkownicy to czują. p95 (95 percentyl) pokazuje ile trwa dla najwolniejszych konwersacji.

Tool call success rate — jaki procent wywołań narzędzi kończy się sukcesem. Spadek poniżej 95% to sygnał: narzędzie ma problemy, API zewnętrzne jest niestabilne, lub agent wywołuje narzędzia z błędnymi parametrami.

Conversation length distribution — histogram długości konwersacji. Ogon rozkładu (bardzo długie konwersacje) jest często źródłem nieproporcjonalnie wysokich kosztów. Jeśli 2% konwersacji jest 10x dłuższych niż średnia — to te 2% generuje dużą część rachunku.

Error rate — procent konwersacji które kończą się błędem lub eskalacją do człowieka. Trend rosnący = coś się pogorszyło (update modelu, zmiana w danych wejściowych, nowy typ zapytań).

Narzędzia

LangSmith — jeśli budujesz na LangChain/LangGraph, to naturalne centrum. Tracing każdego kroku, ewaluacja jakości, dashboard kosztów.

Anthropic Console — wbudowany tracing dla agentów na Claude API. Dobry punkt startowy bez dodatkowej konfiguracji.

OpenTelemetry + dowolny backend — emerging standard dla agentów AI. Strukturalne logi z krokami agent loop w formacie który wchodzi w Datadog, Grafana, New Relic.

n8n execution log — jeśli budujesz w n8n, masz wbudowany log każdego wykonania z czasami każdego node’a i wynikami. Wystarczy na start.

Jeden ważny szczegół: PII scrubbing w logach. Logi konwersacji mogą zawierać dane osobowe użytkowników. Konfiguracja automatycznego redagowania (imiona, emaile, numery zamówień) jest obowiązkowa jeśli przetwarza dane osobowe — to wymóg GDPR, nie opcja.

Kalkulator na start

Zanim wdrożysz agenta do produkcji — oblicz scenariusz:

Szacowane wywołania dziennie: _____
Średni kontekst wejściowy (tokeny): _____
Średnia długość odpowiedzi (tokeny): _____
Model: _____ (cena input/output per 1M)

Koszt/dzień = wywołania × (kontekst × cena_input + output × cena_output) / 1 000 000
Koszt/miesiąc = koszt/dzień × 30

Wariant pesymistyczny: pomnóż × 3 (długie konwersacje, pętle, edge cases)

Jeśli wariant pesymistyczny jest akceptowalny — wdrażaj. Jeśli nie — zanim wdrożysz, zaimplementuj model routing i prompt caching.


W następnym artykule serii: budujesz agenta, wiesz ile kosztuje, zabezpieczasz go — jak wiesz że robi to co powinien? Ewaluacja agentów, LLM-as-judge i CI/CD dla systemów agentowych.


Pojęcia ze słownika: Token cost · Latency agentowa · Agent observability · Agent loop · Model distillation · Hallucination detection

Spis treści

Google Antigravity 2.0 — opis narzędzia

Google Antigravity 2.0 — opis narzędzia

Platforma Google do orkiestrowania wielu agentów AI — ogłoszona na Google I/O 19 maja 2026. Antigravity 1.0 (listopad 2025) był IDE konkurującym z Cursor. Antigravity 2.0 wyszedł z tej kategorii — to nie jest narzędzie do pisania kodu z pomocą AI, to platforma do...