Агенты периодически сходят с ума — и это не баг чужого кода, это системная штука, с кот... — 2 июля 2026 г. в 09:00:05.996
Агенты периодически сходят с ума — и это не баг чужого кода, это системная штука, с которой рано или поздно сталкиваешься при вайб-кодинге. Вот классическая сцена: Opus делает задачу, потом после компакшна контекста забывает, что уже всё сделал, и бодро идёт по второму кругу. Споткнулся только о свой же коммит — ну типа, кто-то тут уже это сделал. «Кто-то» — это он сам. Я таких историй насобирала уже целую коллекцию. И поняла, что агентам надо помогать не только промтами на старте, но и контрольными точками по ходу. Иначе получаешь дорогостоящий забег по кругу. Вот что я теперь делаю, чтобы агент не терял себя в процессе. 1. Добавляю «дневник состояния» в начало каждой сессии Прошу агента перед стартом написать, что уже сделано, что осталось, и в каком состоянии файлы. Буквально первый промт в сессии: Перед тем как начать, опиши текущее состояние проекта: что уже реализовано, что ещё нет, какие файлы затронуты. Сверься с коммитами и существующим кодом. Только потом переходи к следующему шагу. Звучит банально, но именно это останавливает «амнезию после компакшна» — агент вынужден сначала осмотреться, а не нырять в работу с нуля. 2. Прошу чекпоинт после каждого крупного шага Не жду финала, а встраиваю паузу: После завершения каждого пункта из плана — останавливайся и пиши: что сделал, что изменил, что дальше. Не переходи к следующему шагу без этого резюме. Это работает как страховка: если агент вдруг пойдёт по второму кругу, я увижу это на чекпоинте, а не после того как он нагенерил 200 строк дублирующего кода. 3. Явно указываю, что «уже сделано» — неприкосновенно Если я знаю, что какой-то блок готов, говорю об этом прямо: Модуль авторизации уже реализован и закоммичен. Не трогай его, не переписывай, не дублируй логику. Работай только с [следующей частью]. Без этого агент может «вспомнить» про авторизацию и добавить свою версию рядом — и у тебя два конкурирующих куска кода. 4. Для длинных сессий — явный файл-якорь Завела привычку держать в проекте файл PROGRESS.md — и прошу агента читать и обновлять его: В начале каждой сессии читай PROGRESS. md. КВ конце каждого завершённого шага обновляй его: добавляй, что сделано. Это твой единственный источник правды о состоянии проекта. После этого даже при сильном компакшне агент не теряет нить — у него есть внешняя память, которую он сам же и ведёт. Типичная ошибка — думать, что агент помнит всё, что было в начале сессии. Не помнит. Длинный контекст режется, и модель начинает «галлюцинировать» состояние проекта — додумывает, что было и чего не было. Чем длиннее сессия, тем хуже. Воркфлоу, который у меня теперь закреплён: старт сессии → агент читает PROGRESS. md → пишет резюме состояния → делает шаг → пишет чекпоинт → обновляет PROGRESS. md → следующий шаг Немного лишних слов в промтах — зато ни одного забега по второму кругу за последние недели. 📻 Подписывайся на В эфире радио Свеклана

