Новый стандарт валидации: от синтаксиса к поведению
Ранее инструменты валидации, такие как `claude plugin validate`, проверяли только корректность манифестов и схем JSON. Они не могли гарантировать, что плагин реально сработает в сценарии использования. Новый инструмент `claude plugin eval` решает эту проблему, запуская плагин против реалистичных промптов и сравнивая результат с базовой линией (без плагина). Это позволяет ответить на три ключевых вопроса: срабатывает ли навык, устойчив ли он к изменениям модели и превосходит ли он «голую» модель.
Архитектура оценки: 6 типов градеров
Оценка строится на сравнении двух прогонов: с плагином (with-arm) и без него (without-arm). Разница между ними — метрика Δ — является единственным доказательством ценности плагина. Инструмент поддерживает 6 типов градеров, разделенных на бесплатные (вычисляемые локально) и платные (требующие вызова модели-судьи).
| Тип градера | Стоимость | Описание |
|---|---|---|
regex |
Бесплатно | Проверка совпадений регулярных выражений в выводе |
tool_used |
Бесплатно | Фиксация факта использования конкретного инструмента |
tool_order |
Бесплатно | Проверка последовательности вызовов инструментов |
file_exists |
Бесплатно | Проверка наличия созданных или измененных файлов |
llm |
Платно | Оценка качества ответа моделью-судьей по заданным критериям |
baseline |
Платно | Сравнение результата с эталонным ответом (reference answer) |
Практика: как работает метрика Δ
Ключевая метрика успеха — прирост качества. Если плагин не дает значимого прироста, он не нужен. Anthropic приводит пример: в одном из тестов плагин обеспечил прирост Δ +0.67 (с 0.33 до 1.00), что стоило $0.41 и заняло 74 секунды. Особое внимание уделяется сценарию, когда tool_used: Skill падает, а Δ близок к нулю — это означает, что Claude игнорирует навык при естественных формулировках запросов, что является критическим дефектом.
Интеграция в CI/CD и контроль затрат
Инструмент полностью готов к использованию в пайплайнах сборки. Поддерживается ограничение бюджета через флаг --max-cost-usd и пороговое значение качества через --threshold. Для запуска в CI требуется Claude Code версии v2.1.269 или новее. Команда запуска выглядит следующим образом:
claude plugin eval --trust plugin \
--json results.json \
--threshold 0.8 \
--model claude sonnet \
--judge model claude haiku \
--no-publish \
--max-cost-usd 20
Результаты сохраняются в виде HTML-отчетов с детализацией по каждому градеру и голосам моделей-судей. При наличии соответствующих прав отчеты могут автоматически публиковаться в интерфейсе claude.ai.
Источник: MarkTechPost ↗
