Przejdź do głównej zawartości

Kontrola kosztów w przedsiębiorstwie

Rachunek za API Claude Code w Twoim zespole potroił się w tym miesiącu, dział finansowy chce twardego limitu do piątku, a nikt nie potrafi powiedzieć, które projekty albo osoby napędzają te wydatki. Pierwszy odruch to zbudować własną bramę, która opomiarowuje każde żądanie — ale Claude Code już dostarcza widoczność i zabezpieczenia, których potrzebujesz. Ten przewodnik pokazuje rzeczywiste źródła kosztów i to, jak wpiąć je w budżety bez zabijania tempa pracy programistów.

  • Sposób na podgląd zużycia tokenów na poziomie sesji i zespołu za pomocą /cost, /stats, /context oraz status line — bez pisania własnej telemetrii
  • Eksport OpenTelemetry, który zasila claude_code.cost.usage i claude_code.token.usage w dashboardzie, z podziałem na zespół i model
  • Twarde limity budżetowe dla automatyzacji: --max-budget-usd, --max-turns oraz model: haiku per subagent
  • Politykę routingu modeli, która rezerwuje Opus 4.8 dla pracy, która tego wymaga, a codzienne zadania kieruje do Sonnet 4.6 i Haiku 4.5
  • Gotowe prompty do skopiowania: audyt rozdętej sesji, postawienie eksportera OTel i dodanie hooka pilnującego budżetu kontekstu

Koszty Claude Code rosną wraz z rozmiarem kontekstu i długością rozmowy. Każda wiadomość ponownie wysyła prompt systemowy, Twój CLAUDE.md, definicje narzędzi MCP oraz całą nagromadzoną rozmowę. Opublikowany przez Anthropic punkt odniesienia to około 6 USD na programistę dziennie, przy czym 90% użytkowników mieści się poniżej 12 USD/dzień — ale automatyzacja, długo działające sesje i zbyt duży kontekst szybko to przebijają.

Trzy największe i najłatwiejsze do kontrolowania czynniki:

  • Nieaktualny kontekst — pozostawione pliki i rozmowa z poprzedniego zadania, których nigdy nie wyczyściłeś
  • Definicje narzędzi MCP — każdy podłączony serwer dokłada do kontekstu schematy narzędzi, nawet gdy jest bezczynny
  • Wybór modelu — używanie Opus 4.8 do formatowania i poprawek lintera, które Haiku 4.5 obsłuży za ułamek ceny

Zacznij stąd, zanim cokolwiek ograniczysz. Nie da się zarządzać tym, czego nie widać, a Claude Code udostępnia zużycie na czterech poziomach.

  1. Sprawdź bieżącą sesję. Uruchom /cost w REPL, aby zobaczyć zużycie tokenów i koszt API dla tej sesji (użytkownicy API), albo /stats dla wzorców użycia w Max/Pro:

    /cost
    Total cost: $0.55
    Total duration (API): 6m 19.7s
    Total code changes: 0 lines added, 0 lines removed
  2. Zobacz, co zjada kontekst. Uruchom /context, aby rozbić dokładnie to, co zużywa Twoje okno — prompt systemowy, CLAUDE.md, definicje narzędzi MCP i historię rozmowy. W ten sposób znajdziesz serwer MCP, który zapomniałeś wyłączyć.

  3. Utrzymuj zużycie stale na widoku. Skonfiguruj status line tak, aby wyświetlał zużycie okna kontekstu, dzięki czemu widzisz nacisk na tokeny przy każdej wiadomości, zamiast odkrywać go dopiero na fakturze.

  4. Zbierz dane w skali zespołu. Dla przestrzeni roboczych API ustaw limity wydatków przestrzeni roboczej i przeczytaj o raportowaniu kosztów i zużycia w konsoli Anthropic. Przestrzeń robocza „Claude Code” jest tworzona automatycznie przy pierwszym uwierzytelnieniu i centralizuje śledzenie w całej organizacji.

/cost działa per sesja. Aby uzyskać widok klasy finansowej obejmujący każdego programistę, wyeksportuj metryki OpenTelemetry Claude Code do swojego istniejącego stosu obserwowalności. Dwie metryki kluczowe dla kosztów to claude_code.cost.usage (w USD) oraz claude_code.token.usage (tokeny, z atrybutem type o wartości input/output).

