Все ноды/AI/Conversation Memory
Суммаризирующая память
Хранит историю диалога, автоматически сжимая старые сообщения через LLM-суммаризацией. LLM можно брать от подключённого агента или задать отдельным link_llm.
Тип в графе: summary_memory
ExecStateful
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Как попробовать
Агент с самосжимающейся историей
Память подключена к агенту через link_memory и по умолчанию суммаризует его же моделью.
- Исполнение + данные
- LLM
- Память
Запускается сразу Перед запуском укажите: модель в ноде LLM.
Как применять
Суммаризирующая память нужна там, где диалог длинный, а обрезать его нельзя: консультация, подбор, сопровождение заявки. Нода копит историю как Буферная, но при переполнении не отбрасывает старое, как Оконная, а отправляет его в модель и заменяет одной сводкой. Плата за это — дополнительный вызов LLM: из трёх памятей только эта тратит деньги сама.
Как это работает
Порог — «Макс. сообщений до суммаризации» (по умолчанию 20). Когда сообщений становится столько же или больше, всё, кроме последних «Сколько последних сообщений хранить дословно» (по умолчанию 6), уходит одним запросом в модель, и результат заменяет их текстовой сводкой. Прежняя сводка передаётся в тот же запрос, поэтому она наращивается, а не пишется с нуля. В контекст агента сводка попадает отдельным сообщением перед сохранёнными репликами.
Откуда берётся модель, решает «Источник LLM». from_parent (по умолчанию) — та же модель,
что у подключённого агента, отдельный порт не нужен. external показывает вход LLM:
подключите к нему свою ноду LLM, обычно с моделью подешевле: сводку пишет
не та модель, что отвечает пользователю.
Сжатие идёт синхронно, до того как агент начнёт отвечать, и ограничено 45 секундами. Если запрос не уложился или упал, запуск не падает: в модель уходит несжатая история, а в логах появляется предупреждение.
Частые ошибки
- Оставить «Источник LLM» =
externalи не подключить ноду LLM. Пока сообщений меньше порога, всё выглядит рабочим; на пороге сжатие просто не происходит, история продолжает расти, и в интерфейсе об этом ничего не сказано. - Искать сводку в выводе воркфлоу. Она живёт в хранилище памяти и уходит в контекст агента. Наружу нода отдаёт только связь Memory, а при включённом «Вывод сообщений» — текущие сообщения.
- Забыть, что порт «Задать историю из входа» обнуляет сводку вместе с сообщениями: она описывала прежний диалог и после перезаписи была бы неверной.
- Ждать историю там, где нет треда чата. При запуске по вебхуку, по расписанию или кнопкой
«Запустить» треда нет, и
thread-память привязывается к идентификатору запуска — то есть ведёт себя какsession.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
LLMllm | LLMlink_llm | — | LLM config node used for summarization показывается, когда llm_source ≠ "from_parent" |
Set historymessages_in | Исполнение + данныеexecute_data | messages | показывается, когда overwrite_from_input = true |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Memoryoutput | Памятьlink_memory | — | |
Messagesmessages_out | Данныеdata | messages | показывается, когда expose_messages_output = true |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Вывод сообщенийexpose_messages_output | boolean | false | Показать data-порт вывода, который отдаёт текущие сохранённые сообщения. |
Источник LLMllm_source | string | from_parent | from_parent использует LLM подключённого ai_agent; external использует link_llm Варианты: |
Макс. сообщений до суммаризацииmax_messages_before_summary | integer | 20 | Когда общее число сообщений превышает это значение, старые суммаризируются |
Задать историю из входаoverwrite_from_input | boolean | false | Показать входной порт Messages (ED), срабатывание которого полностью перезаписывает сохранённую историю, плюс exec-выход 'History set', который срабатывает после записи истории. |
Сколько последних сообщений хранить дословноrecent_messages_to_keep | integer | 6 | Число последних сообщений, сохраняемых дословно после суммаризации |
Областьscope | string | thread | thread: сохраняется между сообщениями чата · session: живёт в рамках одного выполнения · call: заново при каждом вызове Варианты: |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.