TL;DR
Koszty tokenów agenta AI rosną, gdy każdy krok wielokrotnie przetwarza instrukcje, historię rozmowy, wyniki narzędzi i stan pośredni.
Zmniejsz wolumen tokenów dzięki budżetom na poziomie przebiegu, filtrowaniu wyników narzędzi, kompaktowaniu kontekstu, limitom ponowień oraz kontrolowanemu rozumowaniu. Używaj buforowania promptów dla stabilnych, powtarzalnych danych wejściowych, ale najpierw zoptymalizuj pętlę agenta, zanim przełączysz się na tańszy model.
Najbardziej użyteczną metryką produkcyjną jest koszt na jedno pomyślnie zrealizowane zadanie, mierzony przez cały przebieg — nie cena za żądanie ani rozmiar kontekstu w ostatnim wywołaniu.
Ten przewodnik koncentruje się wyłącznie na agentach wieloetapowych. Wyjaśnia, jak powtarzany kontekst kumuluje się w trakcie przebiegu, jak zidentyfikować największe źródło marnotrawstwa i które mechanizmy wdrożyć w pierwszej kolejności.
Introduction
Czatbot może wykonać jedno wywołanie modelu na wiadomość użytkownika. Agent AI może wykonać 10, 20 lub więcej wywołań, zanim zakończy jedno zadanie.
Każdy krok może ponownie wysyłać instrukcje, historię rozmowy, wyniki narzędzi i stan pośredni. Ponowienia, rozumowanie i podagenci zwiększają użycie, więc krótka odpowiedź końcowa może i tak zużyć dużą liczbę tokenów.
Wraz ze skalą koszty te stają się trudniejsze do przewidzenia i mogą szybko obniżyć marże produktu. Ich obniżenie wymaga optymalizacji całej pętli agenta — a nie tylko przełączenia się na tańszy model.
Ten artykuł koncentruje się na kosztach specyficznych dla agentów. Szerszy przewodnik obejmujący buforowanie promptów, cache odpowiedzi, cache semantyczny, trasowanie modeli i ogólne zarządzanie kosztami API znajdziesz w How to Reduce AI API Costs.
Why Do AI Agent Token Costs Compound?
W wieloetapowym agencie koszt jednego zadania to suma wszystkich wywołań modelu — nie tylko odpowiedzi końcowej.
Główne źródła zużycia tokenów przez agenta to:
| Cost source | What causes it | First control to test |
|---|---|---|
| Powtarzane instrukcje | Prompty systemowe, schematy narzędzi, polityki, przykłady | Ustabilizuj ponownie używany prefiks |
| Rosnąca historia | Wcześniejsze tury są odsyłane przy każdym kroku | Kompaktuj lub selektywnie pobieraj stan |
| Wyniki narzędzi | Strony wyszukiwania, pliki, logi, rekordy baz danych | Filtruj przed dodaniem do kontekstu |
| Wyjście pośrednie | Plany, komunikaty statusu, rozwlekłe decyzje narzędzi | Używaj zwięzłych, ustrukturyzowanych wyjść |
| Tokeny rozumowania | Wysoki wysiłek rozumowania przy rutynowych krokach | Dopasuj wysiłek do złożoności zadania |
| Ponowienia | Nieprawidłowe wyjście, timeouty, błędy narzędzi, limity | Klasyfikuj błędy i limituj ponowienia |
| Podagenci | Pracownicy dublują kontekst, narzędzia i analizę | Wysyłaj wąski wycinek kontekstu do każdego |
Istnieją dwa odmienne sposoby na obniżenie rachunku:
- Przetwarzaj mniej tokenów dzięki filtrowaniu, kompaktowaniu, limitom wyjścia i kontrolom pętli.
- Zmniejsz efektywną cenę niezbędnych tokenów przez buforowanie promptów lub dobór modelu.
Kluczowe rozróżnienie: Buforowanie promptów obniża koszt powtarzalnego wejścia. Kompaktowanie kontekstu zmniejsza samo powtarzalne wejście.
How Can a 12-Step Agent Process 147,000 Tokens?
Rozważmy hipotetycznego agenta wsparcia z:
- Stabilnym prefiksem 4,000 tokenów
- 1,500 nowych tokenów dodawanych po każdym kroku
- Całą skumulowaną historią odsyłaną przy każdym żądaniu
- 12 całkowitymi wywołaniami modelu
Wejście na kroku n to:
Input at step n = 4,000 + 1,500 × (n - 1)
Skumulowane wejście w 12 wywołaniach to:
Total input
= 4,000 × 12 + 1,500 × (0 + 1 + ... + 11)
= 48,000 + 99,000
= 147,000 input tokens
Ostatnie wywołanie zawiera tylko 20,500 tokenów wejściowych, ale cały przebieg przetwarza 147,000 skumulowanych tokenów wejściowych.
Teraz zastosuj dwa mechanizmy:
- Zbuforuj stabilny 4,000‑tokenowy prefiks po pierwszym wywołaniu.
- Skompaktuj historię po kroku szóstym do 2,500‑tokenowego podsumowania stanu.
| Scenario | Uncached input | Cached input | Total processed input | Change |
|---|---|---|---|---|
| Pełna historia na każdym kroku | 147,000 | 0 | 147,000 | Punkt odniesienia |
| Zbuforowany stały prefiks | 103,000 | 44,000 | 147,000 | Ten sam wolumen, tańsza mieszanka |
| Buforowanie + kompaktowanie | 64,000 | 44,000 | 108,000 | 26.5% fewer processed tokens |
To kalkulacja planistyczna, nie benchmark dostawcy.
Zakłada, że każde żądanie zawiera całą skumulowaną historię. Agenci, którzy selektywnie konstruują stan, streszczają stare wiadomości lub pobierają tylko istotne informacje, mogą mieć inny przebieg kosztów.
Zasada wzrostu kosztów: Mierz skumulowane wejście przez cały przebieg. Końcowy rozmiar kontekstu nie odzwierciedla całkowitej liczby przetworzonych tokenów.

