Проверка перед запуском сайта: цикл верификации агента
Прежде чем кричать «готово» - дай агенту самому себя проверить
Проверка перед запуском сайта: цикл верификации из 6 шагов - сборка, типы, линтер, тесты, безопасность, просмотр изменений. Чтобы сайт не падал на первом клике.
Что значит «проверка перед запуском» простыми словами
Представь: друг шлёт фото торта. Ровный, блестящий, свечки горят. «Готово, налетай!» Ты приходишь - а внутри сырое тесто. Снаружи-то красота. Просто зубочисткой никто не проткнул.
Вот «готово» от ИИ-агента - это ровно тот момент, когда зубочистку ещё не доставали. Агент честно сделал, что ты просил. И искренне верит, что всё прекрасно. Только он не проверял. Пока ты не попросил.
Зачем вайбкодеру проверять результат агента
Ты вайбкодер. Код построчно не читаешь - и это окей. Но как раз поэтому тебе нужен способ проверить результат, не читая код. Цикл проверки - и есть этот способ. Освоишь - получишь сразу несколько плюшек:
- перестанешь выкладывать сайты, которые ломаются на первом же клике;
- поймаешь ошибку, пока она маленькая - а не когда друзья пишут «у тебя там всё белое»;
- научишься отличать «агент думает, что сделал» от «реально работает»;
- будешь спать спокойно. Потому что на руках зелёный отчёт, а не просто вера в лучшее.
Между «я выложил сайт» и «я выложил рабочий сайт» - один прогон проверки. Десять минут, которые экономят тебе целый вечер позора.
Как работает цикл проверки (verification loop) у Claude
У толкового агента есть встроенная привычка - верификация Верификация (verification) - проверка, что сделанное реально работает: собирается, запускается, проходит тесты. Не «я думаю, ок», а «я проверил, вот доказательство». . Никакой магии. И никакого одного волшебного теста. Это чек-лист по фазам, который агент проходит сверху вниз. Пройдёмся по нему по-человечески.
Шаг 1. Сборка проекта - а оно вообще собирается?
Первый и самый главный вопрос: проект собирается в готовый сайт - или падает с ошибкой? Это как проверить, что из ингредиентов вышел торт, а не лужа на противне.
Шаг 2. Проверка типов - все детали стыкуются?
Дальше - проверка типов Проверка типов (type check) - авто-контроль, что данные стыкуются: число туда, где ждут число, текст туда, где ждут текст. Ловит кучу глупых ошибок до запуска. . По-простому: контроль «винтик А реально влезает в дырку А, а не забит молотком наискосок». Машина сама пробегает по проекту и показывает, где что-то не стыкуется. Критичные ошибки чиним сразу. Не откладываем.
Шаг 3. Линтер - придирчивый сосед-перфекционист
Линтер Линтер (linter) - авто-проверка стиля и аккуратности кода. Не ломает сайт, но ловит мусор, опечатки и подозрительные места. - это въедливый сосед. Ходит по квартире и бурчит: тут пыльно, тут криво повесил, тут лампочку забыл вкрутить. От его ворчания сайт не падает. Зато порядок наводит - и мимоходом частенько ловит настоящие баги.
Шаг 4. Тесты - кто-то жмёт за тебя все кнопки
Тесты Тесты - маленькие авто-проверки: «нажми сюда - должно случиться вот это». Гоняются за секунды и показывают, что не сломалось то, что раньше работало. - это робот, который вместо тебя жмёт на все кнопки и сверяет: делают они то, что должны, или нет. Агент их запускает и докладывает честно: сколько всего тестов, сколько прошло, сколько упало.
Шаг 5. Безопасность - не забыл ли ключи в замке
Тут агент ищет то, что никогда не должно попасть в публичный код: пароли, секретные ключи, токены доступа. Это как проверить, не оставил ли ты ключи от квартиры под ковриком с надписью «КЛЮЧИ ТУТ». А заодно вычищает забытые отладочные «крики в консоль».
Шаг 6. Просмотр изменений - что вообще поменялось
Финал: агент смотрит список того, что реально потрогал. Какие файлы изменились, сколько строк. Вот тут и всплывают сюрпризы. «Ой, я переписал не тот файл». Или «а почему изменилось 40 файлов - я же просил поправить одну кнопку?»
Как выглядит хороший отчёт о проверке
В конце агент должен выдать тебе короткий отчёт-светофор. Не простыню текста. Вот как с первого взгляда отличить полезный отчёт от пустышки.
- Видно каждую фазу: сборка, типы, линтер, тесты, безопасность.
- Рядом с каждой - PASS или FAIL и цифры: сколько ошибок, сколько тестов прошло.
- Внизу честный вердикт: «готово к публикации» или «не готово».
- Что-то красное - есть список «что чинить» по пунктам.
- Просто «всё готово» без единой цифры и доказательства.
- Сказал «тесты прошли», но не показал, сколько их было.
- FAIL спрятан где-то в середине, а сверху бодрое «успех».
- Стена логов без вывода - сам разбирайся, прошло или нет.
Пример: почему «готово» от агента ломает сайт
Ты вайбкодишь лендинг для своего канала. Агент час трудится не покладая процессора - генерит формы, анимации, галерею. И радостно пишет: «Готово! Сайт полностью работает 🎉». Ты выкладываешь, кидаешь ссылку друзьям - а там белый экран и одна грустная ошибка в углу.
Что случилось на самом деле:
- Агент дописал последнюю фичу и не пересобрал проект - сборка тихо упала.
- Где-то «винтик не влез» (ошибка типов), а проверить было некому.
- «Готово» означало «я закончил печатать». А не «я проверил, что работает».
Понимающий вайбкодер сыграл бы хитрее. Он заранее запретил бы агенту произносить «готово» без отчёта:
Когда закончишь задачу, не пиши мне «готово», пока не прогонишь полную проверку и не покажешь отчёт.
Пройди по шагам:
- Собери проект. Если сборка упала - остановись и сначала почини её, новое пока не трогай.
- Проверь типы и линтер, перечисли найденные ошибки.
- Запусти тесты и напиши: сколько всего, сколько прошло, сколько упало.
- Проверь, что в код не попали пароли, ключи и токены.
- Покажи список изменённых файлов.
В конце выдай короткий отчёт-светофор по каждому пункту: PASS или FAIL. И честный вердикт: готово к публикации или нет. Если что-то красное - сначала чини, потом докладывай.
Когда запускать проверку перед запуском
Дёргать зубочистку после каждой буквы не надо - это медленно и дорого по токенам. Гоняй проверку на границах:
- Закончил фичу - прогнал проверку, убедился, что не задел старое.
- Перед публикацией - обязательно. Последний рубеж перед лицом друзей.
- После большой переделки - агент много перетряхнул, зацепить что-нибудь проще простого.
- Когда «странно себя ведёт» - кнопка не жмётся, картинка не грузится. Проверка покажет, где именно.
- В долгой сессии - раз в 10-15 минут активной работы, чтобы ошибка не росла снежным комом.
Частые ошибки новичка при проверке сайта
- Верить слову «готово». Это гипотеза. Факт - только зелёный отчёт после проверки.
- Пилить новое поверх упавшей сборки. Сборка красная - всё остальное бессмысленно. Сначала чини её.
- Проверять один раз в самом конце. Ошибок накопится гора, и поди разбери, какая откуда. Гоняй на границах.
- Принимать «тесты прошли» без цифр. Сколько их было-то? Может, тестов ровно ноль - вот «все и прошли».
- Махнуть рукой на безопасность. Один забытый ключ в публичном коде - и воспользуется им явно не тот человек.
- Публиковать, не открыв сам сайт. Даже зелёный отчёт не отменяет того, чтобы ткнуть в живой сайт собственными глазами.
TL;DR - если коротко
- «Готово» от агента - это гипотеза. Факт появляется, только когда проект собрался и запустился.
- Цикл проверки - 6 шагов: сборка, типы, линтер, тесты, секреты, просмотр изменений.
- Правило номер один: сборка упала - стоп. Не строй второй этаж на рухнувшем первом.
- Проверку гоняет сам агент - ты просто запрещаешь ему говорить «готово» без зелёного отчёта.
- Хороший отчёт - светофор с цифрами, а не простыня логов и бодрое «всё работает».
- Запускай на границах: закончил фичу, перед публикацией, после переделки - не один раз в конце.