← назад к разделу

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 превращает агента из вечного новичка в старожила, знакомого с историей проекта. Он живёт в репозитории, обновляется вместе с кодом и читается в начале каждой сессии. Но работает он только поверх структуры: память отвечает на «что мы решили», спека — на «по чему это проверить». Одно без другого — половина.