Аудитор только для чтения логов событий ИИ-агентов
Это перевод. Основная версия — оригинал на английском; ссылайтесь на него.
AI-Watchbird-Sheckley — это небольшой модуль Python, который читает журнал событий многоагентного запуска ИИ и отчитывается о признаках того, что её надзор растет, буксует или разрушает её работу. У него нет полномочий: он никогда ничего не блокирует, не редактирует и не открывает.
Зачем аудировать сам цикл надзора
Статья рассмотрела существующие защиты, счетчики шагов и бюджета, а также оценивающие модели-судьи 14 сентября 2026 года. Ни один из инструментов в рассмотренной публичной документации не рассматривает сам цикл надзора как единицу измерения. Ни один не измеряет рост контролей, раунды, превышающие бюджет, установленный выводами, охрану, чей вердикт никогда не меняется, успех без отрицательного контроля или частичную работу, уничтоженную на потолке.
Дизайн: читать, отчитываться, не блокировать
Модуль написан на Python 3, использует только стандартную библиотеку и не имеет доступа в сеть. Устанавливается как пакет ai-watchbird-sheckley и выполняется как команда с тем же именем; audit --json выдаёт машиночитаемый отчёт. Он читает журнал событий запуска и создаёт отчёты. Его код выхода не зависит от сигналов, которые он выдаёт. Его список сигналов заморожен, поэтому добавление сигнала требует токена авторизации и изменения версии. Он не выводит ничего при чистом запуске, что проверяет тест.
Также поставляются три правила бюджета как чистые функции, которые может вызвать конвейер:
- R1,
stop_rule: один цикл критики и один цикл исправлений за этап. Блокатор учитывается только при наличии конкретного сценария, ссылки на объявленную цель миссии и подтверждения координатором. Возвращаетfix_once,close,incompleteилиcut, и никогда не создаёт новый этап. - R2,
settle_at_ceiling: сохраняет то, что участник произвёл до потолка, отмечено как частичное. - R3,
admit_control: допускает новую проверку, цикл, роль или шлюз только с токеном авторизации; в противном случае возвращает отказ как запись.
Девять сигналов для надзора над мультиагентными системами
Раздел измерений сообщает о девяти сигналах, W1 по W9: расширение мандата (этап, не вытекающий из зафиксированной цели миссии), слепой или деструктивный страж (один вердикт по 20 и более решениям, каждое одобрение откатано, или отсутствует требуемый ввод), храповик управления (элементы управления, добавленные без токена полномочий), самоподдерживающийся цикл (раунды сверх бюджета или раунд, открытый после раунда без подтвержденного блокировщика), мнимая победа (победа без отрицательного контроля или A/A пробы), построено для никого (артефакты по умолчанию отключены без вызывающих), уничтоженная частичная работа, неподтвержденный блокировщик, управляющий работой, и граница без зафиксированного автора.
Протестировано на своих опровергателях
Шесть опровергателей указывают, как было бы опровергнуто развертывание, претендующее на следование правилам, например если второй раунд критики может быть запланирован без токена авторизации, или если остановка процесса на потолке отбрасывает его частичный результат. У каждого есть тест. Скрипт мутаций применяет восемнадцать целевых мутаций; каждая делает набор красным, а контрольная мутация, которая изменяет только комментарий, оставляет его зеленым.
На шести журналах воспроизведения чистый контроль и утренний этап не производят никаких сигналов. При реконструированном долгосрочном запуске, где этапы фактически выполнили пять, пять и один раундов, stop_rule закрыл бы все три на точке бюджета.
Что модуль не делает
Статья прямо указывает на ограничения:
- Исходные логи не вошли в воспроизведения. Они были восстановлены из опубликованных подсчётов, и "где точное число не было опубликовано, используется и отмечается наименьшее правдоподобное значение".
- Сигнал сообщает о наличии закономерности. Причина и потери находятся вне того, что измеряет сигнал.
- Он видит только то, что записано в логах. Ворота, которые никогда не логировались, цель, которая никогда не была записана, и работа, которую люди перестают попытаться выполнять из-за наличия охраны, невидимы для него.
- Это цифровое и только для чтения, и не должно отправлять команды роботу, дрону, автопилоту или исполнительному механизму. Воплощённый профиль предлагается только как формат события.
Модуль сам по себе является новым контролем, поэтому его собственное правило R3 применяется к нему в первую очередь. Когда его реализация была встроена в конвейер автора, она была допущена с условием об отставке, не выдала сигнал в трёх реальных прогонах и была удалена 15 сентября датированным решением человека.
Запуск
Приложение B содержит команды для выполнения из папки модуля: pip install ., затем ai-watchbird-sheckley audit <log.jsonl> для одного журнала событий, ai-watchbird-sheckley replay replays/ для регенерации таблицы воспроизведения и python3 -m unittest -v для модульных и фальсификационных тестов. Журнал событий — это файл в формате JSON-lines с одним событием в строке.
Эталонная реализация, тесты, журналы воспроизведения и данные рандомизированного теста архивированы на Zenodo как AI-Watchbird-Sheckley версия 1.1.0 с концептуальным DOI 10.5281/zenodo.22774269, который разрешается в текущую версию.
Полные разделы: модуль (10), что уже существует (10.1), проектирование (10.2), фальсификаторы (10.3), воспроизведения (10.4), что модуль не делает (10.5), в конвейере автора (10.6), запуск модуля (Приложение B).
Chernets, V. (2026). AI-Watchbird (Sheckley): When Automated Oversight Widens Its Own Mandate and Harms What It Guards. SSRN 7473658. https://doi.org/10.2139/ssrn.7473658
Vadym Chernets также разрабатывает Poly A1, приложение, в котором ИИ из разных компаний проверяют работу друг друга.