Продакт без разработчика выпустил расширение на ИИ-агентах и защитил 89 тестами-сторожами
Продакт без разработчика с января делает расширение для Chrome руками Claude Code и Codex и не читает код. Агент говорит «все тесты проходят», но тесты писал он сам. Например, он может сменить проверку настроек с часа на сутки, и тест останется зелёным. Поэтому автор завёл 89 тестов-сторожей: они падают, если нарушено обещание продукта вроде «не реже раза в час».
AI-обработка оригинала Habr AI; редакция Hamidun News
Агент пишет: «Готово, все тесты проходят». Если в проекте нет разработчика, а код вы сами не читаете, остаётся поверить на слово или придумать способ проверки. Продакт, который с января делает расширение для Chrome силами двух ИИ-агентов, Claude Code и Codex, выбрал второе.
К 28 октября у него 593 коммита, 78 478 строк кода, 177 511 строк тестов и версия 1.0.1 в Chrome Web Store.
Но тесты писал тот же агент, что и код, так что их количество само по себе ничего не доказывает. Например, продукт обещает перечитывать файл настроек не реже раза в час. Агент меняет интервал на сутки, тест берёт новое число из того же кода, сравнивает его с самим собой и остаётся зелёным.
Пользователь при этом ждёт сутки. Против такого автор и завёл «сторожей» (по-английски guard): тесты, которые защищают конкретное обещание продукта и падают при его нарушении. Сейчас их 89.
Если вы отдаёте агенту задачу на несколько часов, этот подход можно взять себе.
Что за продукт и на чём это проверено
Расширение называется Chat with Multiple AI и отправляет один запрос сразу в 15 чатов с ИИ, среди которых ChatGPT, Claude и Gemini. Это чужие сайты, и они меняются без предупреждения. Поэтому описание того, как работать с каждым чатом, вынесено в отдельный файл настроек. Когда чат меняется, автор правит файл, и исправление доходит до пользователей без новой версии в сторе. Так было дважды: 19 октября и 1 ноября. Перед версией 1.0.1 агент сам прошёл в браузере 70 сценариев приёмки.
Проверка у автора разделена на части. Сборка, тесты и сторожа следят, чтобы правила в коде и документах не разошлись. Агент в браузере показывает, что продукт делает на самом деле. Независимый ревьюер смотрит изменения, которые писал не он. Сам продакт принимает видимое поведение по списку из отчёта: что происходит после нажатия, появился ли результат, что будет при сбое.
Сторож: обещание продукта, записанное тестом
Сторож из примера проверяет два условия: интервал перечитывания больше нуля и не превышает одного часа. Если агент поставит сутки, второе условие не выполнится, и тест упадёт. Имя файла сторожа — это само обещание обычной фразой, например «опубликованное исправление доходит до пользователя в течение часа» или «напоминание не уходит, пока не записано, что его собираются отправить». Без такой записи после перезапуска продукт не узнает, что уже отправил напоминание, и отправит его второй раз. Список файлов читается как список обещаний продукта.
Сторожей добавляли неравномерно: 2 в мае, 9 в июле, 33 в августе, 40 в сентябре и 5 в октябре. Практический шаблон просьбы к агенту такой: опишите обещание словами пользователя, попросите найти, что в коде его держит, написать сторожа с понятным именем и показать, что он падает при нарушении.
Зелёная сборка и две копии правил
Зелёная сборка может не проверять ничего. 27 июля счётчик ошибок типов (когда код путает виды данных, например обращается с текстом как с числом) дошёл до нуля. Ноль получается двумя способами: исправить ошибки или перестать их искать, например выключить строгий режим или исключить папку из проверки. Против этого у автора два приёма. Первый — минимальный порог: проверка считает прочитанные файлы и падает, если их слишком мало. Второй — намеренная поломка: в копии проекта специально нарушают правило, и сторож обязан упасть. В разработке это называют мутационным тестированием. Шаблон ломает копию проекта 42 способами и показывает, какая проверка поймала каждую поломку; на компьютере автора демонстрация идёт меньше минуты.
Ещё одна проблема — дублирование правил. Claude Code и Codex читали правила из разных файлов, CLAUDE.md и AGENTS.md, которые должны были совпадать. Расхождения копились: 9 строк в марте, 12 в июне и 21 в августе, когда в файлах было 102 и 85 строк. Файл правил за время вырос с 61 строки в феврале до 179 в октябре. С 25 сентября остался один AGENTS.md, а сторож падает, если рядом появляется другой файл правил. Скиллы (инструкции для повторяемых действий вроде коммита) лежат в папках каждого агента, поэтому сторож сверяет каждую пару.
Автор честно оговаривает: он не измерял, сколько улучшения дала обвязка, а сколько — более умные модели. Обвязку он выложил открытым шаблоном на GitHub (yesgenius/agent-harness).
- 6 нояб. 2026 г.NVIDIA предсказывает лучшего кодинг-агента до дообучения: рейтинг совпал на 96%
- 6 нояб. 2026 г.OpenAI научила ИИ-агентов находить 948 путей к root в Linux за $1,2 млн
- 6 нояб. 2026 г.Лучший ИИ-агент выполнил лишь 12% требований в новом тесте GDPx на 206 задачах
- 6 нояб. 2026 г.ИИ OpenAI нашёл 948 дыр в ядре Linux и написал заплатки за $1,2 млн
Вопросы и ответы по материалу
Что известно по теме: что за продукт и на чём это проверено?
Расширение называется Chat with Multiple AI и отправляет один запрос сразу в 15 чатов с ИИ, среди которых ChatGPT, Claude и Gemini. Это чужие сайты, и они меняются без предупреждения. Поэтому описание того, как работать с каждым чатом, вынесено в отдельный файл настроек. Когда чат меняется, автор правит файл, и исправление доходит до пользователей без новой версии в сторе. Так было дважды: 19 октября и 1 ноября. Перед версией 1.0.1 агент сам прошёл в браузере 70 сценариев приёмки.
Что известно по теме: сторож: обещание продукта, записанное тестом?
Сторож из примера проверяет два условия: интервал перечитывания больше нуля и не превышает одного часа. Если агент поставит сутки, второе условие не выполнится, и тест упадёт. Имя файла сторожа — это само обещание обычной фразой, например «опубликованное исправление доходит до пользователя в течение часа» или «напоминание не уходит, пока не записано, что его собираются отправить». Без такой записи после перезапуска продукт не узнает, что уже отправил напоминание, и отправит его второй раз.
Что известно по теме: зелёная сборка и две копии правил?
Зелёная сборка может не проверять ничего. 27 июля счётчик ошибок типов (когда код путает виды данных, например обращается с текстом как с числом) дошёл до нуля. Ноль получается двумя способами: исправить ошибки или перестать их искать, например выключить строгий режим или исключить папку из проверки. Против этого у автора два приёма. Первый — минимальный порог: проверка считает прочитанные файлы и падает, если их слишком мало.
Соберите рабочего ИИ-агента или сервис своими руками без ручного кода
В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.