Odpalasz swojego pierwszego produkcyjnego agenta — AI, który nie tylko odpowiada na pytania, ale naprawdę robi rzeczy: łańcuchuje 50–200 wywołań narzędzi (requestów do zewnętrznych serwisów jak Slack, Linear, GitHub), pisze kod, wysyła wiadomości, tworzy tickety. Klient zależy od wyniku. Życie jest piękne.
A potem klient dostaje złą odpowiedź. Twój agent napisał do złego projektu w Linear, zmergował kiepski PR, wysłał DM-a na Slacku do CEO zamiast do juniora. Musisz dowiedzieć się dlaczego — zanim zrobi to ponownie.
Sięgasz więc po błyszczące nowe narzędzia do obserwowalności, które każda większa platforma wypuściła w kwietniu 2026. 8 kwietnia Anthropic uruchomił Managed Agents z wbudowanym śledzeniem sesji i logami wywołań narzędzi. 10 kwietnia Zed wypuścił Agent Metrics — dashboardy śledzące 2 miliony sesji, 15,4 miliona turnów, histogramy latencji z 536 różnych agentów. 15 kwietnia OpenAI zaktualizowało swoje Agents SDK z auto-tracingiem rejestrującym każde wywołanie narzędzia, każdy handoff i każdy output modelu — zero dodatkowej instrumentacji — plus pełna kompatybilność z OpenTelemetry (OpenTelemetry to branżowy standard zbierania danych o wydajności, coś jak uniwersalna wtyczka do narzędzi monitorujących).
Każdy vendor rozwiązał ten sam problem: pokaż mi, co się wydarzyło. I zrobili to dobrze. Otwierasz trace'y — spany (pojedyncze rekordy każdej operacji) dla każdego wywołania LLM, każdego tool calla, każdego tokena (kawałka słowa, który AI przetwarza). Piękne diagramy waterfall. Precyzyjne liczby latencji.
Ale tu się łamie. Trace agenta to nie trace mikroserwisu. Mikroserwisy — małe, niezależne programy napędzające większość aplikacji webowych — są deterministyczne: ten sam input, ten sam output, ten sam bug, powtarzalny fix. Agenty są niedeterministyczne: odpal dokładnie to samo zadanie ponownie, a dostaniesz inne decyzje w kroku 47. Agent wybrał ścieżkę A, ale nie widzisz, jak wyglądała ścieżka B, ani dlaczego wybrał A zamiast B mając 80 000 tokenów skumulowanego kontekstu ("pamięci roboczej" AI — wszystkiego, co przeczytał i wygenerował do tego momentu).
Jak napisał Simon Willison w swoim przewodniku Agentic Engineering Patterns z 3 kwietnia: "Nie możemy zapewnić, że agent działa zgodnie z założeniami, ani zdiagnozować problemów, jeśli jego operacje są całkowicie nieprzejrzyste." A post-mortem Sentry z 16 kwietnia trafił w sedno problemu: każdy span raportuje status: ok, ale output jest kompletnie błędny. Bug żyje pomiędzy agentami — jedno wywołanie narzędzia po cichu degraduje input dla innego agenta dwa kroki później.
Debugowanie złej decyzji agenta na podstawie jego trace'a jest jak debugowanie ludzkiej decyzji na podstawie Google Kalendarza — widzisz, jakie miał spotkania, nie widzisz, co myślał.
Rynkowy workaround: LLM-as-judge — użycie drugiego modelu AI do oceny decyzji pierwszego. Braintrust (zebrał 80 mln dolarów w lutym przy wycenie 800 mln), trajectory evals LangSmitha i Arize Phoenix — wszyscy dokręcają ewaluację do trace'ów. Ale każdy dodaje nową zależność, dodatkowy koszt tokenów na punkt decyzyjny, i — uwaga, punchline — model-sędzia ma te same architektoniczne martwe punkty co agent, którego ocenia.
Praktyczny workaround na dziś: wymuś na swoim agencie emitowanie ustrukturyzowanego rozumowania w każdym punkcie rozgałęzienia. Nie tylko rekord wywołania narzędzia, ale JSON z uzasadnieniem:
import json
def log_decision(step: int, options: list[str], chosen: str, reasoning: str):
"""Emit a searchable reasoning trail at every branch."""
entry = {
"step": step,
"options_considered": options,
"chosen_action": chosen,
"reasoning": reasoning,
"context_tokens_used": get_current_context_length(),
}
logger.info("agent_decision", extra=entry)
return entry
# Inside your agent loop:
log_decision(
step=47,
options=["post to #general", "post to #engineering", "DM the assignee"],
chosen="DM the assignee",
reasoning="Ticket is labeled 'confidential', channel posting violates policy"
)
Tak, kosztuje dodatkowe tokeny. Tak, spowalnia wykonanie. Ale to jedyny sposób, żeby zbudować przeszukiwalny ślad rozumowania, który człowiek może zaudytować po awarii — bo same trace'y nie powiedzą ci, dlaczego krok 47 poszedł w krzaki.
Każda platforma dostarczyła "co się wydarzyło". Nikt nie dostarczył "dlaczego ta ścieżka, a nie inna". Pierwsza firma, która zbuduje obserwowalność natywną dla rozumowania — nie natywną dla trace'ów, natywną dla rozumowania — przejmie warstwę debugowania dla każdego produkcyjnego agenta, tak jak Datadog przejął monitoring mikroserwisów. Do tego czasu czytasz kalendarz swojego agenta i zgadujesz, co sobie myślał.




