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

Последние сообщения

Хранит последние N сообщений из СОБСТВЕННЫХ прошлых прогонов этого сценария (скользящее окно); на первом ходу пуста — переписку, написанную до сборки, читает нода «История чата». Настраивается через window_size.

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

Тип в графе: window_memory

ExecStateful

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

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

Чат-бот с окном в 10 сообщений

Память подключается к ИИ-агенту связью link_memory; размер окна задаётся полем «Размер окна».

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

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

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

Нода держит только последние N сообщений. Объём контекста перестаёт зависеть от возраста диалога, а дополнительных вызовов модели, в отличие от Память со сжатием, не появляется. Это разумный выбор по умолчанию для чат-бота, который живёт долго и которому не нужно помнить начало разговора. Нужен весь диалог целиком — берите Вся история диалога.

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

Нода не исполняется сама: входа «Запуск» у неё нет, её «тянет» потребитель по связи link_memory. Потребитель один — порт Память у ИИ-агента.

Перед каждым ходом в модель уходит хвост длиной «Размер окна» (по умолчанию 10, допустимо от 1 до 200). Всё, что старше, отбрасывается — и отбрасывается насовсем: после хода агент сохраняет обрезанный хвост плюс новый раунд, так что старые сообщения исчезают и из хранилища. Это не «показать модели N сообщений из полного архива».

В окно попадают все сообщения раунда, а не только реплики человека и бота: вызов инструмента и его результат — тоже сообщения. У агента с инструментами окно в 10 сообщений может вмещать один-два обмена.

Поле «Область» решает, сколько живёт запись: thread — история переживает сообщения чата и лежит в базе; session — только текущий запуск; call — пустая при каждом обращении.

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

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

Входы

ПортПроводДанныеПримечания
Задать историюmessages_inИсполнение + данныеexecute_datamessages

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

Выходы

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

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

Настройки

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

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

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

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

Областьscopestringthread

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

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

Размер окнаwindow_sizeinteger10

Число последних сообщений для включения

Общие поля

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

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

Готовые примеры с этой нодой