Włącz to zmiennymi środowiskowymi — bez kodu:

Okno terminala
# Turn on telemetry and pick your exporters
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=otlp # otlp, prometheus, or console
export OTEL_LOGS_EXPORTER=otlp
# Point at your OTLP collector
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.company.com:4317
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer ${OTEL_TOKEN}"

Aby przypisać wydatki do zespołów, oznacz każdą sesję atrybutem zasobu:

Okno terminala
export OTEL_RESOURCE_ATTRIBUTES="department=payments,team=checkout"

Teraz claude_code.cost.usage i claude_code.token.usage trafiają do Twojego backendu pokrojone według department, team, model oraz user.account_uuid, więc jeden panel w Grafanie odpowiada na pytanie „który zespół ile wydał i na jakim modelu”.

Przy wdrożeniu w całej organizacji wepchnij te ustawienia przez plik zarządzanych ustawień, zamiast prosić każdego programistę o ustawianie zmiennych środowiskowych:

{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.company.com:4317"
}
}

Sesje interaktywne korygują się same — programista zauważa rozbiegającą się pętlę i naciska Escape. Uruchomienia headless i w CI tego nie robią. Dla każdego nieinteraktywnego wywołania claude -p ogranicz zasięg szkód bezpośrednio za pomocą flag trybu print:

Okno terminala
# Stop spending past $5 on this run, and never exceed 8 agentic turns
claude -p "Triage failing tests in src/ and propose fixes" \
--max-budget-usd 5.00 \
--max-turns 8 \
--model sonnet

--max-budget-usd zatrzymuje uruchomienie, gdy wydatki na API przekroczą limit; --max-turns kończy je błędem po N turach agenta, więc rozregulowana pętla nie spali Twojego budżetu bez nadzoru. Obie flagi działają wyłącznie w trybie print (-p).

Najsilniejszą dźwignią kosztów nie jest opomiarowanie — jest nią wybór modelu. Sonnet 4.6 obsługuje większość zadań programistycznych za mniej więcej trzy piąte ceny Opus 4.8; Haiku 4.5 jest jeszcze tańszy — około jednej piątej ceny Opus — do pracy mechanicznej.

ModelOrientacyjna cena (wejście / wyjście za Mtok)Sięgaj po niego, gdy
Claude Fable 5~$10 / ~$50Planowanie w trybie Plan i końcowa weryfikacja najtrudniejszych zadań (2x Opus)
Claude Opus 4.8~$5 / ~$25Architektura, wieloetapowe rozumowanie, trudne debugowanie
Claude Sonnet 4.6~$3 / ~$15Codzienne kodowanie, refaktory, pisanie testów (Twój domyślny)
Claude Haiku 4.5~$1 / ~$5Formatowanie, poprawki lintera, komentarze, masowe edycje mechaniczne

Górny wiersz jest nowy: Claude Fable 5 (wydany 9 czerwca 2026) plasuje się poziom wyżej niż Opus 4.8 i kosztuje dokładnie dwa razy więcej. Przy ograniczonym budżecie traktuj go jak klamrę, a nie model domyślny — eskaluj do Fable 5 (/model fable) przy planowaniu w trybie Plan na starcie i przy końcowej weryfikacji na końcu, a implementację pomiędzy nimi prowadź na Sonnet 4.6 lub Opus 4.8. Zespoły, w których budżet liczy się mniej niż tempo i jakość, mogą zamiast tego ustawić Fable 5 jako model domyślny — subagenci nadal automatycznie działają na Opus, Sonnet i Haiku, więc większość wolumenu tokenów zostaje na tańszych poziomach, a główna pętla dostaje maksymalną inteligencję.

Przełączaj w trakcie sesji za pomocą /model albo ustaw domyślny w /config. Największą korzyść dają subagenci: deleguj rozwlekłą pracę do tańszego modelu, aby kosztowny kontekst pozostał mały. Określ model per subagent w jego konfiguracji:

---
name: test-runner
description: Runs the test suite and returns only failures
tools: [Bash, Read]
model: haiku
---
You run the project's test command, then summarize only failing tests and their
error messages. Never paste full passing output.

