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

Память со сжатием

Хранит историю СОБСТВЕННЫХ прошлых прогонов этого сценария, сжимая старые сообщения с помощью LLM; на первом ходу пуста — переписку, написанную до сборки, читает нода «История чата». Модель берётся у подключённого ИИ-агента либо приходит на вход «Модель».

Память со сжатием▶S
МодельПамять
Задать историюСообщения

Тип в графе: summary_memory

ExecStateful

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Входы

ПортПроводДанныеПримечания
МодельllmLLMlink_llm—

Модель, которая пишет краткое содержание: подключите ноду «LLM».

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

Задать историюmessages_inИсполнение + данныеexecute_datamessages

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

Выходы

ПортПроводДанныеПримечания
ПамятьoutputПамятьlink_memory—
Сообщенияmessages_outДанныеdatamessages

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

Настройки

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

Показать выход, который отдаёт сохранённые сообщения следующему шагу.

Источник LLMllm_sourcestringfrom_parent

«от родителя» — модель подключённого ИИ-агента; «внешняя» — модель с входа «Модель»

Варианты: from_parent — От родительского агента, external — Внешняя модель

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

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

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

Показать вход, который одновременно запускает шаг и приносит значение: пришедшие сообщения полностью перезаписывают сохранённую историю. Появляется и его выход «Успех», который срабатывает после записи.

Хранить дословно, сообщенийrecent_messages_to_keepinteger6

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

Областьscopestringthread

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

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

Общие поля

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

  • expose_error_output — Показывает выход, который срабатывает, если не удалась запись истории.