Что такое engram?
Когда сессия заканчивается, кодинг-агент забывает всё. Следующая снова читает те же файлы, предлагает подход, от которого вы отказались месяц назад, и может вернуть баг, который вы дважды чинили. Длинные диалоги сжимаются, и самые нужные детали пропадают первыми.
engram даёт агенту память. Он хранит то, что помнил бы коллега, и не трогает то, что и так видно из кода:
- решения и их обоснование, включая отвергнутые варианты и причины отказа;
- грабли: ошибки, за которые уже заплатили, и способы их избежать;
- принципы, то есть правила кодовой базы («никаких ORM в горячем пути»);
- сессии: на чём остановилась прошлая работа и что дальше;
- факты, заметки и обсуждения, которые стоит сохранить.
Записи связываются в граф (supersedes, rejected_because, caused_by, depends_on и другие), ищутся на любом языке и отдаются агентам через Model Context Protocol.
Как этим пользоваться
- Один раз запустите
npx @vefimov/engram initв репозитории. - Скажите агенту: «используй engram».
- Дальше агент должен:
- начинать задачу с короткого брифинга: принципы, подходящие решения, известные грабли, где вы остановились;
- напоминать о прошлых решениях, когда они важны («три недели назад мы отказались от Redis из-за X»);
- сверять план со старыми граблями до написания кода;
- записывать новые решения и грабли по мере появления;
- отвечать на «где мы обсуждали авторизацию?» по записи, даже если это было сорок диалогов назад.
Чем это отличается от остального
| Существующий подход | Чего не хватает | engram |
|---|---|---|
| Простые memory-плагины | Плоский список заметок | Граф с историей: замещённые и отвергнутые записи сохраняются |
| Встроенная память ассистента | Привязана к одному инструменту и одному пользователю | Локально, открытый формат, любой MCP-клиент |
| Память на одну сессию | Теряется при смене инструмента | Одно хранилище для всех клиентов проекта |
| ADR, написанные вручную | Люди забывают их писать | Агент пишет их по ходу работы, а уже существующие engram импортирует |
Один большой CLAUDE.md | Всегда в контексте, устаревает, не хранит историю | Достаётся по запросу в рамках бюджета токенов |
Принципы
- Память лежит в
.engram/вашего репозитория. Нет сервера, аккаунта и телеметрии. - Источник истины, отсортированный JSONL, можно читать, сравнивать, ревьюить и коммитить.
- Используется встроенный в Node
node:sqliteс FTS5, поэтому компилировать ничего не нужно иnpxработает. - Сервер говорит на стандартном MCP. Skills и prompts объясняют агенту, когда читать и писать.
- Если вы передумали, решение замещается. Старое остаётся в истории.
Дальше: быстрый старт.