Przejdź do głównej zawartości

Zarządzanie kosztami użycia AI

Zarządzanie kosztami użycia AI to zestaw właścicieli, budżetów, limitów wydatków i polityk modeli, dzięki którym wydatki na Claude Code, Codex i Cursor są widoczne, przypisane do zespołów i powiązane z zaakceptowaną pracą. Opiera się na telemetrii i panelach administracyjnych samych narzędzi, a wydatki ocenia kosztem zaakceptowanej zmiany, nigdy liczbą tokenów na inżyniera.

Pierwszego dnia miesiąca dział finansów pisze do ciebie: pozycja „narzędzia AI” znowu się podwoiła i chcą wiedzieć dlaczego. Umiesz wymienić trzy narzędzia, ale nie wiesz, które zespoły odpowiadają za wzrost, czy najdroższy model nie pracował na rutynowych zadaniach z maksymalnym wysiłkiem ani czy z tych wydatków powstał jakikolwiek scalony kod. Ta strona jest dla CTO lub dyrektora inżynierii, który odpowiada za tę pozycję budżetu, i dla tech leadów, którzy na co dzień obsługują mechanizmy kontroli.

  • Źródło danych o wydatkach i limit dla każdej drogi dostępu do modelu: licencji w planie, workspace’ów API, dostawców chmurowych i CI.
  • Plik managed settings, który włącza telemetrię Claude Code u każdego developera, taguje wydatki per zespół, ogranicza wysiłek i zawęża listę modeli.
  • Politykę modeli i wysiłku zgodną z domyślnymi ustawieniami dostawców, z nazwaną osobą, która zatwierdza eskalację.
  • Szablon polityki kosztowej, listę kontrolną miesięcznego przeglądu i cztery prompty do skopiowania: przegląd wydatków, analizę wartości odstających, pełny koszt jednego przepływu pracy i projekt alertu.
  • Sposób na udowodnienie, że kontrola działa, bez czytania każdej sesji: uzgodnienie z fakturą, ćwiczenia alarmowe i koszt zestawiony z jakością.

Wydatki na agentów to mierzone zużycie, nie opłata za licencję, więc rachunek podąża za zachowaniem. Większość kosztu wyjaśniają trzy czynniki:

  • Model i wysiłek. Model wyznacza cenę tokena, a poziom wysiłku (effort) decyduje, ile tokenów myślenia zużywa każde zapytanie. Strona kosztów Anthropic zaznacza, że tokeny myślenia są rozliczane jak tokeny wyjściowe i mogą sięgać „tens of thousands of tokens per request”. Ceny poszczególnych modeli są w przeglądzie modeli, nie tutaj.
  • Kontekst, którego nikt nie czyści. Claude Code wysyła całą rozmowę z każdym zapytaniem. Sesja otwarta przez cały dzień albo wznowiona po wygaśnięciu cache’u przy każdej turze od nowa czyta całą historię.
  • Rozgałęzienie pracy. Każdy subagent, agent workflow i członek zespołu agentów wysyła własne zapytania. Strona kosztów Anthropic (sprawdzona 2026-09-26) podaje, że zespoły agentów zużywają „approximately 7x more tokens than standard sessions when teammates run in plan mode”.

Jako punkt odniesienia: Anthropic podaje, że we wdrożeniach enterprise Claude Code kosztuje średnio „around $13 per developer per active day and $150-250 per developer per month”, a 90% użytkowników mieści się poniżej 30 USD na aktywny dzień (Anthropic, dokumentacja kosztów Claude Code, sprawdzone 2026-09-26). To liczba dostawcy dla jednego narzędzia. Zanim ustawisz limit, zmierz własne zespoły przez miesiąc.

Tokeny to tylko część kosztu. Decyzje zarządcze wymagają trzech warstw, każdej z własnym właścicielem i własną decyzją:

