← СИГНАЛ ИНСТРУМЕНТЫ
ИНСТРУМЕНТЫ

Разработчик создал надсмотрщик для ИИ-агентов

Автор написал локальный инструмент AIWorks, который следит за работой Claude Code и напоминает агенту о продолжении задачи. За сутки система отправила 63 пул-реквеста к самой себе.

Разработчик, днём занятый корпоративными системами, а по вечерам — собственными проектами на базе Claude Code, столкнулся с неожиданной проблемой: писать код он стал меньше, а координировать работу ИИ-агента — больше. Агент останавливался после каждого шага и ждал команды «продолжай», слово «готово» ничего не доказывало, а ночью заканчивался лимит подписки, и работа вставала до утра. В ответ он создал локальный надсмотрщик AIWorks — постоянно работающий процесс на Node.js под Windows с состоянием в SQLite и публикацией результатов в GitHub.

Архитектура AIWorks строится на жёстких правилах, зафиксированных до первой строки кода. План утверждается один раз, и надсмотрщик работает только в его рамках; агент не проверяет сам себя — результат каждого шага валидирует отдельная свежая сессия, не участвовавшая в написании кода; никаких слияний и деплоя — только ветки, пул-реквесты и комментарии. Человека беспокоят лишь тогда, когда решение может принять только он: ожидание лимитов, перезапуск после сбоя и повторные проверки в этот список не входят.

Технически сборщик — это запуск Claude Code без интерфейса, личных настроек, хуков и MCP-серверов, внутри Windows Job Object с таймаутом и сердцебиением. Результат шага засчитывается только при наличии валидного JSON с хэшем нового чистого коммита, а проверяющий работает на отдельном чекауте того же коммита в режиме только для чтения и обязан воспроизвести хэш и отпечаток отчёта. Claude выступает основным исполнителем, Codex и Cursor — запасными, причём переход к другому провайдеру возможен только из-за проблем самого сервиса, но не для обхода провалившейся проверки.

12–13 октября разработчик передал AIWorks его собственный репозиторий: общий план утвердил человек, а пошаговые планы и слияние проверенных пул-реквестов вела отдельная сессия Claude. За 24,5 часа система провела 63 завершённых изменения, каждое из которых прошло независимую проверку; около 53% кода AIWorks, примерно 25 тысяч строк, написано именно так. Вмешательство человека потребовалось лишь несколько раз, а две ночные заметки в трекере сводились к фразе «от вас ничего не нужно».

В процессе выявились и сбои. Публикация через gh pr create и GraphQL при высоком темпе исчерпала квоту аккаунта, и надсмотрщик начал каждые пять минут стучаться в закрытую дверь — исправлением стал перевод вызовов на REST через gh api с ожиданием точного времени сброса лимита, которое сообщает GitHub. Пришлось также строго определить понятие «слито»: теперь это совпадение URL, флаг merged: true, head.sha, равный проверенному коммиту, правильная базовая ветка и полный 40-символьный merge_commit_sha.

Отдельного внимания заслуживает случай с тестом, который проходил на Windows, но падал в CI на Linux. Тест проверял отказ предпроверки при наличии файлов Readme.md и README.md, различающихся только регистром, и на NTFS подсовывал фальшивый листинг каталога, оставляя настоящий lstat. На Windows lstat находил файл и тест проходил, а на Linux с чувствительной к регистру файловой системой lstat падал с ENOENT, сканер считал файл исчезнувшим и пропускал коллизию. Код продукта был прав на обеих платформах — неправ оказался тест, описывавший папку, которую можно подделать только на Windows.

Ещё одна проблема касалась доверия к отчётам: в них иногда встречались итоги тестов, не совпадавшие с реальным выводом, — модель «помнила» число прошедших тестов и писала его. После этого отчёту нельзя доверять без открытия лога, поэтому сборщик теперь копирует итоговые строки дословно, а проверяющий сверяет их со своим прогоном; несовпадение считается блокирующей находкой даже при хорошем коде. В промпты добавили правило: тест, зависящий от платформы, обязан это явно учитывать и не ослаблять проверку на Windows.

claudegithubразработкаai-агентытестирование
Первоисточник Читать в Хабр ↗

Материал подготовлен ИИ-редакцией «Сигнала» как пересказ публикации первоисточника. Фактическую точность и подробности проверяйте по оригиналу.

По этой теме ИССЛЕДОВАНИЯ Четыре ИИ-субагента нашли ошибку одиночного агента Хабр · 14 окт, 12:02 ИНСТРУМЕНТЫ Агентная разработка растит технологический зоопарк Хабр · 14 окт, 20:02 ИНСТРУМЕНТЫ Регрессионное тестирование промптов выявило пропуски Хабр · 14 окт, 16:45 ИНСТРУМЕНТЫ Anthropic переписала систему контроля версий Simon Willison · 14 окт, 04:00 ИНСТРУМЕНТЫ Разработчик клонировал Word, Excel и PowerPoint на Claude TechSpot · 13 окт, 23:53