Pomiar pracy z agentami: telemetria, koszty, review, bezpieczeństwo i ewaluacje
Pomiar pracy z agentami to co tydzień odpowiedź na cztery pytania: ile kosztowali agenci, co dostarczyli, co wyłapało review i co przeciekło na produkcję. Odpowiadają na nie trzy warstwy narzędzi: telemetria wbudowana w Claude Code i Codex, lokalne liczniki zużycia, takie jak ccusage, oraz platformy ewaluacji i śledzenia, a także bramki API (gatewaye). Jako pierwszą warstwę włącza się wbudowaną telemetrię.
Twój zespół od kwartału pracuje z Claude Code, Codeksem albo Cursorem. Faktura urosła, liczba zmergowanych pull requestów też, a nikt nie potrafi powiedzieć, czy te dodatkowe zmiany są dobre, bo jedyne dane to suma z faktury i kilka wątków na Slacku. Ta strona jest dla programisty, który ma włączyć pomiar, i dla tech leada, który prowadzi cotygodniowy przegląd. CTO może potraktować kolejność z sekcji o tym, co włączyć najpierw, jako plan wdrożenia.
Co daje ci ten zestaw pomiarowy
Dział zatytułowany „Co daje ci ten zestaw pomiarowy”- Mapę trzech warstw pomiaru i zadania każdej z nich, żeby nie kupować platformy do pytania, na które odpowiada wbudowane ustawienie.
- 15 narzędzi do obserwowalności i jakości, które liczą się we wrześniu 2026, ze sprawdzonymi poleceniami instalacji, datowaną popularnością i stroną, która opisuje każde z nich dokładnie.
- Kolejność włączania dla zespołu albo całej organizacji: co uruchomić w pierwszym tygodniu, a co zostawić na później.
- Smoke test telemetrii dla Claude Code i Codeksa, który dowodzi, że dane płyną, zanim zbudujesz dashboard, oraz drogę dla Cursora.
- Cotygodniowy raport z pracy agentów (wydatki, pull requesty, uwagi z review, defekty produkcyjne) z szablonem, trzema promptami do skopiowania i pułapkami, przez które liczby kłamią.
Po co w ogóle mierzyć pracę agentów?
Dział zatytułowany „Po co w ogóle mierzyć pracę agentów?”Agenci szybciej zmieniają ilość kodu niż jego jakość, a pomiar pozwala odróżnić jedno od drugiego. Raport DORA 2025 mówi to wprost: „AI doesn’t fix a team; it amplifies what’s already there” (Google Cloud, zapowiedź raportu DORA 2025, 2025-09-23). Cotygodniowy raport to najtańszy sposób, żeby zobaczyć, co AI wzmacnia w twoim zespole.
Raport nie zastępuje metryk dostarczania. Definicje metryk, których używa ta witryna (m.in. wskaźnik zaakceptowanych zmian, czyli accepted change rate, defekty produkcyjne na 100 zmergowanych zmian, koszt zaakceptowanej zmiany i siedem kolejnych), są na kanonicznej stronie o metrykach. Ta strona opisuje narzędzia, które dostarczają surowych liczb.
Jakie są trzy warstwy pomiaru pracy agentów?
Dział zatytułowany „Jakie są trzy warstwy pomiaru pracy agentów?”Każda warstwa odpowiada na inne pytania i ma innego właściciela. Większość zespołów potrzebuje pierwszej warstwy w całości, drugiej dla poszczególnych osób, a trzeciej tylko w części.
| Warstwa | Odpowiada na | Przykłady | Kto ją prowadzi | Koszt utrzymania |
|---|---|---|---|---|
| 1. Telemetria producenta | Sesje, tokeny, szacowany koszt, linie, commity i pull requesty per repozytorium | OpenTelemetry i dashboard analityczny Claude Code; [otel] w Codeksie; analityka administracyjna Cursora | Zespół platformowy albo tech lead, raz, w zarządzanej konfiguracji | Collector, który już masz, albo hostowany backend OTel |
| 2. Lokalne liczniki zużycia | „Ile dziś wydałem i jak blisko jestem limitu planu?” | ccusage, Claude-Code-Usage-Monitor, tokscale, /usage w Claude Code | Każdy programista | Za darmo; czytają lokalne logi, nic nie opuszcza maszyny |
| 3. Platformy ewaluacji, śledzenia i bramki API | Czy zmiana w CLAUDE.md poprawiła agenta? Który zespół ile wydał? Dlaczego ta sesja się wysypała? | Langfuse, promptfoo, Inspect SWE, Braintrust; LiteLLM i Cloudflare AI Gateway do wydatków per zespół; claude gateway do SSO i dostępu do modeli per grupa | Zespół platformowy | Platforma do hostowania albo kupienia; bramka API stoi na ścieżce każdego żądania |
Boty do code review i skanery bezpieczeństwa stoją obok trzech warstw jako bramki jakości: nie mierzą zużycia, tylko zgłaszają uwagi. Ich wynik liczy wiersz „uwagi z review” w cotygodniowym raporcie.
Które narzędzia do obserwowalności i jakości liczą się we wrześniu 2026?
Dział zatytułowany „Które narzędzia do obserwowalności i jakości liczą się we wrześniu 2026?”Tabela układa narzędzia według przydatności dla zespołu pracującego z Claude Code, Codeksem albo Cursorem, ważonej adopcją. Popularność na 2026-09-26: gwiazdki z GitHub API oraz wersje pakietów z npm i PyPI, odczytane tego dnia. Gwiazdki mierzą uwagę poświęconą repozytorium, a nie użycie. Liczby pobrań pomijamy.
| # | Narzędzie | Mierzy albo blokuje | Instalacja lub włączenie | Popularność (2026-09-26) | Więcej |
|---|---|---|---|---|---|
| 1 | Claude Code OpenTelemetry | Koszt, tokeny, linie, commity, pull requesty | CLAUDE_CODE_ENABLE_TELEMETRY=1 oraz OTEL_METRICS_EXPORTER i OTEL_LOGS_EXPORTER | wbudowane w 2.1.283 | Telemetria |
| 2 | Dashboard analityczny Claude Code, /usage, /insights | Adopcja, atrybucja pull requestów; zużycie jednej osoby | Funkcja planów Team i Enterprise; /usage w sesji | funkcja producenta | Telemetria |
| 3 | ccusage | Koszt z lokalnych logów ok. 18 agentów, bloki 5-godzinne | npx ccusage@latest | 18,7 tys. gwiazdek; npm 20.0.24 | Koszty |
| 4 | Codex OpenTelemetry | Logi, metryki i ślady | Tabela [otel] w ~/.codex/config.toml | wbudowane w 0.157.1 | Telemetria |
| 5 | Claude Code Review, /code-review, claude-code-action | Uwagi do pull requestów | @claude review w PR; /code-review w sesji; anthropics/claude-code-action@v1 | akcja: 9,0 tys. gwiazdek | Boty do review |
| 6 | codex review, openai/codex-action | Uwagi do diffu, lokalnie albo w CI | codex review --base main; codex review "Focus on auth" | akcja: 1,2 tys. gwiazdek | Boty do review |
| 7 | Langfuse i jego plugin do Claude Code | Ślad (trace) każdej sesji Claude Code | claude plugin marketplace add langfuse/Claude-Observability-Plugin → claude plugin install langfuse-observability@langfuse-observability | 35,1 tys. gwiazdek (repozytorium pluginu: 24) | Ewaluacje |
| 8 | promptfoo | Ewaluacje i red-teaming; uruchamia Claude Agent SDK albo Codex SDK jako testowany system | npx promptfoo@latest init --example getting-started | 25,5 tys. gwiazdek; npm 0.123.1 | Ewaluacje |
| 9 | Proxy LiteLLM | Wydatki i budżety per klucz wirtualny | uv tool install 'litellm[proxy]', z przypiętą wersją i sprawdzonym hashem | 59,6 tys. gwiazdek; PyPI 1.102.1 | Koszty |
| 10 | Snyk Agent Scan | Skanuje konfiguracje MCP i skille pod kątem wstrzyknięć | uvx snyk-agent-scan@latest | 3,1 tys. gwiazdek; PyPI 0.6.4 | Bramki bezpieczeństwa |
| 11 | Semgrep Guardian, semgrep mcp | SAST na każdym pliku, który zapisze agent | W Claude Code /plugin, potem Discover, potem Semgrep | 16,8 tys. gwiazdek; PyPI 1.178.0 | Bramki bezpieczeństwa |
| 12 | Gitleaks | Sekrety w commitach | brew install gitleaks, potem hook pre-commit | 29,5 tys. gwiazdek | Bramki bezpieczeństwa |
| 13 | TruffleHog | Sekrety, weryfikowane u wystawcy | brew install trufflehog | 28,1 tys. gwiazdek | Bramki bezpieczeństwa |
| 14 | anthropics/claude-code-security-review | Komentarze z przeglądu bezpieczeństwa w pull requestach | GitHub Action | 6,3 tys. gwiazdek | Bramki bezpieczeństwa |
| 15 | Entire CLI | Które prompty i która sesja wyprodukowały dany commit | brew install --cask entireio/tap/entire | 5,1 tys. gwiazdek; v0.11.3 (2026-09-25) | Telemetria |
Wiersz 6 przyjmuje własne instrukcje tylko bez flagi celu: codex-cli 0.157.1 odrzuca prompt połączony z --base, --uncommitted albo --commit.
Sprawdzone i opisane na stronach szczegółowych są też: Braintrust, Opik, Arize Phoenix, Inspect AI z Inspect SWE, DeepEval, garak, Portkey, Cloudflare AI Gateway, Claude-Code-Usage-Monitor, tokscale, SonarQube MCP i Snyk MCP. Nie zaczynaj nowego projektu na Helicone: od marca 2026 jest w trybie utrzymaniowym (źródła wtórne: wpisy Helicone i Mintlify o przejęciu).
Co CTO powinien włączyć najpierw?
Dział zatytułowany „Co CTO powinien włączyć najpierw?”Najpierw włącz warstwę, która odpowiada na najdroższe otwarte pytanie. W niemal każdej organizacji brzmi ono „ile płacimy i co z tego mamy?”, więc poniższa kolejność zaczyna się od telemetrii producenta, a ewaluacje zostawia na później.
-
Tydzień 1: telemetria producenta, przez zarządzaną konfigurację. Wpisz zmienne OpenTelemetry Claude Code do zarządzanych ustawień (zobacz zarządzane polityki) i dołącz blok
[otel]Codeksa do standardowegoconfig.toml. Programista nie zapomni ustawienia, którego nigdy nie musiał ustawiać. Projekt dla całej organizacji, z potokami collectora, kluczami łączenia i retencją, jest na stronie obserwowalność agentów. -
Tydzień 1: znacznik na pull requestach. W planie Claude Team lub Enterprise zainstaluj aplikację Claude na GitHubie i włącz GitHub analytics, żeby zmergowane pull requesty dostawały etykietę
claude-code-assisted, a dla Codeksa i Cursora dodaj pole wyboruagent-assisteddo szablonu pull requesta. Bez znacznika każda późniejsza metryka porównuje nic z niczym. -
Tydzień 2: deterministyczne bramki bezpieczeństwa. Gitleaks jako hook pre-commit i skan SAST w CI. Agenci commitują często i nie męczą się, więc te bramki uruchamiają się częściej niż w zespołach złożonych tylko z ludzi, a nie kosztują ani jednego tokena.
-
Tydzień 3: jeden bot do review, zmierzony. Zacznij od bota dołączonego do głównego narzędzia (
/code-reviewalbo Claude Code Review,codex reviewalbo Bugbot) i zapisuj, które uwagi prowadzą do zmiany w kodzie. Według dokumentacji Anthropic zarządzany Claude Code Review (research preview w planach Team i Enterprise; niedostępny przy Zero Data Retention) kosztuje średnio 15–25 USD za review (stan na 2026-09-26), więc zmierz go, zanim włączysz go we wszystkich repozytoriach. -
Tydzień 4: przypisanie kosztów. ccusage dla poszczególnych osób. Bramka API z kluczami wirtualnymi (LiteLLM albo Cloudflare AI Gateway) dopiero wtedy, gdy finanse potrzebują budżetów per zespół, których OpenTelemetry nie wymusi.
claude gatewayto osobna rzecz: samodzielnie hostowany gateway Anthropic do uwierzytelniania i telemetrii, służący do SSO i dostępu do modeli per grupa. Koszt zaakceptowanej zmiany obejmuje licencje, a nie tylko zużycie i tokeny, tak jak metryka 8 na stronie o frameworkach metryk. -
Później: ewaluacje. Zbuduj zestaw ewaluacyjny, gdy wspólne reguły w
CLAUDE.mdalboAGENTS.md, skille lub modele zmieniasz na tyle często, że „wydaje się lepiej” przestaje wystarczać. Claude Code 2.1.283 ma teżclaude plugin eval, które uruchamia przypadki ewaluacyjne pluginu i porównuje je z przebiegiem bez pluginu.
Sprawdź smoke testem, że telemetria działa
Dział zatytułowany „Sprawdź smoke testem, że telemetria działa”Najszybszy dowód, że telemetria działa, to eksporter konsolowy: punkt danych pojawia się w twoim terminalu, zanim postawisz jakikolwiek collector. Eksport OTLP, stos z collectorem i panele dashboardu opisuje strona OpenTelemetry i analityka dla Claude Code, Codeksa i Cursora; ta sekcja tylko sprawdza, czy dane w ogóle płyną.
W terminalu, z którego uruchamiasz Claude Code:
# Smoke test: wypisuj metryki w tym terminalu co 10 sekundexport CLAUDE_CODE_ENABLE_TELEMETRY=1export OTEL_METRICS_EXPORTER=consoleexport OTEL_METRIC_EXPORT_INTERVAL=10000claudeW ciągu jednego interwału eksportu terminal wypisze punkt danych claude_code.session.count. W zespole zmienne eksportera trafiają do bloku env w zarządzanych ustawieniach: Claude Code ignoruje je w .claude/settings.json repozytorium, więc repozytorium nie przekieruje twojej telemetrii.
Codex nie ma eksportera konsolowego, więc smoke test to lokalny collector OTLP i tabela [otel] w ~/.codex/config.toml (nazwy pól ze źródeł Codeksa w wersji 0.157.1):
[otel]log_user_prompt = falsemetrics_exporter = { otlp-http = { endpoint = "http://localhost:4318/v1/metrics", protocol = "binary" } }Ustaw metrics_exporter jawnie. W 0.157.1 nieustawiony metrics_exporter przyjmuje domyślnie statsig, wewnętrzne miejsce docelowe Codeksa, a nie wyłączenie eksportu. Uruchom raz Codeksa z codex --strict-config, który kończy działanie na każdym polu w config.toml nieznanym tej wersji, więc literówka w kluczu [otel] nie przejdzie po cichu. Osobno sprawdź uruchomienie w trybie headless (codex exec): zgłoszenie (openai/codex#12913, status niezweryfikowany w 0.157.1) mówi, że codex exec nie emituje metryk OpenTelemetry. Konfigurację collectora opisuje strona o telemetrii.
Stan na 2026-09-26: nie potwierdziliśmy, że Cursor dokumentuje eksport OpenTelemetry. Dane da się jednak zdobyć na dwa sposoby:
# Pochodzenie commitów: które prompty i sesja wyprodukowały commitbrew install --cask entireio/tap/entirecd your-repoentire enable --agent cursor --telemetry=falseentire statusDrugą drogą jest dashboard administracyjny i Analytics API Cursora w planach Teams i Enterprise oraz AI Code Tracking API w Enterprise. Te informacje są wtórne (fragmenty dokumentacji Cursora z wyszukiwarki), więc potwierdź je w konsoli administracyjnej, zanim na nich zbudujesz.
Cotygodniowy raport z pracy agentów: wydatki, PR-y, uwagi z review, defekty produkcyjne
Dział zatytułowany „Cotygodniowy raport z pracy agentów: wydatki, PR-y, uwagi z review, defekty produkcyjne”W cotygodniowym raporcie spotykają się wszystkie warstwy. Gdy źródła danych już działają, agent przygotowuje szkic, a tech lead go sprawdza. Raportuj per repozytorium i per kohorta (zmiany z udziałem agenta kontra cała reszta), nigdy per osoba.
-
Wydatki. Szacowany koszt Claude Code weź z
claude_code.cost.usage. Dla Codeksa weź szacowany koszt zcodex.turn.cost_microusd(mikro-USD na turę, codex-cli 0.157.1) albo uruchomnpx ccusage@latest weekly --json --by-agenti weź wiersze Codeksa (ccusage 20.0.24;ccusage codexnie ma widoku tygodniowego). ccusage czyta tylko logi z lokalnej maszyny, więc daje liczby per programista, a nie sumy zespołu. Dla Cursora weź zużycie z dashboardu administracyjnego albo z Analytics API (plany Teams i Enterprise; informacja wtórna, potwierdź ją w konsoli). Bramka API, jeśli jej używasz, raportuje wydatki wszystkich narzędzi, które przez nią przechodzą. Wszystko to są szacunki: raz w miesiącu uzgadniaj je z fakturą. -
Pull requesty. Policz zmergowane pull requesty ze znacznikiem agenta i ich udział we wszystkich zmergowanych. Przez GitHub CLI:
Okno terminala SINCE=2026-09-19 # pierwszy dzień tygodnia raportugh pr list --state merged --label claude-code-assisted \--search "merged:>=$SINCE" --json number,title,url --limit 200gh pr list --state merged --label agent-assisted \--search "merged:>=$SINCE" --json number,title,url --limit 200gh pr list --state merged \--search "merged:>=$SINCE" --json number --limit 500 --jq lengthOstatnie polecenie liczy wszystkie zmergowane pull requesty, czyli mianownik udziału.
-
Uwagi z review. Policz uwagi zgłoszone przez każdego bota i każdą bramkę jakości oraz to, ile z nich doprowadziło do zmiany w kodzie. Ten odsetek uwag wdrożonych to przybliżenie precyzji, od którego zależy, czy bot zachowa budżet. Uwagi z deterministycznych bramek bezpieczeństwa (Gitleaks, Semgrep) zapisuj osobno od uwag modeli.
-
Defekty produkcyjne. Policz błędy produkcyjne zgłoszone w tym tygodniu, które da się przypisać do zmergowanej zmiany, na 100 zmergowanych zmian, osobno dla każdej kohorty. To metryka 7 na kanonicznej stronie o metrykach. Każdy taki defekt w kohorcie agentów dostaje jednozdaniową notkę o tym, która bramka jakości powinna była go złapać.
-
Zdecyduj o jednej rzeczy. Każdy raport kończy się jedną zmianą w konfiguracji agenta (harness): nowym testem, regułą w
CLAUDE.mdalboAGENTS.md, regułą skanera albo ustawieniem bota do review. Raport, który niczego nie zmienia, to dashboard na pokaz.
Zapisz ten szablon jako docs/agent-report/TEMPLATE.md w repozytorium, w którym zespół trzyma runbooki:
# Raport z pracy agentów — tydzień od RRRR-MM-DD (repozytorium: NAZWA)
| Pozycja | Z udziałem agenta | Pozostałe | Źródło || --- | --- | --- | --- || Zmergowane PR-y | | | gh pr list, etykieta `claude-code-assisted` / `agent-assisted` || Szacowane wydatki (USD) | | nd. | `claude_code.cost.usage` / `codex.turn.cost_microusd` / ccusage / bramka API || Koszt zaakceptowanej zmiany (USD) | | nd. | (szacowane wydatki + koszt licencji) ÷ PR-y z udziałem agenta zmergowane 14–21 dni temu i od tego czasu niecofnięte ani niepoprawiane || Uwagi z review: zgłoszone / uwzględnione | | | komentarze botów, logi bramek || Defekty produkcyjne na 100 zmergowanych zmian | | | tracker błędów, powiązane PR-y |
Defekty produkcyjne w tym tygodniu: PR, błąd, która bramka powinna go złapać.Jedna zmiana w konfiguracji agenta (harness) na przyszły tydzień: ...Właściciel: tech lead. Akceptacja: engineering manager.Prompty do skopiowania dla cotygodniowego raportu
Dział zatytułowany „Prompty do skopiowania dla cotygodniowego raportu”Uruchamiaj je w Claude Code, Codeksie albo Cursorze z checkoutu repozytorium, z GitHub CLI zalogowanym tokenem tylko do odczytu. We wszystkich trzech narzędziach prompty są takie same.
BUG_NUMBER to numer zgłoszenia z błędem, który trafił na produkcję.
Skąd wiesz, że sam pomiar jest poprawny?
Dział zatytułowany „Skąd wiesz, że sam pomiar jest poprawny?”System pomiarowy to kod i psuje się jak kod: po cichu. Pięć kontroli pilnuje, żeby liczby nie kłamały, a tech lead zatwierdza każdą z nich, zanim liczby trafią na slajd dla zarządu.
- Znane zdarzenie daje znany punkt danych. Uruchom jedną sesję i sprawdź, że licznik sesji w backendzie wzrósł o jeden. Powtarzaj to po każdej aktualizacji collectora albo Claude Code.
- Wydatki się uzgadniają. Raz w miesiącu porównaj koszt z OpenTelemetry albo z bramki API z fakturą. Różnica powyżej przyjętej tolerancji oznacza zespół bez eksportu, drugą ścieżkę rozliczeń albo złą tabelę cen.
- Atrybucja jest wyrywkowo sprawdzana. Wylosuj pięć zmergowanych pull requestów i porównaj etykietę z historią sesji albo z trailerem checkpointu Entire.
- Kohorty, nie ludzie. Żaden panel nie grupuje po
user_idani adresie e-mail. Panele per osoba zamieniają raport w inwigilację, a metrykę w cel do wyśrubowania. - Szybkość nigdy bez stabilności. Liczba zmergowanych pull requestów i wydatki zawsze stoją obok defektów produkcyjnych albo 14-dniowego wskaźnika poprawek (follow-up fix rate).
Co się psuje, gdy mierzysz pracę z agentami?
Dział zatytułowany „Co się psuje, gdy mierzysz pracę z agentami?”| Objaw | Przyczyna | Naprawa |
|---|---|---|
| Udział zmian z agentem skacze gwałtownie w jeden tydzień | Zaczął liczyć nowy znacznik (aplikacja GitHub, pole w szablonie), a nie zmieniło się zachowanie | Oznacz na dashboardzie datę uruchomienia każdego znacznika; porównuj tylko okresy z tymi samymi znacznikami |
| Uwag od bota przybywa, nikt ich nie wdraża | Bot jest nastawiony na czułość; ludzie zamykają wątki bez czytania | Śledź odsetek uwag wdrożonych per bot; dostrój go (REVIEW.md dla Claude Code Review) albo go wyłącz |
| Wydatki stoją w miejscu, a faktura rośnie | Druga ścieżka rozliczeń: klucze API w CI, bramka API albo zużycie Cursora poza OpenTelemetry | Uzgadniaj co miesiąc; puść klucze z CI przez bramkę API albo je otaguj |
| Ludzie zaczynają nabijać liczbę zmergowanych PR-ów | Raport pokazano per osoba | Usuń widoki per osoba; raportuj tylko kohorty per repozytorium |
Ile pomiar kosztuje w kontekście i w pieniądzach?
Dział zatytułowany „Ile pomiar kosztuje w kontekście i w pieniądzach?”Pomiar kosztuje w dwóch miejscach: w oknie kontekstu modelu i na fakturze.
- Koszt kontekstu. Eksport OpenTelemetry, ccusage i bramki API działają poza modelem i nie dokładają tokenów do sesji. Pluginy i serwery MCP dokładają: uruchom
claude plugin details <plugin>, żeby zobaczyć prognozowany koszt pluginu w tokenach, i/contextprzed dodaniem i po dodaniu serwera, takiego jak Grafana MCP albo Sentry MCP. - Pieniądze. ccusage, Gitleaks, TruffleHog i eksport OpenTelemetry są darmowe, poza collectorem, który hostujesz. Zarządzane boty do review kosztują za review albo za stanowisko; liczbą do śledzenia jest koszt zaakceptowanej zmiany, a nie koszt jednego review.