Обнаружение конфликтов в памяти
- title
- Обнаружение конфликтов в памяти
- type
- concept
- summary
- Поиск противоречий в знаниях и сохранение обоих вариантов вместо тихого перезаписывания
- tags
- ai-agents, memory, design-patterns
- created
- 2026-04-07
- updated
- 2026-09-14
- lang
- ru
- translation_of
- memory-conflict-detection
- source_updated
- 2026-09-14
- translated
- 2026-09-14
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Практика выявления ситуаций, когда новая порция знаний противоречит уже имеющейся, с сохранением обоих вариантов на виду вместо тихого перезаписывания. Это важно для любой системы знаний, где факты меняются со временем, - памяти агентов, вики, конфигурационных баз данных, - поскольку тихое перезаписывание уничтожает контекст: что именно изменилось и почему.
Проблема перезаписывания
Самый простой подход к обновлению знаний: найти старую запись и заменить её новой. Это работает, когда новая информация однозначно верна. Подход ломается, когда:
- "Новая" информация может оказаться ошибочной (агент неверно что-то прочитал, источник ненадёжен);
- Старая и новая информация частично верны каждая в своём контексте;
- Понимание самого противоречия ценно само по себе (оно указывает на изменение в системе или на пробел в понимании).
В памяти агентов тихое перезаписывание приводит к потере истории. Если в скрипте развёртывания требование флага --force сменилось на его отсутствие, полезны оба факта: текущее состояние и знание о том, что раньше всё работало иначе.
Как работает обнаружение конфликтов
При сохранении нового воспоминания:
- Проверить имеющиеся записи памяти на смысловое пересечение (та же тема, похожие теги, совпадающие сущности).
- Сравнить утверждения: если новое воспоминание утверждает нечто, противоречащее существующему, пометить конфликт.
- Сохранить обе записи и создать запись о конфликте, связывающую их.
- Показать конфликт агенту или человеку для явного разрешения.
Обнаружение может быть простым (точное совпадение тега и сущности при различающихся значениях) или сложным (сходство эмбеддингов выше порога при противоположной тональности утверждений). hippo-memory использует более простой подход: конфликты сохраняются в SQLite и дублируются в виде файлов в .hippo/conflicts/, а разрешаются явно через команду hippo resolve <id> --keep <mem_id>.
Стратегии разрешения
- Оставить самое свежее - довериться последнему наблюдению. Просто, но теряется история.
- Оставить оба варианта с контекстом - снабдить обе записи временными метками и предоставить выбор потребителю. Сохраняет максимум информации.
- Объединить - создать новую запись, отражающую нюансы ("для развёртывания требовался
--forceдо версии v2.3, после этого флаг не нужен"). Наиболее точный вариант, но требует понимания сути. - Арбитраж человеком - отправить на ручную проверку. Самый безопасный вариант для критически важных знаний. Это форма human-in-the-loop в применении к управлению знаниями.
Связь с этой вики
В этой вики конфликты обрабатываются через процедуру lint: периодические проверки находят противоречия между страницами и передают их на рассмотрение человеку. По своей сути этот подход близок к обнаружению конфликтов, но работает пакетами, а не в реальном времени. Если скорость ingest'а в вики вырастет, обнаружение конфликтов в реальном времени при добавлении материалов (проверка новых утверждений по существующим страницам) позволит выявлять проблемы раньше.
proposition-identity-memory-tool - это отчёт автора, пытавшегося автоматизировать второй шаг (сравнение утверждений) и обнаружившего, что проверка того, выражают ли два высказывания одну и ту же мысль, упирается в проблему тождества пропозиций (proposition identity), не решённую в философии языка. Это довод в пользу того, чтобы оставить разрешение противоречий человеку, как это сделано в lint-процедуре, а не полагаться на автоматический анализатор противоречий.
Обнаружение византийских отказов в мультиагентных системах - родственная проблема другого масштаба: когда агенты выдают противоречивые результаты на один и тот же запрос. Здесь действует тот же принцип: сохранять противоречия на виду и разрешать их явно, не позволяя одному из вариантов молча вытеснить другой.
- Hippo Memory
- MemPalace
- The Anatomy of Agent Memory
- Agent Memory Components (Extractor / Store / Retriever)
- Agent Memory Strategy Decision Tree
- AI Cannot Forget or Forgive
- LLM Wiki as agent-memory substrate
- The Log is the Agent
- Memoryfields — agent memory as a file format
- Vibe-coding a memory tool into a 130-year-old open problem