Коротко
Почему агент отчитывается о том, чего не делал?
Первое, что ломает картину мира у новичка: ИИ-агент способен написать «создал файл идея.md и заполнил его» в ситуации, когда файла нет.
Это не злой умысел и не поломка. Языковые модели устроены так, что уверенное утверждение для них дешевле признания «не смог»: исследователи прямо связывают это с тем, как модели обучают и оценивают. Отсюда та самая интонация отличника, с которой агент рапортует о несделанном.
Добавь к этому вторую особенность. Агент работает пакетами: прочитал, подумал, вызвал инструмент, получил ответ. Если на середине пакета что-то оборвалось - лимит, таймаут, отказ в доступе к папке, - в его собственном пересказе шага это часто теряется. Итог он всё равно подведёт.
На обучениях я показываю это упражнением на две минуты. Просим агента создать три файла, потом просим показать содержимое каждого. В половине случаев один из трёх оказывается пустым или не тем.
Отдельная линия той же проблемы - выдуманные факты внутри уже созданного документа. Разбирал её в материале про галлюцинации нейросетей: там речь про содержимое, здесь - про сам факт существования результата.
Что происходит, если отдать все промпты разом?
Расскажу обезличенно, без имён. Участник практикума взял инструкцию, скопировал из неё все промпты одним куском, отправил агенту и написал: разберись.
Дальше две недели он собирал продукт. Страница в браузере, кнопка, подключённые по интерфейсу сторонние сервисы. Одна презентация действительно сгенерировалась. Потом начались таймауты и ошибки, а тестовая презентация на пять слайдов стала висеть по сорок минут.
Он усложнил схему: развёл работу по ролям, чтобы одна часть писала текст, вторая проверяла, третья оформляла. Стало хуже: роли зацикливались и повторяли одно и то же действие по кругу.
Причину нашли за минуту, когда он показал экран. В папке идея не было ни одного файла, только пустая заготовка. В папке архитектура файлы были.
Это и есть диагноз целиком: архитектура написана поверх пустоты. Продукт «работал» ровно потому, что задачу каждый раз выполнял сам чат, а не собранное приложение.
Ни один встроенный контроль такую поломку не видит. Агент отчитался. Инструкция не проверяет. Человек чинит следствие - таймауты, зацикленные роли, медленную генерацию - и не подозревает про причину. Поймала её только демонстрация экрана живому человеку.
Как проверить шаг за тридцать секунд?
Открой папку проекта в обычном проводнике
Не в чате и не по описанию агента. Глазами, в файловом менеджере, как ты смотришь любую папку с документами.
Найди файл, о котором был отчёт
Название должно совпадать с тем, что сказал агент. Если его нет вообще или он лежит в другом месте, шаг не выполнен.
Открой файл и пролистай
Пустой файл, одна строка заголовка или текст-заглушка - это не результат. Внутри должно быть то, что ты узнаёшь как свою задачу.
Скажи агенту, что видишь
Одна фраза: «в файле только заголовок, содержимого нет, доделай». Дальше можно идти к следующему шагу.
Есть ускоренный вариант для тех, кому лень ходить по папкам: попросить агента показать список созданных файлов с размером и первые строки каждого. Но это компромисс, а не замена. Отчёт о файлах даёт тот же, кто уже один раз ошибся.
Мой рабочий приём такой: я проверяю руками там, где на этом шаге строится следующий, и доверяю отчёту там, где шаг косметический. Идея, архитектура, структура папок - руками всегда. Правка формулировки в готовом тексте - можно и на слово.
Задачи, где эта дыра встречается чаще всего
| Тип шага | Виден ли провал сразу | Что проверять |
|---|---|---|
| Собрать идею, требования, описание продукта | Нет, отчёт выглядит одинаково | Наличие файла и объём текста внутри |
| Наполнить память агента и правила проекта | Нет, эффект отложенный | Файл открыт, правила читаются, дубли не плодятся |
| Сделать страницу или экран | Да, страница либо открывается, либо нет | Открыть в браузере |
| Подключить внешний сервис | Да, ошибка приходит сразу | Один тестовый запрос |
| Переставить структуру папок | Нет, ломается через день | Дерево папок глазами |
Закономерность простая: чем меньше визуального результата у шага, тем выше цена доверия на слово. Именно поэтому фазы «идея» и «требования» проваливаются чаще всего, а страницу или кнопку человек проверяет автоматически.
Про то, как принимать уже собранный работающий продукт, у меня есть отдельный разбор про приёмку работы агента без технического бэкграунда. Он про следующую стадию: там код уже есть и вопрос в его качестве.
Как разобрать завал, если он уже случился?
Порядок, который я даю ученикам в такой ситуации:
- Останови починку. Пока фундамента нет, каждая новая правка добавляет сложности к неработающей конструкции.
- Попроси агента описать состояние проекта. Формулировка: «пройди по папкам, покажи, какие файлы есть, какие пустые, чего не хватает по структуре». Это даёт карту за минуту.
- Найди первый пустой узел. Именно первый по порядку, а не самый заметный. Всё, что построено после него, придётся пересматривать.
- Восстанови его руками, по одному промпту. Дождись файла, открой, прочитай. Только потом следующий.
- Пересобери то, что стояло сверху. Часто это быстрее, чем кажется: агент переписывает архитектуру поверх нормальной идеи за один заход.
Отдельным сообщением попроси агента найти дыры в своей же работе: «посмотри критически на то, что мы собрали, где я мог поверить тебе зря». Я так делаю на своих проектах регулярно. Ответ бывает неприятный: и цифры не те, и куски не доведены, и это неделя переделки. Зато неделя сейчас, а не три месяца спустя.
Если правки уже наложились друг на друга и вернуться некуда, помогает механика точек сохранения - как её ставить и как откатываться, я разбирал в материале про откат изменений агента.
Привычка, которая закрывает эту дыру
Соблазн отдать всё сразу понятен. Занятый человек видит двадцать промптов в инструкции и думает: зачем я буду двадцать раз копировать, пусть сделает всё. Логика бизнеса тут работает против тебя: делегирование блоком экономит минуты и стоит недель.
Аналогия из найма. Ты не даёшь новому сотруднику в первый день двадцать задач списком со словами «разберись» - ты даёшь первую, смотришь результат, потом вторую. С агентом ровно так же, только он не постесняется сказать, что всё сделал.
Три правила, которые снимают почти всю проблему:
- Промпты по одному. Дождался ответа, посмотрел файл, пошёл дальше.
- Формулировка с проверяемым итогом. Не «поработай над идеей», а «создай файл
идея.mdи напиши в него разделы такие-то». Как ставить задачу так, чтобы результат был проверяемым, разбирал в каноне промпта. - Порядок в папке. Когда файлы лежат по канону, пустой узел видно сразу. Про это есть отдельный материал про гигиену рабочей папки.
Частые вопросы
Частые вопросы
Главный вывод
Есть фраза, которая точно описывает происходящее: значение имеет не то, в каком чате ты работал, а какие файлы после этого появились и где они лежат.
Если сегодня открыть свой проект и пройти по папкам, находка почти гарантирована: где-то будет пустая заготовка вместо документа. Это нормальная ситуация, а не приговор проекту.
Открой папку проекта прямо сейчас. Есть ли там хоть один файл, о котором агент отчитался, а ты его ни разу не видел?
Источники
- Why Language Models Hallucinate - препринт исследования о том, почему модели уверенно выдают несуществующее, arXiv
- Claude Code - обзорная страница официальной документации: как агент работает в папке проекта
- Claude Code - типовые рабочие сценарии в официальной документации
- Claude Code - документация о точках сохранения состояния проекта
- Pro Git - книга о контроле версий и истории изменений, русский перевод