WarstwaCo obejmujeJaką decyzję napędza
PortfelUmowy, licencje, prace platformowe i integracyjnePrzedłużyć, skonsolidować lub wycofać narzędzie
WorkflowZużycie modeli, CI i runtime, review, poprawki, nieudane próby, incydentyRozszerzyć, zawęzić lub przeprojektować workflow
ZmianaKoszt uruchomienia i weryfikacji jednej zmiany, o ile dane na to pozwalająDiagnozować wartości odstające; nigdy nie tworzyć rankingów ludzi

Wzór, który łączy te warstwy, czyli koszt zaakceptowanej zmiany, opisuje strona o ekonomii oprogramowania budowanego przez agentów. Ta strona obejmuje mechanizmy kontroli, które go zasilają.

Krok 1: ustal źródło danych i limit dla każdej drogi dostępu

Dział zatytułowany „Krok 1: ustal źródło danych i limit dla każdej drogi dostępu”

Mechanizmy kontroli kosztów zależą od tego, jak zespół dociera do modelu, a nie tylko od narzędzia. Zespół na licencjach Claude Team, zadanie CI na kluczu API i zespół platformowy na Amazon Bedrock mają różne liczniki. Najpierw spisz wszystkie drogi dostępu; tu przepływy pracy naprawdę różnią się między narzędziami.

Sprawdzone 2026-09-26 w dokumentacji kosztów Anthropic:

Droga dostępuGdzie widzisz wydatkiGdzie je ograniczasz
Licencje Claude Team lub EnterpriseRaport wydatków w analityce organizacji: szacowane wydatki per użytkownik i per model, CSV, aktualizacja raz dziennie. Obejmuje tylko wydatki z usage creditsDomyślnym sufitem jest limit licencji. Po włączeniu usage credits ustaw limity wydatków na poziomie organizacji, grupy lub członka w Admin settings > Usage
Claude Console (API)Strona usage w Console i panel Claude Code, per członekLimity wydatków workspace’u. Przy pierwszym logowaniu przez Console Claude Code tworzy workspace o nazwie „Claude Code”
Amazon Bedrock, Google Cloud Agent Platform (dawniej Vertex AI), Microsoft FoundryKonsola rozliczeń twojej chmuryBudżety w chmurze albo limity per użytkownik w samodzielnie hostowanym Claude apps gateway
CI i skrypty (claude -p)OpenTelemetry albo wyjście JSON każdego uruchomienia--max-budget-usd na uruchomienie (działa tylko z --print)

Eksport OpenTelemetry działa na każdej drodze dostępu i przesyła metryki tokenów i kosztu per użytkownik do twojego stosu niemal w czasie rzeczywistym (u dostawców chmurowych może je emitować także Claude apps gateway). Konfiguruje go krok 2. Jak wybrać drogę przez chmurę lub gateway i zaplanować jej budżet, opisuje strona hosting modeli.

Ceny planów narzędzi porównuje analiza cen. Warunki umów, własność licencji i offboarding opisuje strona o kontach zespołowych.

Łączna kwota to liczba, która niepokoi; kwota przypisana do zespołów to liczba, na podstawie której można działać. W Claude Code dostarczaj telemetrię i atrybucję przez managed settings, żeby każdy developer raportował tak samo. Claude Code ignoruje zmienne eksportera OpenTelemetry w pliku .claude/settings.json repozytorium, więc repozytorium nie może włączyć telemetrii ani jej przekierować.

{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.internal.example:4317",
"OTEL_RESOURCE_ATTRIBUTES": "department=engineering,team.id=payments,cost_center=eng-142",
"OTEL_METRICS_INCLUDE_ACCOUNT_UUID": "false",
"OTEL_METRICS_INCLUDE_SESSION_ID": "false"
}
}

Wdrażaj jeden plik na zespół, różniący się tylko wartościami team.id i cost_center. Dla wydatków liczy się metryka claude_code.cost.usage (USD, z etykietą model); claude_code.token.usage dzieli tokeny według typu (wejściowe, wyjściowe, odczyt z cache’u, zapis do cache’u). Zsumuj koszt po team.id i model, a masz wydatki per zespół bez budowania czegokolwiek. Konfigurację kolektora i dashboardów opisuje strona o obserwowalności agentów.

