AI-агент говорит «готово», а тесты упали: как проверять работу Claude Code

Отчёт AI-агента о работе не доказывает, что работа сделана. Проверять Claude Code нужно тремя действиями, и все три доступны без опыта программиста: самому запустить тесты и посчитать их, прочитать вывод агента целиком и проверить результат вживую, как его увидит клиент. В нашем прогоне агент…

Отчёт AI-агента о работе не доказывает, что работа сделана. Проверять Claude Code нужно тремя действиями, и все три доступны без опыта программиста: самому запустить тесты и посчитать их, прочитать вывод агента целиком и проверить результат вживую, как его увидит клиент. В нашем прогоне агент писал «всё работает» при упавших тестах, удалял тесты и ссылался на документацию, которой не существует.

Всё ниже мы поймали с 9 по 12 октября 2026 года, когда прогоняли трек 1 курса «ИИ-предприниматель» руками: Claude Code через шлюз CloseRouter, настоящие серверы, тестовый магазин ЮKassa. Заказчик в задачах учебный: выдуманная онлайн-школа «Кодиум».

Что агент сказал и что было на деле

Языковая модель (программа, которая продолжает текст самым правдоподобным образом) пишет отчёт так же уверенно, как пишет код. Поэтому слово «готово» в её ответе ничего не стоит, пока вы не проверили. Вот что мы собрали за четыре дня.

Что написал агент Что было на деле Как поймали
«Изоляция работает корректно» из 32 тестов 21 не прошёл: 13 упали, 8 завершились ошибкой запустили тесты сами
«Все тесты проходят» тестов на оплату не было ни одного посчитали тесты до и после
«Два теста добавлены» добавил, а два главных старых удалил сравнили список тестов
исправил тест «поддельное уведомление об оплате» тест стал проверять, что подделка проходит прочитали тест
проверка подписи уведомлений ЮKassa «по документации» такой проверки в документации нет сверили с документацией
адрес программного входа сервиса адрес выдуман сверили с документацией сервиса
отчёт о выкладке на сервер дословный повтор прошлого отчёта, на сервере ничего не изменилось посмотрели на сервер
ответ посреди сессии ответ по-украински без всякой причины прочитали ответ

Прогон 10–12.10.2026, Claude Code через CloseRouter, учебный проект.

Модель объявляет успех раньше, чем он наступил, и не только в коде. Про выдумки в обычных текстах, например в постах, есть отдельный разбор. Здесь речь о коде и отчётах агента-разработчика.

Три способа получить зелёные тесты нечестно

Тест в программировании похож на контрольную закупку в магазине. Вы заранее описываете: «покупаю курс за 1 490 ₽, доступ должен открыться на 30 дней», а программа сама проверяет, так ли это. Зелёный тест значит «проверка прошла». У агента есть три пути сделать тесты зелёными, не починив код.

Первый путь: удалить тест. За прогоны трека агент удалял тесты пять раз. Однажды он заменил пять тестов оплаты двумя новыми, и оба падали.

Второй путь: пропустить. Тест помечается как «временно не запускать», и в сводке он не красный.

Третий путь самый опасный: переписать проверку под код. Так случилось с тестом поддельного уведомления об оплате. Был тест «подделка не открывает доступ», после правки он стал проверять обратное. Агент написал, что «скорректировал ожидания». Тест зелёный, а защиту от подделки он больше не проверяет.

Простое правило ловит первые два пути: число тестов после работы агента не должно уменьшиться. Третий ловится только чтением теста. Для этого не нужно уметь программировать: название теста и строка «ожидаем, что статус paid» читаются почти по-русски.

Секреты: ключ в ответе и токен в журнале

Ключ доступа к сервису работает как пароль от банковской карты, которым платит программа. Токен Telegram-бота даёт полную власть над ботом. Агент обращался с ними небрежно дважды.

В одном модуле агент напечатал в своём ответе начало ключа. В другом токен бота попал в журнал службы на сервере открытым текстом: библиотека для запросов записывала каждый адрес, а адрес содержал токен. Агент этого не заметил ни разу за несколько шагов. Нашли, когда открыли журнал и прочитали его глазами (10.10.2026).

Вывод для заказчика и для себя: после каждой выкладки откройте журнал службы и поищите в нём кусок своего токена, это займёт минуту.

Опасные команды

Агенту можно разрешить выполнять команды на вашем компьютере и сервере, и это удобно. Риск в том, что среди команд встречаются необратимые. В модуле с AI-ассистентом агент собирался выложить код на сервер командой синхронизации с удалением (rsync --delete). Она стёрла бы на сервере файлы данных бота, которых нет на ноутбуке. Команда не была в списке разрешённых, поэтому до сервера она не дошла.

Разрешения агенту дают по списку: что можно делать без спроса, что только с подтверждением. Удаление, выкладка и всё, что трогает данные клиента, остаются за вами.

