Anthropic добавя оценки на плъгини към Claude Code: 6 типа оценяване, базова линия без плъгин и CI проверка за уменията
Anthropic публикува нов работен процес за оценяване на плъгини за Claude Code. Командата claude plugin eval изпълнява плъгин с реалистични подкани, оценява резултата, генериран от Claude, и го сравнява с изпълнение, при което плъгинът не е зареден. Тя отговаря на 3 въпроса, които разработчиците на плъгини досега не можеха да измерят: задейства ли се умението, запазва ли ефективността си след редакция или при нов модел и превъзхожда ли базовия модел.
Готово за внедряване: Да. Работи с Claude Code v2.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> вместо това записва празен шаблон.
Важното число е Δ
По подразбиране всеки случай се изпълнява два пъти: с плъгина, когато той е зареден, и без плъгина, когато не е зареден. Разликата между тях, Δ, показва какво е допринесъл плъгинът. Ако даден случай получи 1.0 и при двете изпълнения, плъгинът не е причината за успеха. Примерният изход в документацията показва един случай със WITH 1.00, W/OUT 0.33 и Δ +0.67 при 6 изпълнения, с приблизителна цена $0.41 и продължителност 74 секунди. Оценяващ, маркиран с with-only, обикновено tool_used: Skill, се отчита като индикатор и се изключва от оценката, тъй като при изпълнението без плъгина няма умение, което да се задейства.
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 v2.1.269+;
claude plugin eval initсъздава първия набор вместо вас.
Разгледайте техническите подробности. Също така можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия ML SubReddit с над 150 хил. членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Сега можете да се присъедините към нас и в Telegram.
Имате нужда от партньор за популяризиране на вашето GitHub хранилище ИЛИ страница в Hugging Face, ИЛИ представяне на продукт, ИЛИ уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.