O użyteczności liczb decydują trzy szczegóły:

  • Żadnych spacji w wartościach atrybutów. OTEL_RESOURCE_ATTRIBUTES odrzuca białe znaki, cudzysłowy, przecinki, średniki i ukośniki wsteczne. Pisz cost_center=eng_platform, nigdy cost_center=Eng Platform.
  • Raportuj po stawkach z umowy. Claude Code liczy koszt po cenie katalogowej. Ustaw managed setting modelPricing (Claude Code v2.1.242 lub nowszy) na stawki z umowy, inaczej claude_code.cost.usage nie zgodzi się z fakturą.
  • Proporcjonalna identyfikacja. Dwie linie INCLUDE_* usuwają z metryk user.account_uuid, user.account_id i session.id. user.email (po zalogowaniu kontem Claude) i anonimowy user.id są dołączane zawsze; jeśli polityka przewiduje tylko poziom zespołu, usuń lub zahaszuj user.email w kolektorze (na przykład procesorem atrybutów OpenTelemetry). Domyślnie przypisuj koszty do zespołów, a dane na poziomie developera zbieraj tylko w uzasadnionym i przejrzanym celu, na przykład gdy developer sam zgodzi się na osobiste wskazówki optymalizacyjne. Telemetrię identyfikującą osoby najpierw skonsultuj z działem ochrony danych lub radą pracowników.

W Codex tabela [otel] w ~/.codex/config.toml eksportuje logi, ślady i metryki do tego samego kolektora. Nazwy pól poniżej pochodzą ze źródeł Codex (OtelConfigToml, Codex CLI 0.157.1, sprawdzone 2026-09-26):

# ~/.codex/config.toml — Codex CLI 0.157.1
[otel]
environment = "prod"
log_user_prompt = false
exporter = { otlp-http = { endpoint = "http://collector.internal.example:4318/v1/logs", protocol = "binary" } }

metrics_exporter i trace_exporter przyjmują te same wartości otlp-http lub otlp-grpc. Atrybucja zespołów w Codex zwykle wynika z osobnych workspace’ów ChatGPT lub projektów API dla każdego zespołu. W Cursorze korzystaj z widoku per zespół w panelu administracyjnym. Lokalne narzędzia, takie jak ccusage, odpowiadają na pytanie „ile wydałem na tym laptopie?” i opisuje je strona o śledzeniu kosztów agentów.

Routing to dźwignia, którą kontrolujesz bezpośrednio, ale ważny jest kierunek: dostawcy domyślnie ustawiają dziś mocne modele przy umiarkowanym wysiłku. Zasada, której trzyma się ten serwis: zacznij od domyślnego modelu narzędzia, dostrój wysiłek, zanim zmienisz model, a model zmieniaj dopiero wtedy, gdy wskażą to twoje własne ewaluacje. Stan na 2026-09-26:

PracaZacznij odGdy decyduje kosztEskaluj świadomie do
Trudne zadania agentoweClaude Opus 5.5 (domyślny w Claude Code, wysiłek medium); GPT-6 Astra (domyślny w Codex)Podnoś wysiłek tylko po porażce, nie z przyzwyczajeniaClaude Fable 5.1, wybierany ręcznie przez /model fable; nigdy domyślnie
Codzienne funkcje i reviewOpus 5.5 z domyślnym wysiłkiem; GPT-6 Sol w CodexClaude Sonnet 5Opus 5.5 z wysiłkiem high
Duży wolumen, proste edycje, rozgałęzienie na subagentyClaude Haiku 4.5; GPT-6 LunaTo samoDomyślny model sesji

