3 Кормилец доками 4 Направляющий ~9 мин

Компакт памяти агента: когда чистить контекст и не потерять

Смахни со стола хлам вовремя - и ничего нужного не улетит вместе с ним

Компакт памяти агента простыми словами: что сжимается и теряется, что выживает, и в какой момент чистить контекст безопасно, а в какой - выстрел себе в ногу.

Скиллы ECC в этом уроке: strategic-compact

Что такое компакт памяти простыми словами

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

У агента ровно та же беда. Его «стол» - это контекст . Переполнился? Агент делает компакт : сгребает старые бумаги в одну папку «разное» и подписывает её парой строк - «делали лендинг, обсуждали шрифт». Место освободилось. Но понадобилась конкретная бумажка из той папки? Её там больше нет. Осталась только подпись на обложке.

Рабочий стол: слева завален бумагами, справа всё сгребли в одну папку с подписью разное
Компакт освобождает стол, но детали уезжают в папку «разное».

Зачем вайбкодеру понимать чистку контекста

Ты вайбкодер. Код руками не пишешь - но рулишь длинной сессией с агентом. И рано или поздно ловишь один из двух сюжетов:

  • агент вдруг забыл, о чём вы говорили час назад, и переспрашивает очевидное;
  • агент стал тупее и медленнее, начал повторяться и путать детали.

Оба - про память и компакт. Разберёшься в механике - и сразу три выигрыша:

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

Разница между «агент внезапно всё забыл» и «агент стабильно держит задачу» - это чаще всего один навык: вовремя почистить стол и заранее сохранить важное в файл.

Что выживает при компакте, а что теряется

Самое важное в уроке. Компакт стирает не всё подряд - у него есть чёткое разделение. Запомни две колонки, и страх перед чисткой испарится.

Выживает (живёт вне «стола»)
  • Файлы на диске - код, заметки, всё, что записано.
  • Правила проекта и инструкции - например, файл с настройками агента.
  • Список задач (todo), который агент ведёт по ходу дела.
  • История git - коммиты и ветки. Они вообще не в памяти агента.
  • Файлы памяти, если ты их завёл - заметки, которые агент дописывает на ходу.
Теряется (жило только на «столе»)
  • Куски файлов, которые агент читал, но никуда не записывал.
  • Рассуждения и анализ по дороге к решению.
  • Твои устные пожелания из чата: «шрифт помягче», «кнопку левее».
  • Промежуточное состояние: какие переменные, какие пути обсуждали.
  • Сама история разговора - кто, что и когда говорил.

Как понять, что пора делать компакт

Агент сам подаёт сигналы. Вот три самых верных.

Сессия стала слишком длинной

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

Задача сменилась

Закончил один кусок и берёшься за совсем другой? Старый контекст теперь только мешает - лежит мёртвым грузом и сбивает агента с толку.

Агент начал «плыть»

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

Когда чистить память агенту, а когда нельзя

Вот шпаргалка по переходам между этапами работы. Зелёное - чисти смело. Красное - руки прочь.

Чисти - самое время
  • После исследования, перед работой: нагрёб кучу файлов, а нужны только вывод и план.
  • Закончил фичу - почистил и начал новую с чистого стола.
  • После тупиковой попытки: убери мёртвые рассуждения перед новым подходом.
  • Перед сменой темы: переходишь к другой части проекта - старый контекст лишний.
Не чисти - потеряешь нужное
  • Посреди отладки сложного бага - сотрёшь именно те детали, ради которых старался.
  • В середине большой правки - потеряешь, какие файлы и переменные в работе.
  • Прямо перед важным решением - агент забудет, почему вообще его принимает.
  • Слишком часто «на всякий случай» - каждая чистка = минус контекст.

Пример: как авто-компакт съел полчаса работы

Ты три часа делаешь с агентом интернет-магазин. Сначала долго выбирали, какие товары показывать, читали примеры, спорили о структуре. Потом сверстали витрину. Потом полчаса ловили баг с корзиной - агент читал десяток файлов, пробовал, ошибался, пробовал снова.

И вот баг почти пойман. Агент бодро рапортует: «кажется, проблема в подсчёте суммы, сейчас проверю». В этот самый миг стол переполняется и срабатывает авто-компакт. Агент возвращается - и невинно спрашивает: «а с чем у нас была проблема?» Все наработки по багу уехали в папку «разное». Полчаса - псу под хвост.

Где прокол? Чистка случилась в худший момент - в середине отладки. И случилась сама, потому что ты раньше не убрался на безопасной границе.

А вот как сделал бы понимающий вайбкодер:

Промпт - скопируй и попробуй

Мы закончили большой блок исследования товаров и свёрстанную витрину. Прежде чем браться за корзину, сделай так:

  1. Запиши в файл DECISIONS.md ключевые решения: какие товары показываем, структуру витрины, договорённости по дизайну. Чтобы это пережило чистку.
  2. Туда же запиши, что мы сейчас начинаем чинить корзину и в чём суть проблемы.
  3. Теперь сделай компакт - освободи память, впереди отдельная задача про корзину.
  4. Дальше работай по корзине НЕ прерываясь на чистку, пока баг не пойман.
Мем: агент бодро чистит память ровно в тот момент, когда почти поймал баг
Авто-компакт всегда выбирает самую драматичную секунду.

Ритуал из трёх шагов перед чисткой

Чтобы компакт никогда не кусался, перед каждой ручной чисткой пробеги три шага. Это буквально суть скилла strategic-compact.

  1. Я на границе? Дело доделано или я в середине? В середине - стоп, не чищу.
  2. Важное записано? Решения, договорённости, текущая задача лежат в файле? Если нет - сначала попроси записать.
  3. Дам ли я короткую подсказку? При ручном компакте добавь пару слов: «дальше делаем корзину». Агент стартует с чистого стола, но уже зная, куда идти.
Чек-лист из трёх галочек перед кнопкой очистки памяти
Три галочки - и чистка безопасна.

Частые ошибки при компакте контекста

  • Чистить посреди отладки. Самая болезненная: стираешь ровно те детали, ради которых старался. Дожми баг, потом чисти.
  • Надеяться, что чат сам всё запомнит. Устные пожелания компакт не переживут. Важное - в файл, и только потом уборка.
  • Ждать авто-компакта. Он сработает в случайный, обычно самый неудобный момент. Чисти сам, первым, на удобной границе.
  • Чистить слишком часто «на всякий случай». Каждая чистка теряет контекст. Без нужды стол не трогай.
  • Чистить, не дав подсказки. После голого компакта агент может не понять, что делать дальше. Добавь короткую фразу о следующей задаче.
  • Путать чистку с поломкой. Агент «забыл»? Это не глюк, а сработавший компакт. Лечится повтором ключевого и записью в файл.

TL;DR - если коротко

  • Компакт - агент сворачивает старую переписку в короткую выжимку и освобождает место на «столе».
  • Теряются детали: куски файлов, рассуждения, твои устные пожелания. Выживают файлы на диске, todo-список и правила проекта.
  • Чисти на границах задач: фича готова, исследование закончено, тупик пройден - вот безопасные окна.
  • Не чисти посреди отладки и в разгар большой правки - сотрёшь ровно то, что искал.
  • Сохрани важное в файл до компакта - и чистка перестанет кусаться.
  • Авто-компакт бьёт в случайную секунду. Ручной - когда удобно тебе. Чисти сам и первым.

Поиск по вики

Нажмите Esc для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.