Testy wtyczki (evals)
claude plugin eval uruchamia wtyczkę na zestawie przypadków testowych i ocenia wyniki. Każdy przypadek opisuje realistyczną prośbę użytkownika i zawiera co najmniej jeden grader sprawdzający rezultat, na przykład odpowiedź Claude’a lub użycie określonego narzędzia. Porównanie wyniku z wtyczką i bez niej pozwala sprawdzić, jaki wkład wnosi wtyczka.
claude plugin eval init może przygotować przypadki i gradery, zamiast wymagać ręcznego napisania całego zestawu. W trakcie inicjalizacji Claude proponuje prompty, projektuje dla nich gradery, testuje je próbnie i zapisuje osobny katalog dla każdego promptu. Przy zwykłym uruchomieniu każdy przypadek jest wykonywany trzy razy z wtyczką i trzy razy bez niej, czyli obejmuje sześć uruchomień.
Przypadki zapisuje się jako katalogi w katalogu evalów; mogą zawierać prompt.md, case.yaml albo oba te pliki. Każdy przypadek musi mieć co najmniej jeden grader, bo bez niego nie zostanie wczytany. Przy testowaniu umiejętności korzystających z MCP można użyć plików mock, dzięki którym Claude otrzymuje odpowiedź narzędzia bez uruchamiania prawdziwego serwera.
Uruchomienia evalów i gradery oceniane przez sędziego wykonują prawdziwe wywołania modelu, więc zużywają limit planu lub generują opłatę API. W CI można zapisać wynik w JSON, ustawić próg, przypiąć modele i ograniczyć koszt uruchomienia. Kod wyjścia równy zero oznacza, że każdy przypadek osiągnął co najmniej ustawiony próg i nie wystąpił inny błąd uruchomienia. Różnica wyniku między uruchomieniem z wtyczką i bez niej jest raportowana, ale nie wpływa na kod wyjścia.
claude plugin eval .
claude plugin eval . --case <case-name> --runs 1 --ablation none
claude plugin eval . \ --trust-plugin \ --json results.json \ --threshold 0.8 \ --model claude-sonnet-5 \ --judge-model claude-haiku-4-5 \ --no-publish \ --max-cost-usd 20
Zastosowanie w praktyce
Użyj evalów, gdy chcesz mierzyć, jak niezawodnie wtyczka prowadzi Claude’a do właściwego rezultatu. Uruchamiaj zestaw po zmianie wtyczki albo po wydaniu nowego modelu, aby wykrywać regresje. W projekcie zespołowym możesz włączyć próg evalów do CI i uzależnić wynik zadania od kodu wyjścia polecenia. Jeśli w katalogu głównym wtyczki istnieje już evals/ używane przez inne narzędzie, ustaw inny katalog dla zestawu lub przekaż go flagą przy uruchomieniu.