W kanale wydań stable Claude Code (2.1.274 na 2026-09-26) Opus 5.5 nie jest jeszcze dostępny i obowiązują starsze ustawienia domyślne. Ceny i okna kontekstu wszystkich modeli są w przeglądzie modeli.

Polityka, której nikt nie może znaleźć, nie jest polityką. Zapisz ją tam, gdzie narzędzie ją egzekwuje lub czyta:

Dodaj klucze modeli i wysiłku do tego samego pliku managed settings co w kroku 2:

{
"availableModels": ["opus", "sonnet", "haiku"],
"enforceAvailableModels": true,
"maxEffortLevel": "high"
}
  • availableModels ogranicza każde miejsce, w którym użytkownik wybiera model, łącznie z frontmatterem subagentów i CLAUDE_CODE_SUBAGENT_MODEL. Pominięcie fable blokuje Claude Fable 5.1 dla wszystkich, którzy dostają ten plik; zespołowi, który go potrzebuje, daj osobny plik.
  • enforceAvailableModels (v2.1.175 lub nowszy) rozszerza listę dozwolonych modeli na opcję Default. Bez tego użytkownik, który wybierze Default, dostanie domyślny model konta, nawet jeśli nie ma go na liście.
  • maxEffortLevel (v2.1.267 lub nowszy) ogranicza wysiłek ze wszystkich źródeł, w tym z /effort, --effort oraz frontmattera skilli i subagentów. Obowiązuje najniższy limit spośród wszystkich zakresów ustawień. Zespół zatwierdzony do xhigh lub max dostaje własny plik managed settings z wyższym limitem, tak samo jak w przypadku Fable.

Subagenty dziedziczą model sesji, chyba że ich frontmatter ustawia inny, więc zmiana przez /model na droższy model podnosi też cenę każdego dziedziczącego subagenta. Subagentom, które przeszukują kod, czytają logi lub uruchamiają testy, ustaw model: haiku.

Krok 4: ustaw budżety i alerty, które zawodzą bezpiecznie

Dział zatytułowany „Krok 4: ustaw budżety i alerty, które zawodzą bezpiecznie”

Twarde blokady, które zadziałają w środku incydentu, uczą zespoły je omijać. Stawiaj na widoczność i alerty, a twarde limity ustawiaj tylko tam, gdzie niekontrolowany wydatek naprawdę zaszkodzi.

  1. Wyznaczaj budżety per zespół, nie per osobę. Miesięczny budżet zespołu wyznacz na podstawie jednego miesiąca zmierzonych wydatków i bieżącego obciążenia zespołu. Rozdziel trzy pozycje: eksperymenty, utrzymanie produkcji i reagowanie na incydenty. Incydent nigdy nie może trafić na limit.

  2. Alarmuj przed każdym limitem. Powiadom tech leada przy 75% budżetu i engineering managera przy 90%. W Claude Code ustaw alert na claude_code.cost.usage zsumowanym po team.id w kroczącym oknie w twoim backendzie metryk.

  3. Twarde limity ustaw jako zabezpieczenie. Limit organizacji lub workspace’u ustaw na 150–200% normalnego miesiąca, żeby zadziałał tylko przy anomalii, na przykład zapętlonej automatyzacji. Limity per członek w Admin settings > Usage stosuj dla podwykonawców i kont próbnych.

  4. Ogranicz każde uruchomienie bez nadzoru. Każde zadanie CI powinno mieć własny sufit, na przykład claude -p --max-budget-usd 5 "Review this diff for injection risks". Uruchomienie z limitem zatrzymuje się; upewnij się, że zadanie zgłasza zatrzymanie i zachowuje częściowe wyniki jako artefakt.

  5. Alarmuj o koszcie bez efektu. Oznaczaj sesje i pipeline’y z powtarzanymi nieudanymi próbami oraz wydatki bez żadnej scalonej zmiany w tym samym tygodniu. To sygnały zepsutego przepływu pracy, a nie intensywnego użytkownika.

