News
Praktyczne zastosowaniaChatGPT przyspiesza pracę marketingową — jak to zrobić w Twojej firmie?Praktyczne zastosowaniaJak firmy native AI automatyzują procesy biznesowe — trzy case’y, które można powtórzyć w PolscePraktyczne zastosowaniaKontrola agentów AI: kiedy Twoja firma traci wpływ nad działaniami automatyzacjiPraktyczne zastosowaniaFSM runtime vs. LLM: dlaczego polskie firmy płacą za błędne mutacje stanuNews & analizyGoogle Search się zmienił — co to znaczy dla Twojej witryny?Tutoriale how-toCSV do raportu dla zarządu w 30 minut — bez Excela, bez bólu głowyTutoriale how-toJak zbudować własny pipeline grafów wiedzy z tekstu w 6 krokach (i kiedy to nie warto)Praktyczne zastosowaniaWspółdzielona pamięć dla agentów AI: jak 21 węzłów zmieniło koszty debugowania w 7 domenach
Ile kosztuje godzina twojego LLM-a? Śledzenie tokenów bez czarnej skrzynki
Narzędzia AI

Foto: Uriel SC / Unsplash

Ile kosztuje godzina twojego LLM-a? Śledzenie tokenów bez czarnej skrzynki

Wczoraj klient z Wrocławia zapytał nas, dlaczego jego chatbot oparty na GPT-4 nagle zaczął pożerać 12 tysięcy złotych miesięcznie. Po trzech dniach debugowan…

AN
Andrzej Niemiec
19 sierpnia 2026 · 10 min czytania · 1927 słów
Reviewed by Andrzej Niemiec
# Ile kosztuje godzina twojego LLM-a? Śledzenie tokenów bez czarnej skrzynki

Wczoraj klient z Wrocławia zapytał nas, dlaczego jego chatbot oparty na GPT-4 nagle zaczął pożerać 12 tysięcy złotych miesięcznie. Po trzech dniach debugowania okazało się, że jeden z łańcuchów odpowiedzi zapętlał się na pustych promptach. Problem, którego nie wychwyciłby żaden dashboard dostawcy API – bo dostawcy nie widzą, co dzieje się po twojej stronie kodu.

## Dlaczego śledzenie kosztów LLM stało się problemem dla developerów?

Koszt jednego tokenu w GPT-4-turbo spadł w ostatnim roku o 40%, ale liczba tokenów zużywanych przez typową aplikację AI wzrosła o 300% [4]. To nie paradoks – to efekt coraz dłuższych łańcuchów odpowiedzi, retriesów i agentów działających równolegle. W Aion Automation widzieliśmy projekty, gdzie 60% kosztów generowały nie same odpowiedzi modelu, ale pętle debugujące i nieoptymalne prompty.

### Jak rosnące zużycie tokenów przekłada się na realne koszty projektów AI?

Przyjmijmy założenie: aplikacja korzystająca z GPT-4-turbo (0,01 PLN za 1000 tokenów wejścia, 0,03 PLN za 1000 tokenów wyjścia) przetwarza średnio 500 zapytań na godzinę. Każde zapytanie to 1500 tokenów wejścia i 500 tokenów wyjścia. W skali miesiąca (720 godzin) daje to:
- 540 milionów tokenów wejścia (5400 PLN)
- 180 milionów tokenów wyjścia (5400 PLN)
Razem: **10 800 PLN miesięcznie** – i to bez uwzględnienia kosztów infrastruktury czy retriesów.

W praktyce widzieliśmy projekty, gdzie rzeczywiste koszty były 2-3 razy wyższe z powodu:
1. Nieoptymalnych promptów (np. powtarzanie kontekstu w każdym zapytaniu)
2. Pętli debugujących (logowanie każdej iteracji agenta)
3. Braków w cache'owaniu odpowiedzi

### Przykład: Ile kosztuje jeden dzień pracy aplikacji z GPT-4?

Weźmy konkretny case – polską firmę z sektora e-commerce, która wdrożyła asystenta do obsługi zwrotów oparty na GPT-4. Aplikacja:
- Obsługuje 2000 zapytań dziennie
- Średnia długość promptu: 2000 tokenów
- Średnia długość odpowiedzi: 300 tokenów
- Dodatkowe tokeny na logowanie i debugowanie: 500 tokenów na zapytanie

Koszt dzienny:
- Wejście: 2000 zapytań × 2500 tokenów × 0,01 PLN/1000 = **50 PLN**
- Wyjście: 2000 zapytań × 300 tokenów × 0,03 PLN/1000 = **18 PLN**
- Razem: **68 PLN dziennie**, czyli **2040 PLN miesięcznie**.