Dwie kolejne istotne dźwignie z tego samego repertuaru:

  • Dostrój rozszerzone myślenie. Jest domyślnie włączone z hojnym budżetem. Dla prostych zadań obniż poziom wysiłku w /model na modelu, który to obsługuje (suwak wysiłku pojawia się dla Opus), wyłącz myślenie w /config albo ogranicz je przez MAX_THINKING_TOKENS=8000 — tokeny myślenia są rozliczane jak wyjściowe.
  • Ogranicz narzut MCP. Uruchom /context, a następnie /mcp, aby wyłączyć serwery, których nie używasz. Tam, gdzie się da, preferuj narzędzia CLI (gh, aws, gcloud, sentry-cli) zamiast serwerów MCP — nie dokładają do kontekstu trwałych definicji narzędzi.

Koszt tokenów jest bezpośrednią funkcją rozmiaru kontekstu. Claude Code automatycznie kompaktuje blisko limitu i cachuje prompt systemowy, ale tanie korzyści to nawyki:

  • /clear między niepowiązanymi zadaniami. Nieaktualny kontekst jest ponownie naliczany przy każdej kolejnej wiadomości. Użyj /rename przed czyszczeniem, abyś mógł później wrócić przez /resume.
  • Pokieruj kompaktowaniem. /compact Focus on the API changes and failing tests mówi Claude, co zachować przy tworzeniu podsumowania.
  • Przerzuć pracę na hooki. Hook PreToolUse może przefiltrować przez grep log o 10 000 linii do samych pasujących błędów, zanim Claude w ogóle go przeczyta, zamieniając dziesiątki tysięcy tokenów w setki.
  • Przenieś instrukcje workflow z CLAUDE.md do skills. CLAUDE.md ładuje się na początku sesji i jest naliczany nawet przy niepowiązanej pracy; skills ładują się na żądanie. Utrzymuj CLAUDE.md poniżej ~500 linii.
  • /cost pokazuje grosze, ale rachunek jest ogromny. Jesteś na subskrypcji, gdzie /cost nie jest Twoją fakturą, albo wydatki pochodzą z kluczy CI, które nigdy nie uruchamiają /cost interaktywnie. Rozliczaj się względem raportowania przestrzeni roboczej w konsoli i zużycia per klucz, a nie wyjścia z sesji.
  • Dashboard OTel jest pusty na Bedrock/Vertex/Foundry. Claude Code nie emituje metryk kosztów przez dostawców chmury. Śledź przez rozliczenia dostawcy albo bramę LiteLLM z wydatkami per klucz; zobacz Brama LLM.
  • --max-budget-usd nie zatrzymał rozbiegniętego zadania. Działa tylko w trybie print i egzekwuje wyłącznie rozliczenia kluczem API. Dla subskrypcji lub sesji interaktywnych nie ma dolarowego licznika — polegaj na limitach wydatków przestrzeni roboczej i --max-turns.
  • Telemetria opóźnia się albo zalewa backend. Metryki są domyślnie eksportowane co 60 s, a logi co 5 s. Dostrój OTEL_METRIC_EXPORT_INTERVAL i użyj kontroli kardynalności OTEL_METRICS_INCLUDE_*, aby utrzymać koszty przechowywania w ryzach — eksplozja metryk per identyfikator sesji może kosztować więcej niż śledzone przez Ciebie zużycie Claude.
  • Obniżenie modelu zabija jakość. Cięcia kosztów, które dają zepsuty kod, nie są oszczędnością. Trzymaj Opus 4.8 dostępny dla trudnych 10% i mierz przeróbki, a nie tylko zużycie tokenów.
  • Pozostawienie Fable 5 jako modelu domyślnego po 22 czerwca 2026. Od 9 do 22 czerwca 2026 jest wliczony bez dodatkowych opłat w plany Pro, Max, Team i Enterprise rozliczane per stanowisko — po tym oknie jego użycie jest rozliczane kredytami użycia po stawkach 2x Opus. Ogranicz go z powrotem do planowania i końcowej weryfikacji, chyba że dodatkowy wydatek to świadoma decyzja.

Skuteczna kontrola kosztów to kwestia równowagi: maksymalizuj wartość, eliminuj marnotrawstwo. Najpierw zdobądź widoczność dzięki /cost, /stats i OTel; potem zastosuj routing modeli i zabezpieczenia. Większość zespołów tnie koszty o 30-50% bez tykania w tempo pracy — po prostu czyszcząc kontekst, dobierając właściwy rozmiar modelu i wyłączając serwery MCP, o których zapomniała, że działają.