Перейти к содержимому

Архивариус — фоновый процесс MMW, который после каждого remember смотрит, как новая запись соотносится с недавними, и наводит порядок: связывает, отмечает устаревшее, понижает уверенность. Он ничего не удаляет.

Из этой страницы вы узнаете:

  1. что архивариус делает с новой записью и с соседними;
  2. какие данные он передаёт модели;
  3. как он работает в организациях и где не запускается.

Пример на всю страницу: месяц назад агент сохранил «staging выкатывается вручную через scp», а сегодня — «staging выкатывается через systemd-юнит app-staging».

remember(новая запись)
│ запись сохранена, ответ агенту уже ушёл
▼
архивариус (в фоне)
│ берёт до 5 самых свежих записей той же области и проекта,
│ которые может читать автор новой записи
▼
модель GigaChat оценивает: CREATE / MERGE / INVALIDATE + связи
▼
обновления: связи графа, статус stale, уверенность, fact_key

Анализ идёт асинхронно: remember отвечает сразу, а связи и отметки появляются чуть позже. Если модель недоступна, архивариус пропускает запись — она сохранена как обычно, просто без обогащения.

Решение моделиЧто меняется
CREATE — новый фактТолько связи и, если нужно, служебный fact_key у новой записи.
MERGE — новая запись уточняет или дополняет старуюУверенность старой записи понижается до 0,4 (если была выше).
INVALIDATE — новая запись опровергает старуюСтарая запись получает статус stale, её уверенность понижается до 0,1.

Дополнительно:

  • Связи графа. Архивариус строит связи relates_to (связано), fixes_issue (исправляет проблему) и supersedes (заменяет) с весом. Они видны в graph_relations результатов search и на карте связей в кабинете.
  • Служебный fact_key. Если вы не задали fact_key, архивариус присваивает ключ вида archivist:полка:кратко. Заданный вами ключ он не меняет.
  • Только среди кандидатов. Изменять он может лишь те записи, которые сам получил на сравнение. Если модель укажет другую запись, решение отбрасывается.

В нашем примере архивариус, скорее всего, решит INVALIDATE: запись про scp станет stale с уверенностью 0,1, а новая получит связь supersedes к ней. В поиске агент увидит обе — и поймёт, какая актуальна.

  • Не удаляет. Опровергнутая запись остаётся видимой и находится поиском. Удаляет только forget, вызванный вами или вашим агентом.
  • Не меняет текст ни новой, ни старой записи.
  • Не повышает уверенность — только понижает.
  • Не выходит за пределы проекта и рабочей области новой записи.

Модели передаются текст новой записи и начало (до 140 символов) каждой из записей-кандидатов вместе с их ID. Секреты к этому моменту уже заменены заглушками — Memory Guard срабатывает до сохранения. Ответ модели тоже проходит вычистку секретов, прежде чем попасть в fact_key.

Архивариус соблюдает те же правила видимости, что и поиск: кандидатов он выбирает только из записей, которые может читать автор новой записи. Черновик коллеги («только автор») или запись чужого отдела не попадут ни в сравнение, ни в связи, ни в отметки. См. Видимость.

Для записей, сделанных через подключение ChatGPT (коннектор по OAuth, бета), remember — чисто добавляющая операция: архивариус не запускается, и текст записи модели не передаётся. При сохранении такие записи не анализируются.