agent-regression-evals — плагин для Claude Code: регрессии агентов
Сравнивает прогоны агента до и после правки и решает, можно ли мержить. Нужен, когда одна попытка не отличает регрессию от случайности.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install agent-regression-evals@claude-code-skillsЧто делает agent-regression-evals
Агенты отвечают недетерминированно. Один прогон на кейс не покажет, стало хуже или просто повезло, а верный финальный ответ скрывает лишний вызов инструмента. Плагин берёт результаты повторных прогонов и превращает их в решение о мерже со статистикой за спиной.
Внутри три скрипта на стандартной библиотеке Python. trajectory_checker.py оценивает путь вызовов инструментов в режимах strict, unordered, subset и superset, сверяет аргументы и блокирует запрещённые инструменты в любом режиме. flake_detector.py делит кейсы на стабильные и мигающие по повторным прогонам, считает pass@k и pass^k с интервалами Уилсона. regression_gate.py усредняет прогоны по кейсу, сравнивает кейсы через t-интервал и односторонний точный тест МакНемара и выдаёт BLOCK при значимом падении, регрессии критичного кейса, удалённом кейсе или записи в карантине без владельца и срока. Плюс агент cs-eval-gatekeeper, команды /cs-agent-evals и /cs-eval-gate, три справочника и пример CI-джобы.
Скрипты запускаются напрямую, у каждого есть --help, --sample и --output json. Учтите: слишком мало прогонов на кейс — это код выхода 4, гейт не станет угадывать по трём попыткам. Карантин здесь с истечением: без владельца и даты запись сама возвращается в проверку. Проверка пути по умолчанию идёт в режиме superset, потому что строгое совпадение пути рубит допустимые альтернативы.
Какие задачи решает
- отличить реальную регрессию агента от случайного разброса
- поймать лишний или запрещённый вызов инструмента, спрятанный за верным ответом
- найти кейсы, которые мигают между одинаковыми прогонами
- заблокировать мерж при значимом падении pass-рейта
- не дать удалить падающий кейс ради зелёного CI
Примеры запросов агенту
- /cs-agent-evals baseline.jsonl candidate.jsonl cases.json
- /cs-eval-gate baseline.jsonl candidate.jsonl
- прогони python scripts/flake_detector.py --sample и покажи, какие кейсы мигают
Как установить agent-regression-evals
Через маркетплейс плагинов
/plugin marketplace add alirezarezvani/claude-skills/plugin install agent-regression-evals@claude-code-skillsПо шагам, с командами для каждой платформы: Плагины Claude Code: маркетплейсы, установка и как собрать свой
Вопросы о agent-regression-evals
Как установить agent-regression-evals в Claude?
Сначала добавьте маркетплейс: /plugin marketplace add alirezarezvani/claude-skills. Затем поставьте плагин: /plugin install agent-regression-evals@claude-code-skills.
Что делает agent-regression-evals?
Сравнивает базовый и новый прогоны агента и решает, есть ли измеримое ухудшение. Три скрипта проверяют путь вызовов инструментов, стабильность кейсов и значимость падения.
Чем это отличается от prompt-governance и self-eval?
prompt-governance версионирует и регистрирует промпты, self-eval оценивает работу одной сессии. Здесь гейт стоит на конкретном изменении агента, промпта, модели или инструмента.
Исходный текст
agent-regression-evals · MIT
# agent-regression-evals > "The pass rate went from 82% to 79%" is not a finding until you know whether > three points is outside the noise. Agents are non-deterministic. One trial per case cannot tell a regression from a coin flip, and a correct final answer can hide a tool call that should never have happened. This plugin turns repeated-trial eval results into a merge decision with the statistics behind it. ## Install ```bash /plugin marketplace add alirezarezvani/claude-skills /plugin install agent-regression-evals ``` ## Use ```bash /cs-agent-evals baseline.jsonl candidate.jsonl cases.json # full pass /cs-eval-gate baseline.jsonl candidate.jsonl # just the gate ``` Or run the scripts directly. Each has `--help`, `--sample` and `--output json`: ```bash cd skills/agent-regression-evals python scripts/trajectory_checker.py --sample python scripts/flake_detector.py --sample python scripts/regression_gate.py --sample ``` ## The three scripts | Script | Question | Exit codes | |---|---|---| | `trajectory_checker.py` | Did the agent take an acceptable path? strict / unordered / subset / superset, argument matching, **forbidden tools block in every mode** | 0 · 2 deviations · 3 bad input · **4 forbidden tool** | | `flake_detector.py` | Which cases are stable and which flip between identical trials? pass@k, **pass^k**, Wilson intervals, quarantine stubs | 0 · 2 flaky · 3 · **4 too few trials** | | `regression_gate.py` | Is the candidate measurably worse? Per-case averaging, paired t-based CI, exact one-sided McNemar, critical cases, dropped cases, quarantine validity, cost | 0 PASS · 2 WARN · 3 · **4 BLOCK** | ## Design decisions - **pass^k, not just pass@k.** A user meets every trial, not the best one. tau-bench showed a model at 61% pass^1 falling below 25% at pass^8. - **Average within a case, compare across cases.** Treating 5 trials x 40 cases as 200 independent samples overstates confidence (Miller 2024). - **Missing cases block.** Deleting a failing case is the cheapest way to "fix" a regression. - **Quarantine expires.** Every entry needs an owner and a date; expired entries re-enter the gate by themselves. - **Outcome first, path where it matters.** Trajectory checks default to `superset`, following Anthropic's warning that strict path checks fail valid alternatives. See `skills/agent-regression-evals/references/` for every formula and its source. ## Distinct from - `prompt-governance` — versions and registers prompts; this gates a change. - `self-eval` — grades one session's work. - `agenthub` eval — ranks parallel agents inside one session. ## License MIT
© Alireza Rezvani · MIT · alirezarezvani/claude-skills