Консолидация
Дедупликация и очистка записей в engram
Консолидация
Консолидация — процесс очистки базы от дубликатов, устаревших и низкокачественных записей. Выполняется в три шага с контролем на каждом этапе.
Трехшаговый процесс
1. Preview — поиск кандидатов
Находит пары записей с cosine similarity > 0.95 и записи, подходящие под фильтры stale_days и min_score. Не вызывает LLM, не изменяет данные.
engram consolidate preview --stale-days 30 --min-score 0.3// MCP
memory_consolidate_preview({ "stale_days": 30, "min_score": 0.3 })2. Analyze — LLM-анализ
Передает кандидатов в LLM для анализа. Возвращает рекомендации с обоснованием: merge, keep, delete, archive.
engram consolidate analyze// MCP
memory_consolidate({ "stale_days": 30 })3. Apply — применение
Применяет рекомендации: объединяет, удаляет или архивирует записи.
engram consolidate apply// MCP
memory_consolidate_apply({})Операции
Merge
Объединяет две или более похожих записей в одну. Новая запись наследует лучшие поля из исходных. Исходные записи получают superseded_by с ID новой записи.
Delete
Полностью удаляет запись из базы данных.
Archive
Помечает запись как замененную через superseded_by. Запись остается в базе, но исключается из поиска.
Дедупликация при записи
Помимо консолидации, engram выполняет дедупликацию при каждом вызове memory_store. Если cosine similarity новой записи с существующей превышает 0.95, существующая запись обновляется вместо создания дубликата.
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
stale_days | 90 (из конфигурации) | Записи старше этого порога считаются устаревшими |
min_score | 0.3 (из конфигурации) | Записи с score ниже порога — кандидаты на удаление |
Параметры настраиваются в engram.toml:
[consolidation]
stale_days = 90
min_score = 0.3Insights
В рамках консолидации и анализа через trainer генерируются insights — производные знания, извлеченные из паттернов в записях. Insights сохраняются как отдельные записи с memory_type = "insight" и участвуют в кросс-проектном поиске.
Управление insights:
engram train list # список insights
engram train generate # генерация новых insights
engram train delete --id UUID # удаление insightАудит
Все операции консолидации записываются в таблицу consolidation_log с указанием действия и источника (auto/user).