Konrad Kowalski (rootsher)Principal Platform & Reliability Architect110100000111000001110000000100011010101101000111

Observability, bezpieczeństwo i kontrola

data
kategoria
AI Agents
także w
Observability · Application Security
czytanie
2 min / 489 słów

To jeden z największych kroków względem pojedynczego agenta.

Jeżeli agent działa w jednym zespole, można jeszcze zajrzeć do jego logów i ręcznie sprawdzić, co zrobił.

Przy dziesiątkach agentów organizacja musi mieć normalną warstwę observability.

Nie tylko:

text
HTTP 200
CPU 30%

ale również:

text
jaki task dostał?
którego modelu użył?
jakiego RAG użył?
jakie dokumenty dostał?
które tools wywołał?
z jakimi argumentami?
co tool zwrócił?
ile tokenów zużył?
ile trwał task?
co wysłał na zewnątrz?
co znalazło się w finalnym output?

Trace jednego taska

Dla PAY-123 możemy zobaczyć:

text
PAY-123
|
v
jira.get_issue
|
v
git clone
|
v
model call
|
v
engineering_docs.search
|
v
model call
|
v
edit files
|
v
run tests
|
v
github.create_pull_request

Każdy krok może być spanem w trace.

To zaczyna przypominać distributed tracing znany z microservices.

Co mierzymy operacyjnie

Runtime

  • request count,
  • latency,
  • failures,
  • retries,
  • CPU/memory.

Model

  • model calls,
  • token usage,
  • latency,
  • koszt.

Tools

  • który tool został użyty,
  • ile razy,
  • z jakim wynikiem,
  • gdzie występują błędy.

Workflow

  • czas wykonania taska,
  • liczba kroków,
  • ile razy agent wracał do modelu,
  • gdzie najczęściej się zatrzymuje.

Analiza inputów i outputów

Przy agentach ważne jest również to, co przepływa przez system.

Możemy analizować:

  • prompt injection,
  • próby wyciągnięcia system promptu,
  • sekrety w promptach,
  • klucze API w tool arguments,
  • dane osobowe,
  • dane poufne w outputach,
  • nieautoryzowane informacje wracające z RAG.

Przykład:

text
tool output
contains AWS_SECRET_KEY
|
v
security control
|
v
block / redact / alert

Albo:

text
retrieved document
contains malicious instruction:
"ignore previous instructions..."
|
v
prompt injection detection
|
v
block / flag

Guardrails i policies

Nie wszystko powinno zależeć od decyzji modelu.

Możemy mieć deterministyczną policy:

text
Implementer Agent
MAY:
- read repo
- create branch
- create PR

MUST NOT:
- merge PR
- delete repo
- deploy production

Tool gateway może odrzucić niedozwolone działanie nawet wtedy, gdy model spróbuje je wykonać.

Gdzie konfigurujemy observability

Repo agenta

Dodaje telemetry context:

text
agent = implementer
issue = PAY-123
repo = payments-service
team = payments

i ewentualne custom spans.

Platforma

Zapewnia:

  • trace backend,
  • logi,
  • dashboardy,
  • alerty,
  • retencję,
  • dostęp do telemetry,
  • security filters,
  • redaction.

Tool gateway / guardrails

Kontroluje input/output na granicy tool calls.

Narzędzia na rynku

ObszarAzureAWSGCPNiezależne
Agent tracingFoundry Tracing + Application InsightsAgentCore Observability + CloudWatchCloud Trace + Agent Engine telemetryOpenTelemetry, Langfuse, LangSmith
Runtime metricsAzure Monitor / App InsightsCloudWatchCloud MonitoringGrafana / OTEL backend
Prompt / output safetyFoundry Guardrails, Prompt ShieldsBedrock Guardrails / AgentCore PolicyVertex AI safety controls (Model Armor)własne filters
Sensitive dataredaction + protected trace data / Azure security stacksensitive information guardrailsGoogle Cloud DLP / security controlscustom DLP
Tool policyFoundry identity/policies around toolsAgentCore Policy + GatewayIAM / Agent Gateway policieswłasny policy layer

Ważny detal: traces też są danymi

Trace może zawierać:

  • user input,
  • model output,
  • tool arguments,
  • tool results.

Czyli observability samo może stać się źródłem wycieku.

Dlatego organizacja musi kontrolować:

  • czy zapisujemy pełną treść promptów,
  • co redagujemy,
  • kto ma dostęp do trace,
  • jak długo je trzymamy.

Observability nie jest dodatkiem na koniec.

Przy agentach staje się częścią mechanizmu kontroli.

Materiały

do góry