Procedura
Testy kontraktowe narzędzi
Jeżeli narzędzie ma być bezpieczne w rękach agenta, musi mieć kontrakt i testy. To stara, solidna zasada z integracji systemów — w agentach jest tylko bardziej bezwzględna.
Testy kontraktowe: stabilność na styku LLM ↔ narzędzia
Testy kontraktowe weryfikują, czy narzędzie spełnia oczekiwany kontrakt: schema wejścia/wyjścia, kody błędów, idempotency, limity i zachowanie w scenariuszach brzegowych. W Luage to fundament „tool gateway”.
Co testować (minimum)
- Schema: walidacja wejścia i wyjścia (w tym pola opcjonalne).
- Idempotency: powtórne wywołanie nie może robić podwójnych skutków.
- Timeout: zachowanie przy przekroczeniu budżetu czasu.
- Rate limit: retry/backoff i komunikat błędu do planera.
Jak budować pakiet testów
- Happy path – 3–5 przypadków reprezentatywnych.
- Edge cases – granice zakresu, puste wartości, brak uprawnień.
- Failure matrix – 4xx/5xx/timeout/rate-limit.
- Replay – deterministyczne odtwarzanie kroków (trace → test).
Praktyka: kontrakt testuje się w CI. Jeżeli testy żyją „obok”, to prędzej czy później
przestaną być aktualne i staną się martwą dokumentacją.
Format raportu
contract_test_report:
tool: "ticket.create"
version: "1.2.0"
passed: 42
failed: 1
failures:
- id: "idempotency.duplicate"
trace: "trc_91fc..."
expected: "no-op"
got: "created"
W skrócie
- kontrakt narzędzia to schema + semantyka (błędy, retry, idempotency, RBAC)
- testy muszą mieć część must‑pass i must‑fail
- bramka CI blokuje wdrożenie przy regresji, a raport jest artefaktem
- bez testów agent „uczy się” narzędzia na użytkownikach — to kosztowny sport
Jeśli to ma wejść do procesu, proszę traktować ten rozdział jako standard operacyjny.