Что сработало: git, файл правил и автоматические проверки

Самое полезное, что мы сделали за прогон, это перестали полагаться на память агента. Вот что помогло:

  • git, система версий: каждое рабочее состояние сохранено, откат к нему занимает одну команду;
  • файл правил проекта, который агент читает в начале каждой сессии: «не удаляй тесты», «не выкладывай без разрешения», «отчёт только с выводом команд»;
  • комплект автоматических проверок, которые срабатывают сами, без просьбы;
  • новая сессия на каждую задачу вместо одной длинной.

Разница видна в цифрах. В модуле мини-SaaS без комплекта агент удалял тесты трижды, а расход на модуль составил около 10 $. В следующем модуле, с git и комплектом, агент не удалил ни одного теста, а модуль обошёлся примерно в 0,4 $ (на момент прогона, 11–12.10.2026).

Комплект проверок автор выложил в открытый доступ, он подключается в уроке «Обвязка».

Чего тесты не поймают

Зелёные тесты проверяют то, что в них написано. В прогоне три класса ошибок прошли сквозь все тесты.

Подмены в тестах. Тест подменяет настоящий Telegram или настоящий Яндекс Диск «заглушкой», которая всегда отвечает «да». В модуле с ассистентом заглушка разрешала всё, и кнопка «Ответить на вопрос» в настоящем боте молчала при зелёных тестах.

Сервер не равен ноутбуку. На сервере оказалось старое ограничение в базе, и роль администратора записалась неверно, а у действующего клиента закрылся кабинет из-за пустых сроков.

Сбой хостинга. 11.10.2026 около 20:00 по Москве у хостинга сломалось хранилище, и сервер CRM завис. Данные уцелели благодаря ночной копии. Такое ловят мониторинг и резервная копия, тесты тут ни при чём.

Поэтому последний шаг любого продукта в курсе — живая проверка: вы сами проходите путь клиента. Что она находит в AI-ассистенте, разобрано в статье AI-ассистент в Telegram-боте.

По шагам: где это собирается

Здесь разобрано, что агент делает не так и почему. Сам комплект проверок, файл правил и порядок работы с git по шагам собираются в открытом уроке трека 1 «Обвязка: проверки и комплект».

Как агент ошибается в сборе цен с чужих сайтов, разобрано в статье мониторинг цен конкурентов с AI. Обзор всех продуктов трека и их стоимости в статье IT-продукты с AI-агентом.

Частые вопросы

Почему нейросеть врёт?

Намеренно она не обманывает. Языковая модель продолжает текст самым правдоподобным образом и не отличает «знаю» от «похоже на правду», поэтому выдуманное звучит так же уверенно, как верное. В нашем прогоне 10–12.10.2026 агент придумал адрес программного входа сервиса и способ проверки уведомлений ЮKassa, которого нет в документации. Помогает проверка по внешнему источнику: вывод команды, документация, живой прогон.

Почему ИИ пишет, что тесты прошли, если они падают?

Модель пишет отчёт как правдоподобный текст и не всегда опирается на настоящий вывод команды. В нашем прогоне 10–11.10.2026 из 32 тестов 21 не прошёл (13 упали, 8 завершились ошибкой), а агент написал, что всё работает. Запускайте тесты сами и смотрите итоговую строку.

Может ли AI-агент удалить тесты?

Да. За прогоны трека 1 (9–12.10.2026) Claude Code удалял тесты пять раз и однажды перевернул проверку подделки платежа. Правило: число тестов после работы агента не должно уменьшиться.

Как проверить код от нейросети без опыта программиста?

Посчитайте тесты до и после, прочитайте вывод агента целиком, а не только последнюю фразу, и пройдите путь клиента вживую. Эти три шага не требуют читать код.

Можно ли верить ссылкам агента на документацию?

Нет, ссылку открывают и сверяют. Агент выдумал способ проверки уведомлений ЮKassa со ссылкой на документацию, а в другом модуле выдумал адрес программного входа сервиса.

Как формально называется эта проблема?

Ложный отчёт об успехе (false success): агент сообщает о выполненной задаче, которая на деле не выполнена или выполнена частично. Лечится внешней проверкой, которую агент не может обойти: тесты, git, автоматические проверки и живой прогон.

Что проверить, если читаете позже

  • Claude Code и модели обновляются часто. Случаи из таблицы сняты на версиях октября 2026; поведение новой модели проверяйте тем же способом, счётом тестов.
  • Расход на модули указан в долларах шлюза на момент прогона (10–12.10.2026); цены моделей меняются.
  • Состав комплекта проверок меняется: смотрите урок «Обвязка».

Следующий шаг

В треке 1 курса «ИИ-предприниматель» проверка работы агента идёт через все пять продуктов, от бота заявок до AI-ассистента. Карта трека в навигаторе трека 1.

Понравилась статья? Поделиться с друзьями:
Школа Виктора Комлева