engram

Консолидация

Дедупликация и очистка записей в 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_days90 (из конфигурации)Записи старше этого порога считаются устаревшими
min_score0.3 (из конфигурации)Записи с score ниже порога — кандидаты на удаление

Параметры настраиваются в engram.toml:

[consolidation]
stale_days = 90
min_score = 0.3

Insights

В рамках консолидации и анализа через 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).