C
ChaoBro

Память для агентов-кодеров: agentmemory даёт постоянную память кодирующим агентам, набрав 4400 звёзд за неделю

Память для агентов-кодеров: agentmemory даёт постоянную память кодирующим агентам, набрав 4400 звёзд за неделю

Что больше всего раздражает, когда открываешь Claude Code для написания кода?

Агент не помнит, что на прошлой неделе вы сказали «в этом проекте без TypeScript». Не помнит, что вы предпочитаете функциональный стиль. Не помнит, что вы отклонили архитектурное предложение.

Всё приходится повторять. Каждый раз заново.

agentmemory хочет решить именно эту проблему.

8483 звезды, рост на 4450 за неделю, 301 коммит, поддержка плагинов Claude Code и Codex.

Как это работает

Основная идея agentmemory проста: сохранять информацию, полученную агентом в ходе разговоров, и автоматически загружать её при следующем запуске.

Но за «просто» скрывается много инженерных деталей.

Трёхуровневое хранение. Проект делит память на три типа:

  • Память на уровне проекта: архитектурные решения, стек технологий, нормы кода. Сохраняется между сессиями.
  • Память на уровне пользователя: ваши предпочтения в кодинге, частые паттерны, личные привычки. Кросс-проектная.
  • Временная память: контекст текущего разговора, очищается при завершении сессии.

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

Поиск и извлечение. Он не просто забрасывает всю память в контекстное окно. Проект использует гибридный поиск BM25 + векторный, и недавно добавил поддержку CJK-токенизатора для китайского/японского/корейского текста — важно для китайских проектов.

Публичные бенчмарки. В проекте есть директория benchmark с тестами загрузки на 100k записей, публикуются данные p50/p90/p99 задержек. Такой уровень прозрачности редок в аналогичных проектах.

Мой реальный опыт

Я установил .claude-plugin в Claude Code, развёртывание прошло довольно гладко.

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

Но есть и подводные камни:

  • Обновление памяти с задержкой. Я изменил предпочтения проекта, а агент иногда всё ещё использовал старую память. Похоже, обновление кэша имеет задержку.
  • Перегрузка памяти. Через некоторое работы в хранилище накопились десятки записей. Агент начал путаться — запомнил слишком много деталей и потерял главное.
  • Вопросы конфиденциальности. Память хранится локально — это хорошо. Но если в проекте несколько соавторов, смешивание предпочтений всех участников становится проблемой.

Какую реальную проблему это решает

Главная боль кодинга с агентами — не недостаточная способность, а разрыв контекста.

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

Ценность agentmemory в сужении этого разрыва. Он не может заставить агента полностью «помнить» вас, но как least запоминает ключевые решения.

Ещё далеко до завершения

Не обманывайтесь количеством звёзд. Этот проект далёк от «готов к продакшену».

Самая большая проблема — автоматическое управление памятью. Кто решает, что запомнить, а что забыть? Сейчас механизм по сути ручной — вы говорите агенту, что запомнить, и он запоминает. Но пользователь не может каждый раз точно指示ать агенту «это в память проекта, то во временную память».

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

Мой вывод

Направление agentmemory правильное. Кодирующим агентам нужна постоянная память — это неизбежно.

Но если вы прямо сейчас полагаетесь на него для важных решений — не стоит. Используйте как вспомогательный инструмент для снижения нагрузки от повторяющихся объяснений. Этого достаточно.

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


Основные источники: