Общая память для ИИ-агентов кода — это хранилище решений, правок и заметок о передаче на уровне проекта: каждый агент читает его в начале и дополняет по ходу работы, поэтому новая сессия не начинается с нуля. Без неё каждая сессия Claude Code или Codex знает только то, что есть в репозитории и файлах инструкций. С ней следующий агент знает, почему вы выбрали JWT, что пользователь уже сказал «никаких новых зависимостей» и что прошлый агент оставил поток возвратов недоделанным.
В статье объясняется, почему агенты забывают, что должно жить в общей памяти и как Brain в AgentVera строит её из истории проекта и позволяет агентам читать и писать её через MCP.
Почему кодинг-агенты забывают
Память кодинг-агента — его контекстное окно. Когда сессия заканчивается или диалог сжимается, большая часть произошедшего пропадает. Следующая сессия получает:
- Системный промпт и описания инструментов
- Ваши файлы инструкций, такие как
CLAUDE.mdилиAGENTS.md - Всё, что она прочтёт в репозитории во время задачи
Для кода этого достаточно, потому что код лежит в репозитории. Для причин не хватает. Коммит говорит, что изменилось; причина часто живёт в комментарии к PR, в issue или в диалоге с агентом, которого уже нет. Поэтому агенты задают одни и те же вопросы, предлагают подход, который вы отвергли на прошлой неделе, и переделывают работу, которую другой агент уже закончил. Когда вы запускаете несколько агентов параллельно, становится хуже: каждый узнаёт то, чего остальные никогда не увидят.
Что должно быть в общей памяти
У файлов инструкций и общей памяти разные задачи.
| Файл инструкций (CLAUDE.md, AGENTS.md) | Общая память | |
|---|---|---|
| Кто пишет | Вы, вручную | Строится из истории, плюс агенты по ходу работы |
| Содержание | Правила, команды, соглашения | Решения с причинами, правки, заметки о передаче |
| Как меняется | Редко | Каждый день |
| Как загружается | Весь файл, каждую сессию | Ищется по необходимости, короткая сводка в начале |
| Знает, что устарело | Нет | Может помечать решения как stale или superseded |
Держите файл инструкций коротким и стабильным (как его написать). Подвижные части отдайте памяти. Полезная общая память хранит четыре вида вещей:
- Решения. «Для API используем JWT, потому что сессии ломали мобильное приложение», с датой и источником.
- Правки. То, что пользователь сказал агенту как ошибочное. Их дороже всего потерять.
- Заметки о передаче. Что сделал агент и что оставил открытым.
- Факты. Небольшие истины о проекте, неочевидные из кода.
Как Brain в AgentVera строит память
В AgentVera у каждого проекта на странице Details есть вкладка Brain. Нажмите Build memory (позже Refresh memory), и он прочитает историю проекта:
- Документы и записи о решениях в git: README, ARCHITECTURE, CONTRIBUTING, CLAUDE, AGENTS, CHANGELOG,
docs/,adr/иdecisions/(до 250 файлов) - Новейшие 1500 коммитов без слияний
- До 200 pull request и 200 issue, если проект на GitHub и вы вошли в аккаунт
- До 120 прошлых диалогов агентов
Claude Haiku извлекает решения из этого материала. У каждого есть заголовок, причина, дата, источники и термины кода, к которым оно относится. Дубликаты объединяются.
Решения не вечны, поэтому у каждого есть статус: current, stale или superseded. Compare with code сверяет термины кода решения с репозиторием через git grep. Verify with Claude запускает read-only проверку Sonnet для более пристального взгляда. Так память может сказать агенту: «мы решили это, но код ушёл дальше».
На вкладке Brain четыре вида: Decisions, Knowledge graph, Context pack и Memory. Есть и поле Ask. Спросите «Почему мы используем JWT?», и Sonnet ответит из памяти, только на чтение, со ссылками на источники.
Как агенты читают и пишут память
Построить память — половина дела. Вторая половина — заставить агентов ею пользоваться. AgentVera добавляет MCP-сервер agentvera-brain каждому агенту, чей CLI принимает MCP-серверы. Если MCP вам в новинку, начните со статьи что такое MCP-сервер.
У сервера два инструмента:
| Инструмент | Что делает |
|---|---|
brain_recall | Ищет по решениям (с их статусом), документам, коммитам, PR, issue, прошлым диалогам, заметкам о передаче и запомненным фактам. Возвращает до 8 результатов, у каждого есть [id] для цитирования. Без запроса возвращает сохранённые воспоминания и открытые нити. |
brain_remember | Сохраняет одно самодостаточное предложение как fact, correction или decision. Не предназначен для сообщений о ходе работы. Одинаковый текст не сохраняется дважды. |
Сервер также подсказывает агенту, когда их использовать: вызывать brain_recall перед задачей, затрагивающей прежнюю работу, вызывать brain_remember, когда пользователь поправляет его, формулирует правило или предпочтение либо принято решение, и цитировать элементы по [id].
Типичный обмен в сессии Claude Code выглядит так:
You: Add refresh tokens to the API.
Agent: (calls brain_recall "auth tokens JWT")
Found [d12] "Use JWT for the API, sessions broke the mobile app" (current)
and a correction [m4] "Never store tokens in localStorage".
I will keep JWT and put the refresh token in an httpOnly cookie.
You: Good. And refresh tokens expire after 30 days.
Agent: (calls brain_remember, kind: decision)
Следующий агент, который коснётся авторизации, найдёт и то и другое, и вам не придётся повторяться.
Заметки о передаче: память между сессиями
Переключатель Agents write the memory на вкладке Brain включён, пока вы его не выключите. Когда он включён:
- После ходов (не чаще раза в 15 минут на агента) и всегда, когда агент сжимает диалог, он оставляет короткую заметку о передаче. Её пишет Haiku: сводка из одного-четырёх предложений и до шести открытых нитей, показанных как Left open.
- Правки и решения, которые агент сохраняет через
brain_remember, попадают в ту же память. - Новые агенты проекта получают недавние из них.
- Между 03:00 и 06:00 brain компилируется заново, но только если он уже строился раньше, с тех пор появились новые заметки и не чаще одного раза в 12 часов.
Заметки и воспоминания перечислены в виде Memory с метками Fact, Correction, Decision или Session note. Forget удаляет одно из них.
Когда стартует новый агент, в его инструкции попадает короткое вступление до 2500 символов: сохранённые воспоминания (правки сначала, до 15), плюс новейшая заметка от каждого из шести других агентов за последние семь дней, у которых остались открытые нити. Это и смягчает боль сжатия: сводка, написанная Claude Code, исчезает после сессии, а заметка о передаче остаётся. Подробнее о том, что сжатие сохраняет и что теряет, см. контекстное окно Claude Code.
Context pack
Отдельно в виде Context pack хранится сводка проекта до 2500 символов. Включите Give new agents a context pack, и новые агенты получат пакет и список устаревших решений в своих инструкциях. По умолчанию выключено, потому что это добавляет объём к стартовому контексту каждого нового агента. Включите, если ваши агенты постоянно упускают один и тот же фон.
Настройка за пять шагов
- Откройте проект в AgentVera и перейдите в Details → Brain.
- Нажмите Build memory. Если хотите включить PR и issue, сначала войдите в GitHub.
- Просмотрите Decisions. Запустите Compare with code для тех, в которых сомневаетесь.
- Оставьте Agents write the memory включённым и решите, нужен ли вам context pack.
- Запустите нового агента Claude Code или Codex и дайте ему задачу, затрагивающую прежнюю работу. Посмотрите, как он вызывает
brain_recall.
Общая память и координация
Память отвечает на вопрос «что мы знаем?». Координация отвечает на вопрос «кто что делает прямо сейчас?». Для живой работы AgentVera также даёт агентам доску объявлений через MCP (agentvera-board), где они публикуют заметки, решения, todo и находки, и предупреждает, когда два агента правят один файл. Они дополняют друг друга: доска для сегодняшнего дня, Brain для следующего месяца.
Память хорошо сочетается и с картой проекта. Карта говорит агенту, где лежит код; Brain говорит, почему код такой.
Ограничения
- Brain добавляется агентам, принимающим MCP-серверы. Обычные терминалы и агенты на удалённом SSH-хосте его не получают.
- Заметки сессий и воспоминания хранят по 200 записей каждые.
- Всё хранится локально, по одному файлу на проект в папке данных приложения. Извлечение решений, заметки о передаче и ответы используют Claude через ваш вход в Claude Code, так что эти запросы уходят в Anthropic.
- Память хороша ровно настолько, насколько хорошо то, что в ней лежит. Время от времени просматривайте Memory и удаляйте неверные заметки через Forget.
Итоги
Общая память для ИИ-агентов кода закрывает разрыв между статичными файлами инструкций и контекстным окном, которое сбрасывается. Brain в AgentVera строит её из ваших документов, коммитов, PR, issue и диалогов, отслеживает, какие решения ещё в силе, и позволяет каждому агенту с поддержкой MCP вспоминать и запоминать через agentvera-brain, с заметками о передаче после ходов и при сжатии. Brain входит в бесплатный тариф. Читайте страницу функции Brain или скачайте AgentVera и постройте первую память проекта.