Engrim переносит память проекта между ИИ-агентами кодирования

Engrim переносит память проекта между ИИ-агентами кодирования

Разработчик Тим Гордон представил на Hacker News (в разделе Show HN, витрине для авторских проектов) инструмент Engrim: локальный, независимый от конкретного поставщика ИИ SQLite-движок «эпизодической памяти» для ИИ-агентов кодирования. Задача, решить то, что автор называет «размыванием внимания»: по мере роста контекстных окон моделей до 1 млн+ токенов рассуждения ухудшаются, стоимость каждого хода диалога растёт, а очистка контекста (команда /clear) приводит к полной «амнезии», агент теряет принятые архитектурные решения, ограничения и состояние проекта.

Engrim хранит эти данные не в контексте модели, а в локальном файле SQLite (~/.engrim/memory.db) и подгружает их обратно в виде компактного пакета «активной памяти» размером около 4000 символов. Для поиска нужных записей используется гибридная схема: полнотекстовый поиск SQLite FTS5 (ранжирование BM25) в сочетании со статичными векторными эмбеддингами model2vec (загрузка около 30 мс, работает на CPU без GPU). Каждая запись помечается полем origin_agent, какой агент (Antigravity, Claude Code, Cursor или сам пользователь) её создал, так что при совместной работе нескольких агентов над одним проектом видно происхождение каждого решения.

Инструмент устанавливается командой pip install engrim, а команда engrim setup сама определяет, какие окружения стоят на машине (~/.gemini, для Google Antigravity, ~/.claude, для Claude Code, ~/.cursor, для Cursor), и настраивает под них хуки и MCP-сервер; для Windsurf конфигурацию нужно добавить в mcp_config.json вручную. Для Claude Code Engrim подключает хуки SessionStart, SessionEnd, Stop и UserPromptSubmit, добавляет свою строку в статус-бар и дописывает заметки об использовании памяти в CLAUDE.md.

В качестве доказательства работоспособности автор приводит собственный тест на боевой кодовой базе алгоритмической торговли объёмом 50 000 строк: 105 непрерывных сессий, 186 юнит-тестов без единой регрессии и ни одного случая «амнезии» при переключении между моделями. Свыше 153 000 токенов работы (архитектура, подбор параметров, отладка) за несколько дней были свёрнуты в пакет активной памяти размером менее 1000 токенов, это меньше 1% контекстного окна и, по заявлению автора, более чем 99-процентное сокращение объёма контекста, перезагружаемого при каждом перезапуске сессии.

Все данные хранятся только локально: без телеметрии, облачной синхронизации и слежения; файлы базы данных создаются с правами доступа только для владельца (0600) и по умолчанию добавлены в .gitignore, чтобы память случайно не попала в репозиторий. При обновлении версии существующая база мигрируется без потери данных через ALTER TABLE. Лицензия, MIT, текущая версия ядра, 1.3.0.

Ключевые факты

  • Engrim, локальный SQLite-движок памяти проекта для ИИ-агентов кодирования (Claude Code, Cursor, Google Antigravity, Windsurf), решает проблему «амнезии» при очистке контекста.
  • Хранит компактный пакет памяти около 4000 символов, ищет записи гибридно: полнотекстовый поиск FTS5/BM25 плюс векторные эмбеддинги model2vec (загрузка ~30 мс, без GPU).
  • В тесте автора на 50 000-строчной торговой системе: 105 сессий, 186 юнит-тестов без регрессий; 153 000 токенов работы свёрнуты в пакет менее 1000 токенов, заявлено сокращение контекста при перезапуске более чем на 99%.
  • Устанавливается командой pip install engrim; engrim setup сам настраивает хуки и MCP под найденные окружения; данные хранятся только локально, без телеметрии, файлы БД, с правами 0600 и в .gitignore.
  • Автор и правообладатель, Тим Гордон, лицензия MIT, текущая версия ядра, 1.3.0.

Почему это важно

По мере роста контекстных окон ИИ-моделей (1 млн+ токенов) у разработчиков, работающих с ИИ-агентами кодирования, возникает обратный эффект: чем длиннее диалог, тем хуже рассуждения модели и дороже каждый запрос, а команда очистки контекста /clear стирает не только «шум», но и все принятые архитектурные решения. Engrim предлагает вынести это состояние из контекста модели во внешнее локальное хранилище: агент «помнит» не потому что держит всё в контексте, а потому что подгружает компактную выжимку из базы при каждом новом запуске.

Кому это важно

Инструмент адресован разработчикам, которые ведут один и тот же проект через несколько разных ИИ-агентов кодирования, Google Antigravity, Claude Code, Cursor (через MCP) и Windsurf, и хотят, чтобы решения и ограничения проекта не терялись при переключении между ними или при регулярной очистке контекстного окна в долгих сессиях.

Как это применить

Engrim ставится командой pip install engrim, после чего engrim setup сама обнаруживает установленные окружения на машине (~/.gemini, ~/.claude, ~/.cursor) и настраивает под них хуки и MCP-сервер; для Windsurf конфигурацию нужно добавить в mcp_config.json вручную. Для Claude Code Engrim подключает хуки SessionStart, SessionEnd, Stop и UserPromptSubmit, добавляет свою строку в статус-бар и дописывает заметки о работе с памятью в CLAUDE.md. Рабочий цикл: во время работы решение фиксируется командой engrim add (или вызовом engrim_add через MCP), перед завершением сессии добавляется запись с тегом resume-pointer с описанием следующей задачи, а engrim review позволяет проверить, что все недавние решения зафиксированы.

Можно ли доверять

Автор, Тим Гордон, единственный разработчик и правообладатель проекта (лицензия MIT, версия ядра 1.3.0); независимой проверки или сторонних отзывов в источнике нет. Заявленные цифры (105 сессий, 186 юнит-тестов без регрессий, свёртка 153 000 токенов в пакет менее 1000 токенов) получены на одной боевой кодовой базе алгоритмической торговли, которую использовал сам автор, это не тест на широкой выборке проектов и не независимая верификация. При этом технически проверяемые утверждения сформулированы конкретно: локальное хранение в SQLite без телеметрии, права доступа к файлу БД 0600, файлы БД в .gitignore по умолчанию, нативная миграция схемы через ALTER TABLE.

Риски и подводные камни

Источник не сообщает ни о команде за проектом (кроме одного автора), ни о числе пользователей, ни о популярности (звёзды на GitHub, скачивания), ни о сравнении с другими инструментами памяти для ИИ-агентов (векторными базами, другими MCP-серверами памяти), оценить зрелость и востребованность инструмента по самому посту нельзя. Заявленные метрики эффективности, это тест самого автора на одном проекте, без внешней проверки. О ценообразовании источник не сообщает ничего, кроме бесплатной установки через pip.