Ciągłe ewaluacje — testowanie regresyjne środowiska agenta
Ciągłe ewaluacje to zestawy regresyjne mierzące jakość, zgodność i trafność harnessu agenta (CLAUDE.md, .cursor/rules, .agents/skills i hooki) w CI. Po zmianie promptów, instrukcji, narzędzi lub modeli reprezentatywne zadania wykrywają istotny regres i dostarczają dowodów do decyzji człowieka; żaden skończony zestaw nie gwarantuje braku pogorszenia.
Pytanie w scorecardzie: W jaki sposób testujesz regresyjnie konfigurację swojego agenta (CLAUDE.md, rules, skills, hooks)? Maksymalna odpowiedź (3 pkt): Ciągły workflow ewaluacyjny w CI (.github/workflows/agent-evals.yml) uruchamiany na PR konfiguracji/skilli, z incydentami produkcyjnymi dodawanymi jako testy regresyjne.
Dlaczego to ważne w 2026
Dział zatytułowany „Dlaczego to ważne w 2026”Pliki instrukcji agenta i skille sterują milionami linii generowanego kodu, jednak większość zespołów traktuje je jak luźną dokumentację. Programista w dobrej wierze koryguje regułę lub aktualizuje domyślny model, by po kilku dniach odkryć, że agent przestał przestrzegać zasad marki albo zaczął ignorować polityki bezpieczeństwa w całej organizacji inżynierskiej.
W natywnym dla AI SDLC konfiguracja agenta jest kodem i musi być testowana jak kod. Utrzymując zestaw ewaluacyjny 20–50 reprezentatywnych zadań z deterministycznymi sprawdzeniami pass/fail, zespoły uruchamiają bezgłowe ewaluacje przy każdym PR dotykającym katalogów .claude/, .cursor/ lub .agents/. Ponadto każdy incydent produkcyjny jest przekształcany w nowy przypadek ewaluacyjny, trwale eliminując nawrót danego błędu.
Jak wygląda maksymalny wynik
Dział zatytułowany „Jak wygląda maksymalny wynik”Konfiguracja z maksymalnym wynikiem w Q17 wykazuje cztery możliwości operacyjne:
- Dedykowany workflow w CI: Zautomatyzowany przepływ (np.
.github/workflows/agent-evals.yml) uruchamia się przy każdej zmianie reguł, instrukcji lub skilli agenta. - Deterministyczna ocena: Każdy przypadek ewaluacyjny testuje wykonanie agenta według twardych kryteriów: testy jednostkowe przechodzą, linter zwraca kod 0, brak zabronionych API i obecność wymaganych wzorców architektonicznych.
- Potok od incydentu do ewaluacji: Zamknięcie ticketu z post-mortem wymaga napisania zadania ewaluacyjnego odtwarzającego dany incydent.
- Bramka merge’a: Zmiany w regułach lub skillach, które obniżają wskaźnik zaliczeń benchmarku, są blokowane przed scaleniem do
main.
Wdrożenie krok po kroku
Dział zatytułowany „Wdrożenie krok po kroku”-
Przygotuj początkowy zestaw zadań benchmarkowych.
Zbierz 15–30 historycznych zadań reprezentujących codzienne przepływy pracy w repozytorium:
- Dodanie nowego endpointu API z uwierzytelnianiem
- Refaktoryzacja zapytania do bazy danych na sparametryzowane wejścia
- Napisanie komponentu React zgodnego z tokenami design systemu
- Obsługa błędu w asynchronicznym workerze
-
Zorganizuj przypadki testowe ewaluacji.
Utwórz katalog
evals/w repozytorium. Dla każdego przypadku zdefiniuj prompt startowy, oczekiwane zmiany w plikach i polecenie weryfikujące:{"id": "eval-auth-middleware","description": "Upewnij sie, ze agent dodaje sprawdzenie autoryzacji do niechronionych tras","prompt": "Utworz nowa trase /api/v1/user/settings w src/routes/settings.ts zgodnie z naszymi standardami API.","checks": ["test -f src/routes/settings.ts","grep -q 'requireAuth' src/routes/settings.ts","npm run typecheck","npm test tests/routes/settings.test.ts"]} -
Zbuduj zautomatyzowany workflow w CI.
Utwórz
.github/workflows/agent-evals.ymldo bezgłowego uruchamiania zestawu na PR modyfikujących pliki agenta:name: Agent Evalson:pull_request:paths:- '.claude/**'- '.cursor/**'- '.agents/**'- 'CLAUDE.md'- 'AGENTS.md'jobs:eval:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v5- uses: actions/setup-node@v4with:node-version: 22- name: Run Headless Agent Evalsenv:ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}run: |npm ci# Uruchom skrypt runnera ewaluacji w trybie bezglowymnpx tsx scripts/run-evals.ts -
Wykonuj bezgłowe uruchomienia agenta w runnerze.
Wykorzystaj nieinteraktywny tryb wykonania swojego głównego narzędzia:
- Claude Code:
claude -p "PROMPT"wewnątrz odizolowanego kontenera. - Codex:
openai/codex-action@v1lubcodex exec. - Cursor: Automatyzacja Cursor Cloud Agent lub CLI w sandboksie.
- Claude Code:
-
Przekształcaj każdy incydent w trwałą ewaluację regresyjną.
Gdy na produkcję przedostanie się błąd lub wystąpi incydent, udokumentuj prompt i warunki błędu jako nowy plik JSON w
evals/. Zacommituj ewaluację wraz z dokumentem post-mortem incydentu.
Częste pułapki
Dział zatytułowany „Częste pułapki”- Testowanie modeli zamiast środowiska agenta: Pisanie ewaluacji sprawdzających ogólne ciekawostki z benchmarków LLM zamiast specyficznych konwencji i skilli Twojego repozytorium.
- Niestabilne asercje (flaky checks): Poleganie na modelach LLM w roli sędziów oceniających, podczas gdy deterministyczne polecenia basha (
npm test,grep, linter) dają natychmiastowe i bezdyskusyjne werdykty. - Uruchamianie ewaluacji wyłącznie ręcznie: Liczenie na to, że programiści będą pamiętać o lokalnym uruchomieniu testów przed wysłaniem zmian w regułach. Wymuś bramkę bezpośrednio w CI.
Jak sprawdzić, czy już tam jesteś
Dział zatytułowany „Jak sprawdzić, czy już tam jesteś”- Modyfikacja
CLAUDE.mdlub.cursor/rules/automatycznie uruchamia workflowAgent Evalsw CI. - Wskaźnik zaliczeń zestawu ewaluacyjnego jest śledzony w czasie i widoczny na dashboardzie.
- Każdy dokument post-mortem incydentu produkcyjnego zawiera zacommitowany plik w
evals/. - Zmiany w regułach, które powodują halucynacje agenta lub łamanie wytycznych, failują proces CI i blokują możliwość merge’a.