TL;DR
CogMem — архитектура памяти для LLM, которая разделяет информацию на три уровня: Long-Term Memory (база паттернов рассуждений, общая для всех сессий), Direct Access (заметки и планы текущей сессии) и Focus of Attention (минимальный контекст для текущего хода). На каждом шаге диалога система не подаёт модели всю историю разговора, а собирает только релевантное из всех трёх уровней — получается компактный, но информативный промпт.
В длинных диалогах LLM теряют точность и связность: ранние ошибки тянутся через всю цепочку рассуждений, контекст раздувается до тысяч токенов, модель начинает путать детали или уходить от задачи. На бенчмарке TurnBench (задачи на итеративное угадывание правил через 10-15 ходов) даже топовые модели достигают только 84% точности в обычном режиме и 18% в сложном — потому что добавление полной истории диалога в каждый промпт создаёт информационный шум и размывает фокус.
CogMem решает это через структурированную дистилляцию: после каждого хода система суммирует ключевые выводы в заметки (DA), извлекает проверенные паттерны рассуждений в долгосрочную память (LTM), а для следующего хода собирает только то, что нужно здесь и сейчас (FoA). Модель получает не "всё что было", а "самое важное для текущего шага" — это держит контекст под контролем и позволяет исправлять ошибки, не таская их через весь диалог. В эксперименте полная система подняла точность с 76% до 93%.
Схема метода
УРОВЕНЬ 1: Long-Term Memory (LTM)
└─ Хранит паттерны рассуждений и стратегии решения задач
└─ Общая для всех сессий, пополняется после завершения диалога
└─ Извлекается через семантический поиск по описанию задачи
УРОВЕНЬ 2: Direct Access (DA)
└─ Заметки текущей сессии: промежуточные выводы, планы, гипотезы
└─ Обновляется после каждого хода диалога
└─ При старте сессии загружает релевантные записи из LTM
УРОВЕНЬ 3: Focus of Attention (FoA)
└─ Собирает минимальный контекст для текущего хода:
• Релевантные заметки из DA
• Релевантные паттерны из LTM
• Краткий summary истории диалога
• Новый вопрос пользователя
└─ Если контекста недостаточно → запрашивает детали нужных ходов
└─ Реконструируется заново на каждом шаге
РАБОЧИЙ ЦИКЛ (один ход диалога):
1. FoA собирает контекст → модель оценивает достаточность
2. Если нужно → FoA подтягивает детали пропущенных ходов
3. Модель генерирует ответ на основе FoA-контекста
4. Агент памяти суммирует ход → обновляет заметки DA
5. Пользователь получает ответ (обновление памяти идет асинхронно)
Полная система работает через векторную БД и специальные агенты, но принципы применимы вручную — через структурированные чаты и периодические summary.
Пример применения
Задача: Ты развиваешь SaaS-сервис для управления задачами в малом бизнесе (конкуренты: Битрикс24, Мегаплан). Через 15 сообщений с LLM вы разбираете позиционирование, ценообразование, каналы продвижения, дорожную карту фич, анализ конкурентов, юнит-экономику. К 10-му сообщению модель начинает забывать ранние выводы о целевой аудитории или предлагать фичи, которые вы уже отвергли на 3-м ходе.
Workflow с CogMem-принципами:
ЧАТ 1 "База знаний" (LTM):
Создай и веди документ с проверенными паттернами:
• Как успешные SaaS позиционируются против корпоративных гигантов
• Какие метрики критичны на старте (CAC, LTV, churn)
• Ошибки, которых нужно избегать в ценообразовании B2B
ЧАТ 2 "Текущая стратегия" (DA):
Веди структурированные заметки по текущему проекту:
## Целевая аудитория
[компактное описание после обсуждения]
## Отвергнутые гипотезы
[что пробовали и почему не подошло]
## Текущие выводы
[ключевые решения по позиционированию, цене, каналам]
## Открытые вопросы
[что ещё нужно проработать]
ЧАТ 3 "Рабочая сессия" (FoA):
На каждом новом витке диалога даёшь промпт:
Вот мои заметки по проекту:
[копируешь релевантную часть из Чата 2]
Вот проверенные паттерны из базы знаний:
[копируешь 2-3 релевантных пункта из Чата 1]
Краткая история нашего разговора:
[3-5 предложений: что обсуждали, к чему пришли]
Новый вопрос: {твой вопрос}
Результат:
Модель всегда видит актуальную картину — ключевые решения, отвергнутые варианты, контекст задачи — но не тонет в полной истории диалога. На 15-м сообщении она так же точно помнит выводы с 3-го хода, как и на 4-м, потому что эти выводы живут в заметках, а не размазаны по 10 тысячам токенов истории.
Когда обсуждение завершено, ты дистиллируешь инсайты в Чат 1 (база знаний) — например, "Позиционирование 'простота против монстров' сработало для сервиса X" — и этот паттерн будет доступен в следующих проектах.
Эффект: Вместо линейного роста токенов (каждый новый ход добавляет предыдущие сообщения) получаешь постоянный компактный контекст (заметки + релевантная база + краткий summary). Модель не теряет фокус, ты экономишь токены, диалог остаётся связным даже на 20-30 ходах.
Почему это работает
Слабость LLM: Когда в промпт добавляешь полную историю диалога, получаешь информационный шум — модель видит 10 000 токенов, из которых для текущего шага важны 500. Чем длиннее контекст, тем сильнее размывается внимание: детали путаются, ранние ошибки тянутся дальше (модель видит свой неверный вывод с 3-го хода и опирается на него на 10-м), фокус уходит от задачи. Плюс это дорого — токены на вход растут линейно с числом ходов.
Сильная сторона LLM: Модели отлично работают с компактным структурированным контекстом. Если дать не хаотичную историю, а чёткие заметки ("Мы решили X", "Отвергли Y потому что Z"), плюс релевантные паттерны ("Вот как обычно решают эту задачу"), плюс краткий summary последних шагов — модель быстро схватывает суть и генерирует точный ответ. Chain-of-Thought показал, что структурированные рассуждения работают лучше, чем неструктурированные; здесь тот же принцип, но применённый к памяти диалога.
Как метод использует это: Вместо "дай модели всё" CogMem говорит "дай модели только то, что нужно сейчас". Дистилляция (превращение диалога в заметки) убирает шум и оставляет суть. Многоуровневая память разделяет "что важно прямо сейчас" (FoA), "что важно в этой сессии" (DA) и "что важно вообще" (LTM) — так контекст остаётся релевантным и компактным. Семантический поиск (в оригинале) или ручной отбор (при применении вручную) подтягивает только нужные куски памяти, не всё подряд.
Рычаги управления для ручного применения:
- Частота summary — создавай краткую выжимку каждые 5-10 сообщений; чаще = свежее контекст, реже = экономия усилий
- Структура заметок DA — чем чётче рубрики ("Решения", "Отвергнутое", "Вопросы"), тем легче извлекать релевантное
- Объём базы LTM — 10-20 проверенных паттернов дают пользу; 100+ уже трудно искать вручную
- Глубина истории в FoA — подавай 3-5 предложений summary; больше = риск шума, меньше = риск потери контекста
Шаблон workflow
Это не один промпт, а организация работы. Применимо для диалогов 10+ сообщений, где нужна связность и точность.
ШАГ 1: Создай три рабочих пространства
[ЧАТ "База знаний" — Long-Term Memory]
Ты моя база знаний по теме {тема}. Я буду добавлять сюда проверенные
паттерны, принципы, инсайты из завершённых проектов. Структурируй их
по категориям для быстрого поиска.
Формат записи:
• Паттерн: [краткое название]
• Когда применять: [условия]
• Как работает: [суть]
• Пример: [конкретный кейс]
[ЧАТ "Текущий проект" — Direct Access]
Ты ведёшь заметки по моему проекту {название проекта}. После каждого
витка обсуждения я буду просить обновить заметки. Держи их компактными
и структурированными.
Структура заметок:
## Ключевые решения
[что уже решили и зафиксировали]
## Отвергнутые варианты
[что пробовали, почему не подошло]
## Текущие гипотезы
[что проверяем или обдумываем]
## Открытые вопросы
[что ещё нужно проработать]
[ЧАТ "Рабочая сессия" — Focus of Attention]
[здесь идёт основной диалог, см. ниже]
ШАГ 2: В рабочей сессии используй промпт
Контекст проекта:
{копируй релевантные заметки из Чата 2}
Применимые паттерны:
{копируй 2-3 релевантных пункта из Чата 1}
Что обсуждали:
{напиши 3-5 предложений: суть последних 3-5 ходов диалога}
Новый вопрос: {твой вопрос}
ШАГ 3: После каждых 3-5 ходов обнови заметки
[В Чате 2]
Вот последние 3 хода нашего обсуждения:
{копируй сообщения}
Обнови заметки: добавь новые решения, гипотезы, открытые вопросы.
Убери устаревшее. Сохрани структуру.
ШАГ 4: После завершения проекта дистиллируй в базу
[В Чате 1]
Проект {название} завершён. Вот итоговые заметки:
{копируй финальное состояние из Чата 2}
Извлеки проверенные паттерны и инсайты, которые применимы к другим
проектам. Добавь в базу знаний.
Пояснение плейсхолдеров:
- {тема} — широкая область (маркетинг SaaS, разработка продукта, найм)
- {название проекта} — конкретная задача (запуск сервиса X, стратегия на Q2)
- {твой вопрос} — то, что обсуждаешь на текущем шаге
Ключевая идея: Ты вручную делаешь то, что система CogMem делает автоматически — структурируешь память, подаёшь только релевантное, дистиллируешь опыт. Это требует дисциплины, но радикально улучшает качество длинных диалогов.
Ограничения
⚠️ Требует workflow и дисциплины: Ручное применение работает, но нужно реально вести три чата и копировать контекст между ними. Если забудешь обновить заметки на 7-м ходе, на 15-м получишь устаревший контекст. Это не "вставил промпт и работает", а изменение привычек работы.
⚠️ Для длинных диалогов, не коротких: Если разговор укладывается в 5 сообщений, проще подать полную историю. CogMem-workflow окупается на 10+ ходах, где без структуры модель начинает терять нить. Для одноразовых вопросов это overkill.
⚠️ Семантический поиск сложно вручную: Оригинальная система использует векторную БД для поиска релевантных записей. Вручную приходится либо читать базу глазами (работает до 20-30 записей), либо использовать текстовый поиск / теги. На больших объёмах (100+ паттернов) это становится узким местом.
⚠️ Для задач с накоплением контекста: Метод силён там, где каждый новый ход опирается на предыдущие — стратегия, планирование, итеративный анализ. Если задача не требует памяти (каждый вопрос независим), структура не даёт преимуществ. Подходит для проектной работы, не для быстрых запросов.
Ресурсы
CogMem: A Cognitive Memory Architecture for Sustained Multi-Turn Reasoning in Large Language Models
Исследование опирается на: - TurnBench-MS benchmark (Zhang et al., 2025) — оценка многоходового рассуждения - Модель Оберауэра (Oberauer, 2002) о структуре рабочей памяти — теоретическая база для трёх уровней - Предшественники: MemBank, Mem0, Mem1, A-Mem, MemOS — системы управления памятью в LLM
Авторы: Yiran Zhang, Jincheng Hu, Mark Dras, Usman Naseem
Macquarie University, Independent Researcher
