Все ноды/AI/Conversation Memory

Суммаризирующая память

Хранит историю диалога, автоматически сжимая старые сообщения через LLM-суммаризацией. LLM можно брать от подключённого агента или задать отдельным link_llm.

Суммаризирующая памятьS
LLMMemory
Set historyMessages

Тип в графе: summary_memory

ExecStateful

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Как попробовать

Агент с самосжимающейся историей

Память подключена к агенту через link_memory и по умолчанию суммаризует его же моделью.

Вход
LLM
Суммаризирующая памятьS
ИИ-агент
Выход
  • Исполнение + данные
  • LLM
  • Память
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу Перед запуском укажите: модель в ноде LLM.

Как применять

Суммаризирующая память нужна там, где диалог длинный, а обрезать его нельзя: консультация, подбор, сопровождение заявки. Нода копит историю как Буферная, но при переполнении не отбрасывает старое, как Оконная, а отправляет его в модель и заменяет одной сводкой. Плата за это — дополнительный вызов LLM: из трёх памятей только эта тратит деньги сама.

Как это работает

Порог — «Макс. сообщений до суммаризации» (по умолчанию 20). Когда сообщений становится столько же или больше, всё, кроме последних «Сколько последних сообщений хранить дословно» (по умолчанию 6), уходит одним запросом в модель, и результат заменяет их текстовой сводкой. Прежняя сводка передаётся в тот же запрос, поэтому она наращивается, а не пишется с нуля. В контекст агента сводка попадает отдельным сообщением перед сохранёнными репликами.

Откуда берётся модель, решает «Источник LLM». from_parent (по умолчанию) — та же модель, что у подключённого агента, отдельный порт не нужен. external показывает вход LLM: подключите к нему свою ноду LLM, обычно с моделью подешевле: сводку пишет не та модель, что отвечает пользователю.

Сжатие идёт синхронно, до того как агент начнёт отвечать, и ограничено 45 секундами. Если запрос не уложился или упал, запуск не падает: в модель уходит несжатая история, а в логах появляется предупреждение.

Частые ошибки

  • Оставить «Источник LLM» = external и не подключить ноду LLM. Пока сообщений меньше порога, всё выглядит рабочим; на пороге сжатие просто не происходит, история продолжает расти, и в интерфейсе об этом ничего не сказано.
  • Искать сводку в выводе воркфлоу. Она живёт в хранилище памяти и уходит в контекст агента. Наружу нода отдаёт только связь Memory, а при включённом «Вывод сообщений» — текущие сообщения.
  • Забыть, что порт «Задать историю из входа» обнуляет сводку вместе с сообщениями: она описывала прежний диалог и после перезаписи была бы неверной.
  • Ждать историю там, где нет треда чата. При запуске по вебхуку, по расписанию или кнопкой «Запустить» треда нет, и thread-память привязывается к идентификатору запуска — то есть ведёт себя как session.

Входы

ПортПроводДанныеПримечания
LLMllmLLMlink_llm

LLM config node used for summarization

показывается, когда llm_source ≠ "from_parent"

Set historymessages_inИсполнение + данныеexecute_datamessages

показывается, когда overwrite_from_input = true

Выходы

ПортПроводДанныеПримечания
MemoryoutputПамятьlink_memory
Messagesmessages_outДанныеdatamessages

показывается, когда expose_messages_output = true

Настройки

ПолеТипПо умолчаниюОписание
Вывод сообщенийexpose_messages_outputbooleanfalse

Показать data-порт вывода, который отдаёт текущие сохранённые сообщения.

Источник LLMllm_sourcestringfrom_parent

from_parent использует LLM подключённого ai_agent; external использует link_llm

Варианты: from_parent — От родительского агента, external — Внешний (link_llm)

Макс. сообщений до суммаризацииmax_messages_before_summaryinteger20

Когда общее число сообщений превышает это значение, старые суммаризируются

Задать историю из входаoverwrite_from_inputbooleanfalse

Показать входной порт Messages (ED), срабатывание которого полностью перезаписывает сохранённую историю, плюс exec-выход 'History set', который срабатывает после записи истории.

Сколько последних сообщений хранить дословноrecent_messages_to_keepinteger6

Число последних сообщений, сохраняемых дословно после суммаризации

Областьscopestringthread

thread: сохраняется между сообщениями чата · session: живёт в рамках одного выполнения · call: заново при каждом вызове

Варианты: thread — Тред, call — Вызов, session — Сессия

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.