🧪 Что это
Automated Compliance Auditor (навык skill-comply) — это инструмент для автоматической верификации того, насколько голосовые агенты, например Claude, следуют зафиксированным инструкциям: skills, правилам (rules) и определениям агентов (agents).
Вместо ручного тестирования или субъективных оценок, скрипт генерирует тестовые сценарии с разным уровнем давления на промпт, запускает агента, собирает полный лог вызовов инструментов (tool calls) и с помощью LLM (а не простого regex) классифицирует каждый вызов — соответствует ли он ожидаемому шагу из спецификации.
Результат — самодостаточный отчёт с метриками compliance (процент следования), временной шкалой вызовов и пометками, какие шаги спецификации были выполнены, а какие — пропущены.
⚙️ Как работает
### 1. Авто-генерация спецификации поведения
Из любого .md-файла (skill, правило или агент) автоматически извлекается последовательность ожидаемых действий. Например, для правила testing.md можно ожидать: «запустить pytest», «проверить coverage», «написать тест до кода».
Спецификация формируется вызовом LLM, которая анализирует описание инструкции.
### 2. Генерация сценариев с разной строгостью промпта
Для одной и той же спецификации создаются три сценария:
- Supportive — промпт явно напоминает агенту следовать правилу.
- Neutral — правило не упоминается (проверка самопроизвольного выполнения).
- Competing — даются противоречащие инструкции (проверка устойчивости правила).
Каждый сценарий — это отдельный промпт, который будет отдан агенту.
### 3. Исполнение и сбор трейсов
Запускается Claude (claude -p) с каждым сценарием, а вывод (включая все вызовы инструментов) захватывается в JSON-потоке (stream-json).
Используются инструменты Read и Bash из ECC (Editor, Command, Code) — типовые действия агента: чтение файлов, выполнение команд, редактирование.
### 4. Классификация и проверка порядка
Каждый вызов инструмента (tool call) классифицируется LLM: к какому шагу спецификации он относится. Затем детерминированно проверяется временной порядок — все шаги должны быть выполнены, и в правильной последовательности.
Если агент сделал лишние шаги или переставил местами — это снизит compliance.
### 5. Формирование отчёта
Отчёт содержит:
- Ожидаемую последовательность (авто-сгенерированный spec).
- Тексты промптов для каждого уровня строгости.
- Compliance score (в процентах) для каждого сценария.
- Временные шкалы tool calls с метками классификации.
- (опционально) Рекомендации по hook promotion для слабых мест.
Отчёт самодостаточен — его можно передать коллеге или приложить к PR.
🎯 Когда использовать
- После добавления нового навыка или правила — убедиться, что агент реально его выполняет.
- При рефакторинге правил — проверить, что изменения не сломали compliance.
- Как часть CI/CD пайплайна качества — периодический прогон для поддержания дисциплины.
- При подозрении, что правило игнорируется — запустить
skill-comply и получить объективные цифры.
Хорошо подходит для: testing.md, security.md, git-workflow.md, search-first skill и других workflow-описаний.
💻 Пример использования
# Полный прогон для правила testing.md
uv run python -m scripts.run ~/.claude/rules/common/testing.md
# Холостой прогон (без затрат) — генерация spec и сценариев
uv run python -m scripts.run --dry-run ~/.claude/skills/search-first/SKILL.md
# Кастомные модели: генерация сценариев через haiku, проверка через sonnet
uv run python -m scripts.run --gen-model haiku --model sonnet `path`
⚠️ Важно знать
- Prompt Independence — ключевое понятие: навык проверяет, следует ли агент инструкции даже если промпт её не поддерживает (neutral и competing сценарии).
- Стоимость: dry-run (флаг
--dry-run) бесплатен — можно сначала проверить, корректно ли сгенерированы spec и сценарии, и только потом запускать полный прогон с реальными вызовами Claude.
- LLM vs Regex: классификация делается через LLM, а не поиск подстроки — это позволяет распознавать смысл, а не точное совпадение команды.
- Temporal ordering проверяется детерминированно (алгоритмически, не LLM) — это увеличивает надёжность.
- Agent definitions: для файлов
agents/*.md поддерживается только проверка того, был ли агент вызван, а не внутренние шаги его работы (пока).
- Отчёты содержат hook promotion recommendations для опытных пользователей — но основная ценность именно в измерении compliance, а не в автоматическом исправлении.
Комментарии
Комментариев пока нет. Будьте первым.