Anthropic добавила оценки плагинов в Claude Code: 6 типов оценивания, базовый вариант без плагина и CI-проверка для навыков
Anthropic опубликовала новый рабочий процесс оценки плагинов для Claude Code. Команда claude plugin eval запускает плагин на реалистичных запросах, оценивает результат, созданный Claude, и сравнивает его с запуском, в котором плагин не загружен. Она отвечает на 3 вопроса, которые разработчики плагинов ранее не могли измерить: срабатывает ли навык, сохраняет ли он работоспособность после редактирования или при использовании новой модели и превосходит ли он модель без дополнительных возможностей.
Готово к развертыванию: Да. Команда работает в Claude Code версии 2.1.269 или новее с любым каталогом, содержащим манифест plugin.json или .claude-plugin/plugin.json, а также с плагином в виде каталога навыков. Каждый запуск оценки и каждый вызов модели-судьи — это реальный вызов модели, оплачиваемый из вашего тарифного плана или API-аккаунта.
Как выглядит тестовый случай
Набор оценок находится в каталоге evals/ внутри плагина. Каждый случай представляет собой подкаталог, содержащий prompt.md и папку graders/. Тело запроса передается Claude в точности как написано, а упоминания @path не разворачиваются. Frontmatter в prompt.md может задавать max_turns (по умолчанию 10), timeout_seconds (по умолчанию 300), model, tags и allowed_tools.
Грейдеры представляют собой Markdown-файлы, в frontmatter которых задаются type, необязательный weight и необязательный arm. Существует 6 типов. Четыре ничего не стоят, поскольку вычисляются на основе транскрипта и файлов на диске: regex, tool_used, tool_order и file_exists. Два вызывают модель-судью и увеличивают счет: llm, которая оценивает ответ по заданным вами критериям в виде текста, и baseline, которая сравнивает его с эталонным ответом.
claude plugin eval init считывает плагин, спрашивает, как должен выглядеть хороший результат, предлагает случаи и грейдеры, проверяет их и записывает файлы. В CI параметр --bare <name> вместо этого создает пустой шаблон.
Главное число — Δ
По умолчанию каждый случай запускается дважды: в режиме with плагин загружен, а в режиме without — нет. Их разница, Δ, показывает вклад плагина. Если в обоих режимах случай получает оценку 1.0, то плагин не является причиной успешного результата. В примере вывода из документации один случай получает WITH 1.00, W/OUT 0.33, Δ +0.67 за 6 запусков; расчетная стоимость составляет $0.41, а продолжительность — 74 секунды. Грейдер, помеченный как only-with, обычно tool_used: Skill, отображается как индикатор и исключается из оценки, поскольку в режиме without нет навыка, который мог бы сработать.
Anthropic отмечает наиболее частый первый результат: значение Δ, близкое к нулю, при неуспешном грейдере tool_used: Skill. Это означает, что Claude не выбирает навык при использовании естественных формулировок. Именно этот дефект не может обнаружить claude plugin validate, поскольку команда проверяет синтаксис и схему манифеста, а не поведение.
Результаты сохраняются в evals/results/<timestamp>/report.html вместе с вердиктами по каждому грейдеру и голосами судей. Если аккаунт это поддерживает, отчет также публикуется на claude.ai, если не установлен параметр --no-publish.
Стоимость и CI
Набор оценок выполняет примерно cases × runs × arms запусков агента, а также 3 коротких вызова судьи для каждого грейдера llm или baseline на каждый запуск; результаты могут отличаться от запуска к запуску. Задействованная в документации команда для CI:
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Для запуска требуется установленный Claude Code и учетные данные, такие как ANTHROPIC_API_KEY. Без параметра --trust-plugin непроверенный репозиторий отклоняется с кодом выхода 1, если терминал недоступен. Проблемы в отчете никогда не изменяют код выхода, а параметр --json отключает вывод информации о ходе выполнения.
Интерактивное объяснение
Основные выводы
claude plugin evalоценивает реалистичные запросы с помощью 6 типов грейдеров; 4 из них бесплатны, аllmиbaselineоплачивают вызов модели-судьи.- По умолчанию каждый случай запускается с плагином и без него; только Δ доказывает, что результат обеспечил именно плагин.
- Значение Δ, близкое к нулю, при неуспешном грейдере
tool_used: Skillозначает, что навык никогда не срабатывает при естественных формулировках. --threshold,--max-cost-usdи--trust-pluginпревращают процесс в проверку для CI; ошибки, связанные с лимитом использования, могут создать видимость регрессии.- Требуется Claude Code версии 2.1.269 или новее; команда
claude plugin eval initсоздаст первый набор оценок за вас.
Ознакомьтесь с техническими подробностями. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении, насчитывающему более 150 тысяч участников, а также подписаться на нашу рассылку. Подождите! Вы пользуетесь Telegram? теперь вы также можете присоединиться к нам в Telegram.
Хотите сотрудничать с нами для продвижения вашего репозитория GitHub, страницы Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.