# Память агента: как не потерять контекст в длинной работе

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

// обложка

## Длинный чат не равен долгой памяти

Открой старый диалог и спроси агента, какие решения были приняты в начале работы. Ответ может звучать убедительно, даже если часть деталей уже прошла через несколько пересказов после Compact. Даже Fable 5.1 в такой ситуации опирается на текущую краткую версию истории, а не на весь исходный диалог.

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

- «длинный чат» — пересказы после Compact
- «задача в файле + память проекта» — контекст можно перечитать; стрелка «память нужно вынести из одного диалога в файловую систему»

// масштаб

## У агента есть три слоя памяти, и у каждого своя роль

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

Второй слой — встроенная память сервиса. В веб-версии Claude, десктопном и мобильном приложении она может хранить сведения о пользователе и проектах. В локальных агентных средах важнее третий слой: файлы проекта, которые агент читает и обновляет по твоим правилам.

Для Claude Code проектные инструкции обычно живут в `CLAUDE.md`, а для Codex и других агентов часто используется `AGENTS.md`. Файл `MEMORY.md` хранит состояние работы между сессиями. Название можно менять, смысл остаётся прежним: важная информация лежит в читаемом документе, а не только в истории чата.

карточка 1 — метка «слой 1» / значение «диалог» / капшен «текущая задача»; карточка 2 — метка «слой 2» / значение «встроенная память» / капшен «настройки сервиса»; карточка 3 — метка «слой 3» / значение «файлы проекта» / капшен «контекст между сессиями». Ключевая — #3

// точка ноль

## Compact оставляет пересказ, а не весь прошлый разговор

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

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

врезка `// правило`: текст «История чата нужна для разговора. Критичные данные нужны в файле, который агент сможет открыть заново.»

«исходная задача» → «Compact» → «краткий пересказ» → «ещё один Compact». Ключевая — #4

_с каждым сжатием растёт риск потерять деталь, которая не была вынесена из чата_

// задача в файле

## Для большой задачи промт может состоять из ссылки на инструкцию

Создай в проекте папку `tasks` и положи в неё отдельный файл для каждой большой задачи. Внутри зафиксируй цель, входные данные, ограничения, критерий готовности и способ проверки. В чат отправляй короткую отсылку к этому файлу и одну строку о результате, которого нужно достичь.

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

врезка `// правило`: текст «Для задачи с финишной чертой хранить условие готовности в отдельном файле надёжнее, чем искать его в старых сообщениях.»

- 01 «tasks/» — метрика «отдельная папка задачи» — Создай отдельное место для самостоятельной работы.
- 02 «инструкция» — метрика «цель, ограничения, готовность» — Опиши условия задачи и способ проверки.
- 03 «короткий промт» — метрика «ссылка на файл» — Отправь агенту отсылку к инструкции.
- 04 «проверка» — метрика «сверка с критерием» — Сопоставь готовый результат с финишной чертой.

// память проекта

## MEMORY.md фиксирует решения, которые дороже одного разговора

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

У файла есть предел. Когда в `MEMORY.md` накопилось около 5 000 строк, он снова становится дорогим контекстом и начинает мешать работе. Раз в несколько недель сворачивай устаревшие записи в короткую актуальную сводку, а подробную историю переноси в архив или ADR.

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

строки «Запись → Короткая строка в MEMORY.md»: Сделано → какую работу завершили; Результат → что получилось; Решение → что выбрали; Причина → почему выбрали; Дата → когда обновили. Сноска: «память проекта хранит состояние и причины решений, а не поток переписки»

// выбор чата

## Диалог выбирают по задаче, а не по названию клиента или проекта

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

Новая задача с отдельным результатом требует свежего чата и файла инструкции. Это помогает агенту начать с чистого контекста, не смешивать старые решения с новой работой и сразу видеть критерии готовности.

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

строка 1 — «один диалог → общий контекст → новые вопросы»; строка 2 — «свежий чат → файл инструкции → проверка готовности». подпись строки 1 — «тема без финишной черты»; подпись строки 2 — «задача с результатом»

// контекст проекта

## Общий проект даёт фон, подпапка даёт точность

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

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

«проект» → «общие материалы» → «подпроект» → «tasks / инструкция / MEMORY.md / архив». Ключевая — #4

_общий контекст и конкретная задача живут рядом, но не смешиваются_

// центральный блок

## Управляй Compact до того, как модель выберет главное сама

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

Для технической задачи сохрани принятые решения и открытые вопросы, а отладочный шум попроси убрать. Для доработки инструкции сохрани комментарии и правки, которые должны стать правилами следующей версии. Это делает новый компактный контекст рабочим документом, а не случайным резюме.

врезка `// правило`: текст «Compact лучше запускать в точке, где ты сам понимаешь, что именно станет опорой для следующего этапа.»

«работа в диалоге» → «инструкция к Compact» → «сжатый контекст» → «следующий этап». Ключевая — #4

_автор задачи управляет тем, что переживёт сжатие_

// промт для техники

## Сохрани решения и открытые вопросы, отладку убери

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

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

// промт для инструкции

## Правки пользователя превращаются в следующую версию правил

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

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

После сжатия перенеси устойчивые правила в `CLAUDE.md`, `AGENTS.md` или файл проекта. Так агент получает их в начале следующей задачи, а не только после долгой переписки.

- «комментарии в чате» — легко потерять после Compact
- «обновлённая инструкция» — правила доступны в новой сессии; стрелка «повторяющиеся правки должны стать частью инструкции»

// инструменты

## Файлы памяти работают только там, где агент умеет их читать

Claude Code читает проектные файлы с инструкциями и умеет работать внутри репозитория. В Codex можно выделить рабочую папку и подключить дополнительные директории проекта. Claude Cowork и веб-интерфейсы дают другую модель доступа к файлам, поэтому перед настройкой проверь, что именно видит агент в твоей среде.

Для всех вариантов действует одно правило: не рассчитывай на скрытую память сервиса как на единственный источник состояния. Дублируй критичные инструкции в файле, который можно проверить, отредактировать и перенести в новый проект.

карточка 1 — метка «Claude Code» / значение «инструкции в проекте» / капшен «CLAUDE.md и файлы репозитория»; карточка 2 — метка «Codex» / значение «рабочие папки и AGENTS.md» / капшен «контекст из подключённых директорий»; карточка 3 — метка «облачные чаты» / значение «настройки и вложения» / капшен «проверь доступ агента». Ключевая — #3

// итоговый дашборд

## Три правила, которые удерживают длинную задачу

Первое правило: у задачи с понятным результатом есть свежий чат, файл инструкции и критерий готовности. Второе правило: данные, которые понадобятся после следующего окна, записаны в память проекта. Третье правило: Compact запускается с указанием, что сохранить.

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

врезка `// честно`: текст «Файловая память не делает агента безошибочным. Она делает его решения проверяемыми и возвращаемыми к источнику.»

строки «Слой работы → Правило»: Задача → свежий чат и файл; Память → короткие записи; Compact → инструкция перед сжатием. Сноска: «три правила закрывают основные потери контекста в длинной работе»

// действие на сегодня

## Собери одну задачу так, чтобы её можно было продолжить завтра

Создай папку задачи, запиши в файл её цель и финишную черту, добавь `MEMORY.md` с первой короткой записью и открой свежий чат. Перед первой большой паузой попробуй ручной Compact с одним из промтов выше.

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

3 слоя памяти · 2 промта для Compact · 1 файл состояния

---

Источник: https://localhost:3000/m/%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D0%B0
