Обучение · Агенты и вайб-кодинг

Глава 16. Сжатие и что должно его пережить

Рано или поздно разговор упирается в потолок. Тогда система делает сжатие: берёт всю накопленную историю и подменяет её кратким пересказом.

Момент критический, потому что после него агент частенько начинает вести себя как хуй знает кто. Разберём, с чего вдруг.

Теряются не факты, а их статус Главное наблюдение, объясняющее всё остальное.

Сжатие обычно неплохо сохраняет факты: что за проект, какие файлы, что решили. А теряет другое, и самое важное: что из этого уже сделано, что отменено нахуй, что было гипотезой, а что стало решением.

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

ГЛАВНОЕ ПРО СЖАТИЕ Сжатие теряет не факты, а их статус. Поэтому автоматический пересказ надо дополнять своим собственным, где прямо сказано, что сделано, что отменено и что решено окончательно. Пережить сжатие должно то, что дорого восстанавливать, а не то, что легко перечитать. Список файлов агент прочитает заново за секунды. Причину, по которой вы отказались от очевидного решения, он не восстановит никогда.

Что писать в пересказ Хороший пересказ перед сжатием отвечает на четыре вопроса, а автоматический не отвечает почти никогда.

Вопрос Пример строки

Что уже сделано и проверено Первые три пункта плана закрыты, тесты проходят

Что отменено и почему От очереди отказались: она не решает проблему повторов

Что решено окончательно Формат хранения выбран, к обсуждению не возвращаемся

Что остаётся открытым Не решено, как обрабатывать пустой ответ внешнего сервиса

Вторая строка самая ценная. Отменённые варианты без указанной причины воскресают как зомби, потому что для модели они выглядят вполне разумными.

Сжатие и что должно его пережить

Хук, а не надежда Инструкция вида перед сжатием напиши хороший пересказ работает через жопу, потому что момент сжатия модель не контролирует ни хуя.

Работает другое: повесить пересказ хуком на событие сжатия. Тогда он формируется всегда, а не когда вспомнилось.

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

ТРИ УРОВНЯ СЖАТИЯ

Один шаг Группа шагов Весь диалог

убрать лишние страницы свернуть законченный кусок оставить решения и статусы

Фрактальные мини-сжатия Идея, которая пока не стала общей практикой, но объясняет направление мысли.

Сжимать можно не только весь диалог. Можно сжимать отдельный шаг и группу шагов.

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

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

Практическая ценность здесь не в конкретной схеме, а в самой мысли: сжатие это не одно событие в конце, а постоянная работа.

Порог сжатия это настройка Деталь, о которой узнают поздно: у большинства инструментов есть параметр, задающий, при каком объёме наступает автоматическое сжатие.

Значение по умолчанию выбрано поставщиком под средний случай. А твой случай средним не является ни хуя.

Сжатие и что должно его пережить

ГДЕ СТАВИТЬ ПОРОГ Раньше. Сжатие происходит чаще, каждый раз теряется меньше, диалог остаётся дешевле. Годится для длинных прогонов и рутины. Позже. Сжатие происходит реже, модель дольше видит всю картину целиком. Годится для задач, где важны связи между далёкими частями. Признак, что порог не тот. После каждого сжатия приходится объяснять заново, ставь раньше и пиши свой пересказ. Модель начинает терять связи внутри одной задачи, ставь позже.

Что делать после сжатия Отдельный чек-лист, потому что первые ходы после сжатия самые рискованные.

ПЕРВЫЕ ДЕЙСТВИЯ ПОСЛЕ СЖАТИЯ 1. Спроси, что агент считает сделанным. Сверь со своим представлением. 2. Спроси, какие решения он считает окончательными. Здесь чаще всего всплывают воскресшие отменённые варианты. 3. Попроси перечитать ключевые документы: спецификацию и файл прогресса. 4. Не запускай длинную задачу сразу после сжатия. Сначала один короткий ход, чтобы увидеть состояние.

Третий пункт отлично автоматизируется хуком, и именно этот хук в замерах давал восьмидесятипроцентную надёжность против почти нулевой у той же инструкции текстом.

Файл прогресса как страховка Самый дешёвый способ пережить сжатие вообще без всякой магии: вести файл прогресса на диске.

Агент пишет туда, что сделал, что заблокировано и что пропустил. Файл живёт вне контекста, сжатие его не трогает, и после любого обрыва состояние поднимается чтением одного файла. Дёшево и сердито.

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

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

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

Вывод простой: на репутацию не полагайся. Проверь на своей задаче, задав после сжатия три вопроса из чек-листа выше.

Сжатие и что должно его пережить

Что запомнить Сжатие теряет статус фактов, а не факты. Отсюда и переделывание сделанного.

Пережить должно то, что дорого восстанавливать: решения, отмены, причины. Списки файлов агент перечитает сам.

Пересказ пиши сам и вешай хуком, а не на авось.

Сжимать можно не только весь диалог, но и отдельные шаги.

Порог сжатия это настройка, и значение по умолчанию не про тебя.

Файл прогресса на диске переживает любое сжатие и любой обрыв. Заведи его заранее.

← Контекст как единственный ресурс · оглавление · Память: файлы, векторы, нити →

Спросить книгу может любой, кто вошёл в Neuraldeep Hub: агент ищет ответ по тексту и приводит цитату со ссылкой на главу.