Ты даёшь Claude Code задачу, уходишь на полчаса и возвращаешься к бодрому «Готово». Открываешь результат: из пяти разделов лендинга заполнены три, форма заявки никуда не отправляет, а проверку агент отложил на потом. Это частичное выполнение задач в Claude Code. Сильнее всего оно бьёт по тем, кто работает один и не может перепроверять каждый шаг.
Указываешь агенту на пропуск, и он без тени смущения отвечает: «Отличное замечание, я про это забыл». Забыл он честно. Но тебе от этого не легче: приёмку, которую должен был сделать он, пришлось делать тебе.
Агент не обманывает, он теряет куски большой задачи
В англоязычной среде это называют partial compliance. Модель делает часть работы и отчитывается так, будто сделала всю. Злого умысла тут нет: у агента просто нет отдельного момента, где он сверяет сделанное с заказанным.
Когда ты отдаёшь проект одним куском, агент держит в голове общую картину, а мелкие требования по дороге выпадают. Чем длиннее задача, тем больше выпадает. Для агента «сделано» означает «я закончил работать», а не «всё работает».
Отсюда вывод: ругать модель бесполезно. Менять нужно то, как ты принимаешь работу. Признаки, что ты столкнулся именно с этим:
- отчёт уверенный, но в нём нет конкретики, что именно проверено;
- начало и конец задачи на месте, а пункты из середины исчезли;
- агент пишет «должно работать» вместо «проверил, работает»;
- после замечания он сразу соглашается и доделывает за минуту.
Последний признак самый показательный. Если пропущенное доделывается мгновенно, дело не в сложности. Агент просто не дошёл до этого пункта и не заметил.
Файл-ворота не дают сказать «готово» без проверки
Приём простой, и внедрить его можно сегодня. Принимай работу не на слово, а по акту: пока пункты не закрыты, работа не сдана. Для агента таким актом становится отдельный файл в проекте.
Шаг первый. Попроси агента не браться за проект целиком, а сначала разбить его на мелкие задачи. К каждой задаче он пишет короткий чек-лист и одну строку о том, как выглядит «сделано» на самом деле: что можно открыть, запустить или посчитать.
Шаг второй. Заведи файл, например DONE.md, и пропиши в инструкциях проекта правило: агент не имеет права писать «готово», пока не прошёл по каждому пункту этого файла и не показал результат проверки.
Вот как может выглядеть такой файл для лендинга с формой заявки:
- на странице есть все разделы из плана, пустых блоков нет;
- отправлена тестовая заявка, она дошла, показан ответ сервера или скриншот;
- страница открыта в ширину телефона, текст не вылезает за край;
- все ссылки открываются, ни одна не ведёт на 404;
- в тексте нет заглушек вроде lorem ipsum и TODO.
А вот фраза для CLAUDE.md, её можно скопировать как есть: «Прежде чем написать слово готово, открой DONE.md, проверь каждый пункт командой или скриншотом и выпиши результат по каждому. Если хоть один пункт не закрыт, работа не сдана, продолжай».
Разница видна с первого раза. Агент перестаёт отчитываться общими словами и приносит доказательства: вот ответ сервера, вот список ссылок с кодами. Если что-то не сходится, он видит это сам, раньше тебя.
Установка Claude Code на VPS делает ворота обязательными
Пока агент работает на твоём ноутбуке, ты хотя бы видишь, что он делает. После установки Claude Code на VPS всё иначе: агент запускается по расписанию, в том числе ночью, и отчитывается в лучшем случае сообщением в Telegram.
Здесь частичное выполнение становится по-настоящему опасным. Мы наступили на это сами: наш конвейер роликов на сервере месяц выпускал видео с чужим шрифтом, и кириллица в субтитрах разъезжалась по буквам. Задача каждый раз завершалась успешно, логи были чистыми. Проверяли факт завершения, а не картинку.
Поэтому на сервере правило одно: проверяй результат, а не код возврата. На практике это значит:
- у каждой автоматической задачи свой файл-ворота с проверкой результата;
- для видео проверка — это кадр из ролика, который агент открывает и смотрит, а не размер файла;
- для поста это ссылка на опубликованную запись, а не ответ «отправлено»;
- не прошла проверка — задача считается упавшей и присылает уведомление.
Если ты только ставишь агента на сервер, заведи ворота в первый же день. Потом добавлять их больнее: сначала придётся разгребать то, что успело уйти в мир «успешным».
Глубину проверки подбирай под размер проекта
Не каждой задаче нужен акт на двадцать пунктов. Для исправления опечатки в подписи хватит одной строки: «открой страницу и найди исправленное слово». А лендинг с оплатой потребует десятка пунктов и тестовой покупки.
Рабочее правило: чем дороже ошибка, тем подробнее ворота. Всё, что уходит к живым людям (деньги, публикации, письма), проверяется целиком. Внутренние черновики можно принимать проще.
И один технический момент. Если агент режет проект на много мелких задач и раздаёт их подагентам, убедись, что им разрешено работать параллельно. Иначе задачи выстроятся в очередь, и проект растянется надолго.
Попробуй сегодня на задаче, которую ты уже отдавал агенту и потом доделывал руками. Разбей её на части, к каждой напиши строку «как выглядит сделано», положи рядом файл-ворота и посчитай, сколько раз теперь придётся ловить агента на пропусках.
Если не хочется собирать такие чек-листы с нуля, в ВЕЙБ-ПАРТНЁРЕ есть 9 готовых скиллов Claude Code для контента, и к ним можно добавить те же ворота.