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-arm, коли плагін завантажено, і в режимі without-arm, коли його не завантажено. Їхня різниця, Δ, показує внесок плагіна. Якщо випадок отримує 1.0 в обох режимах, успішне проходження не є заслугою плагіна. У прикладі виводу з документації один випадок отримує WITH 1.00, W/OUT 0.33, Δ +0.67 за 6 запусків, орієнтовна вартість становить $0.41, а тривалість — 74 секунди. Оцінювач, позначений як with-only, зазвичай tool_used: Skill, відображається як індикатор і не враховується в оцінці, оскільки without-arm не має навички, яка могла б спрацювати.
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, релізу продукту, вебінару тощо? Зв’яжіться з нами
Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.