Memory Bank: постоянная память AI-агента на проект
У AI-агента нет памяти между сессиями. Каждый новый чат он начинает с чистого листа: знает язык, знает фреймворк, знает «лучшие практики вообще» — но не знает ваш проект. Почему выбрали именно PostgreSQL, а не Kafka для этой очереди. Как у вас принято называть эндпоинты. Что заказ нельзя оплатить дважды. Всё это агент узнавал в прошлой сессии — и забыл, как только вы закрыли чат.
Это как каждое утро приводить в команду нового разработчика. Технически сильного, но с нулём контекста о том, что здесь уже решено. В первый день он не сделает ничего плохого — он просто не знает, «как у нас принято», и сделает «как в среднем по индустрии». Через месяц таких дней у вас разъезжающийся по стилю код.
Что такое Memory Bank
Memory Bank — это постоянный контекст проекта, который лежит прямо в репозитории в виде markdown-файлов, и который агент читает первым делом в каждой новой сессии. Обычно это CLAUDE.md в корне плюс несколько подключаемых файлов рядом с кодом.
Память живёт в git вместе с кодом. Меняется код — обновляется память, и обе версии едут в одном коммите. Агент не «вспоминает» прошлый разговор — он заново читает актуальное состояние из файлов. Поэтому память переживает и закрытие чата, и смену модели, и приход нового человека в команду: она в репозитории, а не в чьей-то голове или в истории одного диалога.
Что туда класть
Memory Bank — это не пересказ кода (код агент и так прочитает). Это то, что из кода не видно:
- Решения и их причины. Что решили однажды и почему: «идемпотентность храним в Redis с TTL 24 часа», «distributed-транзакций избегаем, используем Saga + Outbox». Без этого агент каждый раз переизобретает выбор заново — и по-разному.
- Структура и стек проекта. Какие сервисы есть, за что каждый отвечает, какие соседи, какой уровень зрелости, какие библиотеки — «свои» в этом проекте.
- Договорённости. Соглашения, которые нигде не enforced'ятся автоматически: нейминг, границы слоёв, что можно и что нельзя.
- Ссылки на спеку. Указатель на источник правды по домену — чтобы агент шёл читать контракт, а не угадывал.
Ключевое отличие от обычной документации: документация написана для людей и объясняет систему «вообще». Memory Bank написан для AI — это рабочий контекст, который агент подгружает, чтобы принимать решения в вашем стиле, а не в среднем. Люди тоже могут его читать, но целевой читатель — агент.
Где это в методологии
Memory Bank сам по себе — только один слой. Он даёт агенту историю решений, но не даёт структуру, по которой эти решения можно проверить. Без машинно-проверяемой спеки память остаётся набором заметок, из которых линтер — хоть AI, хоть обычный — ничего не вытащит.
Подробный разбор — как Memory Bank встроен в методологию (Слой 2), почему без структуры спецификации он бесполезен и как он работает вместе с исполняемым стандартом (правила, которые агент применяет на каждом PR) и структурой спецификации задачи — в статье AI пишет код. Зачем тогда методология?. Здесь я эту логику не пересказываю — иду по указателю.
Рядом стоят ещё две вещи. MCP даёт агенту «руки» — доступ к файлам, базам и API; Memory Bank даёт ему «память» о том, как этими руками пользоваться именно в вашем проекте. А источник правды по домену, на который память ссылается, — это спецификация задачи: структура, по которой агент проверяет, а не угадывает.
Коротко
Memory Bank превращает агента из вечного новичка в старожила, знакомого с историей проекта. Он живёт в репозитории, обновляется вместе с кодом и читается в начале каждой сессии. Но работает он только поверх структуры: память отвечает на «что мы решили», спека — на «по чему это проверить». Одно без другого — половина.