Which Metrics Reveal Agent Token Waste?
Nie zaczynaj od zmiany modeli. Najpierw zidentyfikuj, gdzie przepływ pracy zużywa tokeny bez poprawy wyniku.
Rejestruj te pola dla każdego kroku agenta:
| Field | Why it matters |
|---|---|
run_id, step_id, parent_step_id | Odtwarza drzewo agenta i podagentów |
| Rendered input tokens | Pokazuje, jak kontekst rośnie między wywołaniami |
| Cached and uncached input | Oddziela ponowne użycie od nowego kontekstu |
| Output and reasoning tokens | Identyfikuje kosztowne kroki generowania |
| Tool result size and retained tokens | Pokazuje, ile surowych dowodów trafia do kolejnych promptów |
| Retry reason and attempt number | Identyfikuje powtarzające się błędy |
| Compaction tokens before and after | Mierzy faktyczną redukcję kontekstu |
| Worker ID and returned tokens | Ujawnia zduplikowaną pracę podagentów |
| Accepted, rejected, or escalated result | Łączy koszt z jakością zadania |
Główna metryka to:
cost per successful task
= total workflow cost
/ accepted tasks
Tańszy przebieg nie jest poprawą, jeśli powoduje więcej nieudanych zadań, powtarzane narzędzia lub konieczność korekty przez człowieka.
Cztery metryki specyficzne dla agenta pomagają zlokalizować problem.
Context Amplification
context amplification
= cumulative input tokens
/ final-step input tokens
Wysoka wartość wskazuje, że wcześniejszy kontekst był przetwarzany wielokrotnie.
Tool Retention Ratio
tool retention ratio
= tool-result tokens retained in context
/ tokens originally returned by tools
Wysoki współczynnik może wskazywać, że agent przenosi zbyt dużo surowych dowodów między krokami.
Retry Tax
retry tax
= retry and repair cost
/ total workflow cost
Reasoning Share
reasoning share
= reasoning-token cost
/ total model cost
Mierz każdy rodzaj obciążenia osobno. Agenci badawczy, programistyczni, przeglądarkowi i wsparcia klienta nie powinni mieć jednej wspólnej bazy referencyjnej.
Six Ways to Reduce AI Agent Token Costs
1. Set a Budget for the Complete Run
Limit wyjścia na żądanie nie kontroluje wieloetapowego agenta.
Ustal limity na poziomie przebiegu dla:
- Łącznej liczby kroków modelu
- Skumulowanego wejścia i wyjścia
- Wywołań narzędzi i rozmiaru wyników narzędzi
- Ponowień według rodzaju błędu
- Podagentów
- Całkowitego czasu lub szacowanego kosztu
Poniższy, niezależny od dostawcy, przykład w Pythonie ocenia przebieg przed każdym wywołaniem modelu:
from dataclasses import dataclass
from enum import Enum
class Action(str, Enum):
CONTINUE = "continue"
COMPACT = "compact"
STOP = "stop"
@dataclass(frozen=True)
class Budget:
max_steps: int = 12
max_input_tokens: int = 120_000
max_output_tokens: int = 18_000
compact_at: float = 0.80
@dataclass
class Usage:
steps: int = 0
input_tokens: int = 0
output_tokens: int = 0
def evaluate_budget(usage: Usage, budget: Budget) -> Action:
if (
usage.steps >= budget.max_steps
or usage.input_tokens >= budget.max_input_tokens
or usage.output_tokens >= budget.max_output_tokens
):
return Action.STOP
input_ratio = usage.input_tokens / budget.max_input_tokens
if input_ratio >= budget.compact_at:
return Action.COMPACT
return Action.CONTINUE
Uruchamiaj sprawdzanie przed każdym wywołaniem modelu i aktualizuj Usage danymi o tokenach raportowanymi przez dostawcę.
Przy 80% budżetu wejścia skompaktuj stan lub zawęż następne zapytanie narzędzia. Przy 100% zatrzymaj z ustrukturyzowanym powodem.
Częsty błąd: Ograniczanie każdej odpowiedzi przy jednoczesnym zezwoleniu na nieograniczone kroki, narzędzia i ponowienia.
2. Filter Tool Results Before They Enter the Transcript
Zwracaj tylko dowody potrzebne do kolejnej decyzji agenta.
Nie dołączaj w całości:
- Strony WWW
- Pliku z logami
- Drzewa repozytorium
- Odpowiedzi bazy danych
- Sesji terminala
- Ładunku API
gdy kolejny krok potrzebuje tylko kilku pól.
Narzędzie wyszukiwania może zwracać:
{
"source_id": "search_17",
"title": "Relevant page title",
"url": "https://example.com/page",
"relevant_passage": "A short evidence block"
}
Przechowuj pełny artefakt poza promptem i pobieraj węższy fragment później.
Zasada filtrowania narzędzi: Zwracaj pola potrzebne do kolejnej decyzji — nie wszystkie pola, które mogą przydać się później.
Częsty błąd: Ucinanie pierwszych 1,000 znaków ładunku JSON. Może to zepsuć strukturę lub usunąć rekordy, których agent faktycznie potrzebuje.
Najpierw sparsuj ładunek, wybierz pola strukturalnie, ogranicz tablice, a potem zserializuj poprawny JSON.
3. Compact Operational State, Not Just Conversation Text
Kompaktowanie powinno zachować informacje niezbędne do kontynuacji zadania, jednocześnie usuwając historię, która nie wpływa już na następne działanie.
Użyteczny skompaktowany stan zawiera:
- Cel użytkownika i kryteria sukcesu
- Podjęte decyzje
- Zweryfikowane fakty i identyfikatory źródeł
- Zmienione pliki lub rekordy
- Nieudane podejścia
- Otwarte pytania
- Następne działanie
- Ograniczenia bezpieczeństwa i wyjścia
Nie powinien opowiadać całej rozmowy od nowa.
OpenAI dokumentuje kompaktowanie dla długotrwałych interakcji Responses API. Anthropic udostępnia kontrolki zarządzania kontekstem do czyszczenia lub streszczania starszych treści. Implementacje te różnią się, więc przed integracją zweryfikuj aktualne pola dostawców.
Zasada kompaktowania: Zachowaj decyzje i nierozwiązane prace. Usuń narrację i dowody, które można ponownie pobrać.
Częsty błąd: Pomijanie identyfikatorów źródeł, zmienionych nazw plików, odrzuconych podejść lub nierozwiązanych ograniczeń.
Po dodaniu kompaktowania zmierz, czy agent powtarza wyszukiwania lub wywołania narzędzi. Krótszy prompt nie jest tańszy, jeśli agent musi odtwarzać utracony stan.
4. Keep the Reusable Prefix Stable
Prompty agentów często zawierają duże, wielokrotnie używane bloki:
- Instrukcje systemowe
- Schematy narzędzi
- Polityki bezpieczeństwa
- Formatów wyjścia
- Wspólne materiały referencyjne
- Instrukcje dotyczące repozytorium lub produktu
Umieszczaj te stabilne elementy przed danymi specyficznymi dla żądania:
1. System instructions
2. Policies and constraints
3. Tool definitions
4. Stable examples
5. Shared reference material
6. Request-specific data
Unikaj umieszczania znaczników czasu, identyfikatorów żądań, danych sesji lub często zmieniających się wartości na początku.
Buforowanie jest najkorzystniejsze, gdy prefiks jest długi, stabilny i ponownie używany. Może nie przynieść oszczędności dla krótkich sesji lub często zmieniających się promptów.
Częsty błąd: Optymalizowanie pod wskaźnik trafień cache bez mierzenia kosztów zapisu, odczytu lub przechowywania cache.
Szerokie porównanie buforowania promptów, cache odpowiedzi i cache semantycznego znajdziesz w How to Reduce AI API Costs.
5. Prevent Retries From Replaying the Same Context
Ponowienie to kolejny krok agenta, często z tym samym dużym promptem.
Nie powtarzaj nieudanego żądania bez zmiany przyczyny niepowodzenia.
| Failure | Better response |
|---|---|
| Nieprawidłowe ustrukturyzowane wyjście | Zwróć błąd walidacji i spróbuj raz ponownie |
| Timeout narzędzia | Ponów idempotentną operację raz, potem zatrzymaj lub użyj ścieżki awaryjnej |
| Przepełnienie kontekstu | Skompaktuj stan lub pobierz mniej dowodów |
| Powtórzone wywołanie narzędzia | Deduplikuj używając skrótu operacji |
| Limitowanie zapytań | Wycofaj się (backoff) lub użyj przetestowanej trasy awaryjnej |
| Niski poziom pewności wyniku | Poproś o brakujące informacje lub eskaluj |
Używaj kluczy idempotencji dla operacji wywołujących skutki uboczne, takich jak płatności, e‑maile, wdrożenia i zapisy do bazy.
Częsty błąd: Wielokrotne ponawianie żądania do limitowanego modelem endpointu, za każdym razem z pełnym kontekstem agenta.
Śledź narzut ponowień według typu błędu, aby zespół najpierw naprawił największą pętlę.
6. Limit Reasoning and Subagents to Steps That Need Them
Nie każdy krok agenta wymaga głębokiego rozumowania.
Ekstrakcja, formatowanie, klasyfikacja, walidacja i rutynowy dobór narzędzi często mogą używać mniejszego wysiłku rozumowania i zwięzłych, ustrukturyzowanych wyjść.
Zarezerwuj wyższy wysiłek rozumowania dla zadań takich jak:
- Złożone planowanie
- Trudne programowanie
- Synteza wielu dokumentów
- Niejasne decyzje
- Odzyskiwanie po nieudanym wykonaniu
Zasada rozumowania: Używaj najniższego wysiłku rozumowania, który zachowuje wskaźnik akceptacji zadań.
Podagenci także wymagają wyraźnych granic. Daj każdemu pracownikowi:
- Wąskie zadanie
- Wycinek kontekstu specyficzny dla zadania
- Listę dozwolonych narzędzi
- Budżet tokenów
- Zwięzły schemat wyjścia
Agent główny zwykle potrzebuje ustaleń, identyfikatorów dowodów, pewności i nierozwiązanych kwestii — nie pełnego transkryptu pracownika.
Zasada podagentów: Równoleglij prace niezależne, nie duplikowany kontekst.
Częsty błąd: Wysyłanie pełnej historii agenta głównego do każdego pracownika przed przydzieleniem wąskiego zadania.
Which Optimization Should You Apply First?
Użyj telemetrii agenta, aby wybrać pierwszą interwencję.
Poniższe progi to sygnały do zbadania, a nie uniwersalne standardy.
| Observed signal | Start here |
|---|---|
| Wysoka amplifikacja kontekstu | Kompaktuj historię i selektywnie pobieraj stan |
| Wyjście narzędzi dominuje prompt | Filtruj pola i przechowuj pełne artefakty zewnętrznie |
| Wysoki narzut ponowień | Napraw walidację, timeouty i powtarzane wywołania narzędzi |
| Wysoki udział rozumowania | Obniż wysiłek przy rutynowych krokach |
| Podagenci powtarzają te same dowody | Zawęż zakres pracowników i wycinki kontekstu |
| Niski udział wejścia z cache | Ustabilizuj ponownie używany prefiks |
| Wysokie koszty po oczyszczeniu pętli | Porównaj trasy z niższym kosztem modeli |
Bezpieczna sekwencja wdrożenia:
- Zmierz skumulowane wejście, retencję wyników narzędzi, ponowienia i rozumowanie.
- Dodaj twarde limity kroków, narzędzi, ponowień i łącznych tokenów.
- Filtruj duże wyniki narzędzi.
- Kompaktuj starszy stan po osiągnięciu mierzonego progu.
- Ustabilizuj ponownie używany prefiks promptu.
- Porównuj trasy modeli dopiero po oczyszczeniu pętli agenta.
Zmieniaj jeden główny parametr naraz i odtwarzaj ten sam zestaw ewaluacyjny.
Porównuj:
- Wskaźnik akceptacji zadań
- Koszt na jedno pomyślnie zrealizowane zadanie
- Skumulowane wejście
- Liczbę wywołań narzędzi
- Narzut ponowień
- Udział rozumowania
- p50 i p95 opóźnienia
- Czas przeglądu przez człowieka
Wycofuj zmiany, które oszczędzają tokeny kosztem jakości zadań lub usunięcia niezbędnych dowodów.
Test Agent Workflows With CometAPI
Przed uruchomieniem wielomodelowej ewaluacji użyj strony pricing page i cost estimation guide CometAPI, aby oszacować koszty wejścia, wyjścia, tokenów z cache i rozumowania.
Następnie skorzystaj z model catalog, aby zidentyfikować dostępne trasy, oraz z Quickstart, aby skonfigurować klienta kompatybilnego z OpenAI.
Do produkcyjnego fallbacku postępuj według CometAPI model fallback guide, aby przełączać trasy bez powtarzania zakończonych wywołań narzędzi i bez odrzucania zweryfikowanego stanu.
Ujednolicony dostęp upraszcza porównywanie modeli i integrację fallbacku. Budżety tokenów, kompaktowanie, walidacja, filtrowanie narzędzi, limity ponowień i kryteria akceptacji nadal powinny pozostać na poziomie aplikacji.
FAQ
Why do AI agents use more tokens than chatbots?
Agenci wykonują wiele wywołań modelu i mogą ponownie wysyłać poprzednie wiadomości, wyniki narzędzi, instrukcje i stan pośredni przy każdym kroku. Powoduje to wielokrotne przetwarzanie wcześniejszego kontekstu.
Does prompt caching reduce context-window usage?
Nie. Buforowanie promptów może obniżyć efektywną cenę lub opóźnienie powtarzanego wejścia, ale zbuforowane tokeny nadal stanowią część przetwarzanego kontekstu. Aby zmniejszyć rozmiar promptu, użyj kompaktowania, filtrowania lub selektywnego pobierania.
When should an AI agent compact its context?
Kompaktuj, zanim wzrost kontekstu zacznie wpływać na koszt, opóźnienie lub dostępne miejsce wyjścia. Zweryfikuj, że skompaktowany stan zachowuje decyzje, identyfikatory dowodów, zmienione pliki, otwarte pytania i ograniczenia bezpieczeństwa.
Do subagents reduce token costs?
Nie automatycznie. Mogą skrócić czas lub poprawić pokrycie niezależnych prac, ale zduplikowany kontekst i nakładająca się analiza często zwiększają całkowite zużycie tokenów.
What is the best metric for AI agent cost optimization?
Używaj kosztu na jedno pomyślnie zrealizowane zadanie jako głównej metryki. Diagnozuj ją przez skumulowane wejście, amplifikację kontekstu, retencję wyników narzędzi, narzut ponowień, udział rozumowania, opóźnienia i czas przeglądu przez człowieka.