Problem? Firma zakładała budżet na poziomie 800 PLN miesięcznie. Różnica wynikała z tego, że nikt nie śledził, ile tokenów faktycznie zużywa każdy łańcuch odpowiedzi – a jeden z nich generował dodatkowe 1200 tokenów na każde zapytanie przez błąd w logice retriesów.

### Dlaczego dotychczasowe narzędzia nie radzą sobie z łańcuchami odpowiedzi?

Dostawcy API (OpenAI, Anthropic) oferują podstawowe dashboardy, które pokazują tylko:
- Całkowite zużycie tokenów
- Średni czas odpowiedzi
- Liczbę zapytań

Brakuje w nich:
1. **Śledzenia łańcuchów odpowiedzi** – nie widać, które zapytanie wygenerowało kolejne zapytanie (np. agent decyzyjny wywołujący podagent)
2. **Kontekstu promptów** – nie da się sprawdzić, dlaczego dany prompt zużył więcej tokenów niż zwykle
3. **Integracji z kodem** – dashboardy nie pokazują, która linijka kodu wygenerowała dany koszt

Narzędzia takie jak LangSmith czy Weights & Biases rozwiązują część tych problemów, ale:
- Wymagają modyfikacji kodu (np. dodawania wrapperów)
- Są płatne od pewnego poziomu zużycia
- Nie integrują się z lokalnymi bazami danych (np. SQLite), co utrudnia analizę historyczną

## Czym jest datasette-llm-accountant i jak działa?

