Budżety tokenów na krok
Ogranicz liczbę tokenów wejściowych i wyjściowych dla każdego węzła, aby niekontrolowana pętla nie doprowadziła do nadmiernych kosztów.
Budżety tokenów na krok to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Tokeny kosztują
Każdy wysłany lub odebrany token kosztuje pieniądze i czas. Agenci produkcyjni śledzą zużycie tokenów na każdym kroku i egzekwują limity.
Ustawianie limitu max_tokens wszędzie
Proszę zawsze ustawiać max_tokens przy każdym wywołaniu. Bez tego wadliwy prompt może wygenerować odpowiedzi zawierające 10 000 tokenów:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
max_tokens=1024, # cap per response
)Limity dla poszczególnych kroków pętli agenta
Różne kroki wymagają różnych budżetów:
STEP_BUDGETS = {
'planner': 512,
'classifier': 64,
'final_synthesis': 2048,
'tool_call': 256
}
response = client.chat.completions.create(
model=model,
messages=messages,
max_tokens=STEP_BUDGETS[step_name]
)Ograniczanie liczby tokenów wejściowych
Tokeny wejściowe również kosztują. Proszę je zdecydowanie ograniczać:
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
def trim_to_budget(text, max_tokens=4000):
toks = enc.encode(text)
if len(toks) > max_tokens:
return enc.decode(toks[:max_tokens])
return textŁączny budżet pojedynczego uruchomienia
Proszę sumować tokeny wejściowe i wyjściowe ze wszystkich kroków oraz przerwać działanie po przekroczeniu limitu:
MAX_TOKENS_PER_RUN = 50_000
total = 0
for step in agent_steps:
r = call_step(step)
total += r.usage.total_tokens
if total > MAX_TOKENS_PER_RUN:
return 'Budget exhausted; partial result'Limity kosztów w dolarach
Czasami wygodniej jest określać budżet w dolarach:
PRICES = {'gpt-4o-mini': {'in': 0.15e-6, 'out': 0.60e-6}}
for step in agent_steps:
r = call_step(step)
cost = r.usage.prompt_tokens * PRICES[model]['in'] + r.usage.completion_tokens * PRICES[model]['out']
total_cost += cost
if total_cost > MAX_COST_PER_RUN:
breakBudżety adaptacyjne
Proszę przeznaczać więcej tokenów na najtrudniejsze kroki:
if step_difficulty == 'easy':
max_tokens = 256
elif step_difficulty == 'hard':
max_tokens = 2048Szacowanie długości odpowiedzi
Czasami warto zapytać model, jak długa powinna być odpowiedź:
preview = llm.invoke(f'How many tokens (approx) does {question} need to answer?').content
budget = parse_int(preview, default=512)
final = llm.invoke(question, max_tokens=budget)Skracanie wyników narzędzi
Duże wyniki narzędzi, takie jak HTML i logi, nadmiernie rozbudowują kontekst. Przed wysłaniem ich do modelu proszę je skrócić:
tool_result = run_tool(...)
text = json.dumps(tool_result)
if len(text) > 4000:
text = text[:4000] + '\n...[truncated]'Kompresowanie historii
W przypadku długich rozmów proszę podsumowywać starsze wypowiedzi, aby oszczędzać tokeny:
if total_message_tokens(messages) > 8000:
messages = compact(messages)Format odpowiedzi wpływa na liczbę tokenów
JSON jest rozwlekły. W przypadku krótkich ustrukturyzowanych odpowiedzi warto rozważyć:
- Pojedynczy argument wywołania narzędzia
- Listę rozdzielaną przecinkami
- Zwarty niestandardowy format
Śledzenie rozkładu tokenów
Histogramy dla poszczególnych kroków pokazują, które kroki warto zoptymalizować:
metrics.observe('step.planner.tokens', r.usage.total_tokens, tags={'agent': 'qa'})Dlaczego max_tokens?
Dlaczego należy ustawiać max_tokens przy każdym wywołaniu LLM?
Podsumowanie
Proszę ustawiać limit max_tokens przy każdym wywołaniu. Ograniczać dane wejściowe. Ustalać budżety dla poszczególnych kroków. Ustawiać łączne limity dla pojedynczego uruchomienia. Śledzić rozkłady. Kompresować historię.
Często zadawane pytania
Czy lekcja „Budżety tokenów na krok” jest bezpłatna?
Tak — pełny tekst „Budżety tokenów na krok” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Budżety tokenów na krok”?
Ogranicz liczbę tokenów wejściowych i wyjściowych dla każdego węzła, aby niekontrolowana pętla nie doprowadziła do nadmiernych kosztów. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Budżety tokenów na krok”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Budżety tokenów na krok
- Routing modeli (tani -> drogi)
- Buforowanie promptów i wyników (Anthropic, Vertex)
- Kwantyzacja i dekodowanie spekulatywne