Spisz politykę, żeby mechanizmy kontroli miały właściciela. Przyjmij ten szablon bez zmian i uzupełnij nawiasy:

AI usage cost policy — [ORGANIZATION], version [N], owner: [NAME, ROLE]
1. Unit of decision: cost per accepted change (merged, not reverted within 30 days).
2. Budgets: per team, per month, in three lines — experimentation, production
operation, incident response. Incident response has no hard cap.
3. Alerts: team lead at 75%, engineering manager at 90%. Org cap at 175% of the
trailing three-month average, reviewed quarterly.
4. Models: tool defaults apply. Escalation to Claude Fable 5.1 or maximum effort
needs a named task and is reviewed monthly. Subagents doing search, logs or
tests run on the cheapest allowed model.
5. Attribution: team and cost center only; user.email is dropped or hashed in
the collector. Developer-level data requires opt-in or a documented,
reviewed purpose. Spend is never used to rate individuals.
6. Review: monthly spend review with finance; quarterly budget reallocation.
7. Evidence kept: allocation logic, currency, taxes, time window, and every
estimated or missing data source, marked as such.

Szablon jest po angielsku, bo zwykle trafia do dokumentów współdzielonych z działem finansów i dostawcami; przetłumacz go, jeśli twoja organizacja prowadzi polityki po polsku.

Uruchamiaj je w Claude Code, Codex lub Cursorze, dołączając eksport raportu wydatków lub wynik zapytania do telemetrii. We wszystkich trzech narzędziach działają tak samo.

Developerzy mogą stosować tę samą dyscyplinę w każdej sesji. Czyszczenie kontekstu między niepowiązanymi zadaniami, delegowanie rozwlekłej pracy do subagentów i zawężanie zestawu plików opisuje strona o koszcie kontekstu.

Wydatków nie weryfikujesz, czytając sesje. Weryfikujesz je testami, które głośno zawodzą, gdy mechanizm kontroli się psuje, i każdy z nich ma właściciela:

  • Co miesiąc uzgadniaj dane z fakturą. Porównaj sumę claude_code.cost.usage i raporty wydatków dostawców z fakturą. Gdy działa modelPricing, /usage oznacza sumę sesji dopiskiem „at your organization’s configured rates”; każda różnica ponad uzgodnioną tolerancję to błąd danych do poprawienia przed przeglądem. Właściciel: partner FinOps.
  • Co kwartał przeprowadź ćwiczenie alarmowe. Obniż próg jednego zespołu poniżej bieżących wydatków i potwierdź, że wiadomość dociera na kanał. Alert, który nigdy nie zadziałał, jest nieprzetestowany. Właściciel: zespół platformowy.
  • Sprawdzaj pokrycie telemetrią. Policz unikalne (anonimowe) wartości user.id raportujące claude_code.session.count i porównaj je z liczbą licencji; ta kontrola działa bez identyfikacji po adresie e-mail. user.id jest przypisany do instalacji, więc traktuj to porównanie jako przybliżone: mniej identyfikatorów niż aktywnych licencji to sygnał do sprawdzenia, bo oznacza, że ktoś pracuje bez managed settings.
  • Zestawiaj każdy widok kosztów z jakością. Przeglądaj koszt obok czasu realizacji zaakceptowanych zmian, revertów, defektów, które uciekły na produkcję, i obciążenia review z panelu metryk AI. Oszczędność, która zwiększa liczbę revertów, nie jest oszczędnością.
  • Każdą sumę da się prześledzić do źródła. Dashboard musi prowadzić od sumy zespołu do eksportu źródłowego i decyzji, którą uzasadnił. Brakujące i szacowane dane pozostają widoczne, nigdy nie są po cichu zerami.