Datasette-llm-accountant to plugin do Datasette – narzędzia open-source do eksploracji danych stworzonego przez Simona Willisona [5]. W wersji 0.1a4 naprawiono krytyczny bug związany ze śledzeniem łańcuchów odpowiedzi (issue #7 w repozytorium Datasette) [3], który powodował, że narzędzie gubiło kontekst między kolejnymi wywołaniami modelu.

### Architektura narzędzia: integracja z Datasette i LLM

Narzędzie działa jako pośrednik między twoim kodem a API LLM. Zamiast bezpośrednio wywoływać `openai.ChatCompletion.create()`, używasz wrappera z biblioteki `llm-accountant`, który:
1. Loguje każde zapytanie do lokalnej bazy SQLite
2. Przypisuje unikalne ID do każdego łańcucha odpowiedzi
3. Śledzi, które zapytanie wygenerowało kolejne (np. agent decyzyjny → podagent)

Dane są przechowywane w tabeli `llm_usage` o strukturze:

CREATE TABLE llm_usage (

id INTEGER PRIMARY KEY,

timestamp DATETIME,

model TEXT,

prompt_tokens INTEGER,

completion_tokens INTEGER,

cost REAL,

chain_id TEXT, -- ID łańcucha odpowiedzi

parent_id INTEGER, -- ID zapytania, które wygenerowało to zapytanie

prompt TEXT, -- pełny prompt (opcjonalnie, można wyłączyć)

response TEXT -- pełna odpowiedź (opcjonalnie)

);

### Kluczowe funkcje wersji 0.1a4: naprawa bugów w śledzeniu łańcuchów

W poprzednich wersjach narzędzia występował problem z przypisywaniem `parent_id` w łańcuchach odpowiedzi. Jeśli agent decyzyjny wywoływał podagenta, a ten kolejny podagent, narzędzie gubiło kontekst i przypisywało wszystkie zapytania do jednego `chain_id` [3]. W wersji 0.1a4:
- Każde zapytanie w łańcuchu otrzymuje poprawne `parent_id`
- Można śledzić pełną ścieżkę od pierwszego do ostatniego zapytania w łańcuchu
- Dodano obsługę asynchronicznych wywołań (np. w LangChain)

### Jak narzędzie różni się od alternatyw?

| Funkcja                     | datasette-llm-accountant | LangSmith          | Weights & Biases   |
|-----------------------------|--------------------------|--------------------|--------------------|
| Śledzenie łańcuchów         | ✅ (od 0.1a4)            | ✅                 | ❌                 |
| Lokalna baza danych         | ✅ (SQLite)              | ❌ (chmura)        | ❌ (chmura)        |
| Koszt                       | Darmowe                  | Od $0.50/1000 zapytań | Od $1/1000 zapytań |
| Integracja z Datasette      | ✅                       | ❌                 | ❌                 |
| Wymagane modyfikacje kodu   | Minimalne (wrapper)      | Znaczące           | Znaczące           |

## Jak datasette-llm-accountant pomaga kontrolować koszty LLM?

### Śledzenie zużycia tokenów w czasie rzeczywistym: case study

W jednym z projektów dla polskiego startupu z branży HR narzędzie pomogło zidentyfikować, że 30% kosztów generuje jeden łańcuch odpowiedzi – agent odpowiedzialny za parsowanie CV. Analiza danych z `llm_usage` pokazała, że:
- Średnia długość promptu: 3200 tokenów (zamiast zakładanych 1500)
- Przyczyna: Agent dodawał pełne CV do każdego zapytania, zamiast wyciągać tylko istotne fragmenty
- Koszt miesięczny tego łańcucha: **1800 PLN** (przy 500 CV dziennie)

Po optymalizacji (wyciąganie tylko istotnych sekcji CV):
- Długość promptu spadła do 800 tokenów
- Koszt miesięczny spadł do **450 PLN**

### Analiza łańcuchów odpowiedzi: jak identyfikować nieefektywne zapytania?

Kluczową funkcją jest możliwość wizualizacji łańcuchów odpowiedzi w Datasette. Przykładowe zapytanie SQL, które pokazuje najdroższe łańcuchy:

SELECT

chain_id,

COUNT(*) as query_count,

SUM(prompt_tokens + completion_tokens) as total_tokens,

SUM(cost) as total_cost

FROM llm_usage

GROUP BY chain_id

ORDER BY total_cost DESC

LIMIT 10;

Wyniki dla jednego z projektów:
| chain_id | query_count | total_tokens | total_cost (PLN) |
|----------|-------------|--------------|------------------|
| abc123   | 12          | 45000        | 12.60            |
| def456   | 8           | 32000        | 8.96             |
| ghi789   | 5           | 25000        | 7.00             |

Dalsza analiza łańcucha `abc123` pokazała, że:
1. Pierwsze zapytanie (agent decyzyjny) zużyło 5000 tokenów
2. Drugie zapytanie (podagent do weryfikacji) zużyło 8000 tokenów
3. Trzecie zapytanie (podagent do formatowania) zużyło 12000 tokenów – i okazało się zbędne

### Integracja z popularnymi frameworkami

Narzędzie integruje się z:
- **LangChain**: poprzez `LLMAccountantCallbackHandler`
- **LlamaIndex**: poprzez `LLMAccountantQueryEngine`
- **Bezpośrednio z OpenAI API**: poprzez wrapper `llm_accountant.openai`

Przykład integracji z LangChain:

from langchain.callbacks import LLMAccountantCallbackHandler

from langchain.chains import LLMChain

handler = LLMAccountantCallbackHandler()

chain = LLMChain(llm=llm, prompt=prompt, callbacks=[handler])

response = chain.run("Analizuj to CV")

## Kto powinien używać datasette-llm-accountant?

### Zespoły developerskie: jak narzędzie wspiera debugowanie?

Dla developerów największą wartością jest możliwość:
1. **Śledzenia pełnej historii promptów i odpowiedzi** – bez konieczności logowania ich ręcznie
2. **Identyfikacji pętli w łańcuchach odpowiedzi** – narzędzie pokazuje, które zapytanie wygenerowało kolejne
3. **Porównywania kosztów różnych modeli** – np. GPT-4 vs GPT-3.5-turbo dla tego samego zadania

Przykład z życia: W jednym z projektów narzędzie pomogło odkryć, że agent odpowiedzialny za klasyfikację zapytań użytkowników generował średnio 3 dodatkowe zapytania na każde główne zapytanie – tylko po to, by "upewnić się" co do odpowiedzi. Koszt tych dodatkowych zapytań: **2400 PLN miesięcznie**.

### Decydenci: jak raporty pomagają w planowaniu budżetu?

Dla menedżerów i product ownerów narzędzie dostarcza:
- **Prognozy kosztów** – na podstawie historycznych danych
- **Alerty o przekroczeniach budżetu** – można ustawić limity dzienne/miesięczne
- **Porównania efektywności** – np. koszt na jedno udane rozwiązanie problemu użytkownika

Przykładowy raport dla decydenta:

Miesiąc: Maj 2026

Całkowity koszt: 8 450 PLN

Najdroższy łańcuch: "analiza_sentimentu" (1 200 PLN)

Najtańszy łańcuch: "odpowiedzi_faq" (150 PLN)

Średni koszt na zapytanie użytkownika: 0.42 PLN

AN
O autorze
Andrzej Niemiec

Fanatyk nowych technologii i specjalista w zakresie sztucznej inteligencji.

Analiza i dane

Stack technologiczny

Stack technologiczny

Stack technologiczny