Comiesięczny przegląd przeprowadzaj w tej kolejności:

  1. Pobierz eksport za miesiąc: sumy OpenTelemetry per zespół i raporty wydatków każdego dostawcy.
  2. Uzgodnij sumy z fakturą i zapisz każdą różnicę ponad tolerancję jako błąd danych.
  3. Uruchom prompt miesięcznego przeglądu wydatków i routingu na uzgodnionych danych.
  4. Uruchom prompt analizy wartości odstających na najdroższych sesjach i przepływach pracy.
  5. Sprawdź każdą zmianę kosztów względem metryk jakości tych samych zespołów.
  6. Zapisz decyzje (zmiany ustawień domyślnych, przesunięcia budżetu, poprawki) z właścicielem i datą.

Engineering manager zatwierdza miesięczne liczby swojego zespołu; CTO zatwierdza z działem finansów kwartalny podział budżetu.

  • Dashboardy są puste, a wydatki rosną. Telemetrię ustawiono w .claude/settings.json repozytorium, które Claude Code ignoruje dla zmiennych eksportera, albo brakuje CLAUDE_CODE_ENABLE_TELEMETRY. Naprawa: dostarcz zmienne przez managed settings, a potem przetestuj na jednej maszynie z OTEL_METRICS_EXPORTER=console i OTEL_METRIC_EXPORT_INTERVAL=10000; punkt danych claude_code.session.count pojawi się po około dziesięciu sekundach.
  • Metryki nie docierają do kolektora. Endpoint i protokół się nie zgadzają: gRPC zwykle nasłuchuje na porcie 4317, a HTTP na 4318. Naprawa: dopasuj OTEL_EXPORTER_OTLP_PROTOCOL do portu i przeszukaj wynik claude --debug-file <path> pod kątem [3P telemetry].
  • Atrybucja zespołu wraca pusta. Spacja lub cudzysłów w OTEL_RESOURCE_ATTRIBUTES unieważnia wartość. Naprawa: użyj podkreślników lub camelCase i wdróż ponownie.
  • Koszt z telemetrii nie zgadza się z fakturą. Claude Code domyślnie raportuje ceny katalogowe, a zużycie w ramach limitu licencji nie jest wyceniane w dolarach. Naprawa: ustaw modelPricing, a zużycie limitu licencji zapisuj jako osobną pozycję.
  • Lista dozwolonych modeli przecieka przez Default. Samo availableModels zostawia opcję Default na domyślnym modelu konta. Naprawa: dodaj enforceAvailableModels: true w tym samym źródle managed settings.
  • Rozgałęzienie na subagenty po cichu kosztuje stawki najdroższego modelu. Subagenty dziedziczą model sesji. Naprawa: subagentom, które głównie czytają, ustaw model: haiku, a w planach subskrypcyjnych przeglądaj udział subagentów w zestawieniu /usage.
  • Uruchomienia Codex w CI nie pokazują metryk. Naprawa: jeśli uruchomienia codex exec nie pokazują metryk w twoim kolektorze, traktuj wyjście codex exec --json z każdego uruchomienia jako zapis kosztu, dopóki metryki nie zaczną docierać.
  • Twardy limit zatrzymuje obsługę incydentu. Naprawa: przenieś pracę incydentową do osobnej pozycji budżetu bez limitu i przeglądaj ją po incydencie, nie w jego trakcie.
  • Wydatki stają się miarą wydajności. Wysokie wydatki mogą oznaczać wartościową trudną pracę albo powtarzane porażki; niskie mogą oznaczać efektywność albo brak adopcji. Naprawa: usuń rankingi osób ze wszystkich dashboardów i diagnozuj przepływy pracy.
  • Polityka wymienia modele z poprzedniego kwartału. W samym wrześniu 2026 nowe modele wypuściły Anthropic (Fable 5.1, Opus 5.5), OpenAI (GPT-6), Google (Gemini 3.8 Flash) i xAI (Grok 4.7) (daty Gemini i Grok: źródła wtórne, The Register i MarkTechPost). Naprawa: opatrz tabelę modeli datą, co miesiąc porównuj ją z przeglądem modeli i przed zmianą ustawienia domyślnego ponownie uruchom ewaluacje.