Все ноды/AI/Conversation Memory
Последние сообщения
Хранит последние N сообщений из СОБСТВЕННЫХ прошлых прогонов этого сценария (скользящее окно); на первом ходу пуста — переписку, написанную до сборки, читает нода «История чата». Настраивается через window_size.
Тип в графе: window_memory
ExecStateful
Можно включить выход ошибки и обработать сбой отдельным путём.
Как попробовать
Чат-бот с окном в 10 сообщений
Память подключается к ИИ-агенту связью link_memory; размер окна задаётся полем «Размер окна».
- Исполнение + данные
- LLM
- Память
Запускается сразу Перед запуском укажите: модель в ноде LLM.
Как применять
Нода держит только последние N сообщений. Объём контекста перестаёт зависеть от возраста диалога, а дополнительных вызовов модели, в отличие от Память со сжатием, не появляется. Это разумный выбор по умолчанию для чат-бота, который живёт долго и которому не нужно помнить начало разговора. Нужен весь диалог целиком — берите Вся история диалога.
Как это работает
Нода не исполняется сама: входа «Запуск» у неё нет, её «тянет» потребитель по связи link_memory.
Потребитель один — порт Память у ИИ-агента.
Перед каждым ходом в модель уходит хвост длиной «Размер окна» (по умолчанию 10, допустимо от 1 до 200). Всё, что старше, отбрасывается — и отбрасывается насовсем: после хода агент сохраняет обрезанный хвост плюс новый раунд, так что старые сообщения исчезают и из хранилища. Это не «показать модели N сообщений из полного архива».
В окно попадают все сообщения раунда, а не только реплики человека и бота: вызов инструмента и его результат — тоже сообщения. У агента с инструментами окно в 10 сообщений может вмещать один-два обмена.
Поле «Область» решает, сколько живёт запись: thread — история переживает сообщения чата и
лежит в базе; session — только текущий запуск; call — пустая при каждом обращении.
Частые ошибки
- Считать окно обменами. Десять сообщений — это в лучшем случае пять пар «вопрос — ответ», а с инструментами заметно меньше.
- Подключить агенту и окно, и ноду История чата. Диалог приедет в модель дважды: один раз из памяти, второй раз как входное значение.
- Нода на холсте, но не связана с агентом. Связь рисуется от выхода Память к порту Память агента; без неё нода не делает ничего.
- Ждать историю там, где нет треда чата. При запуске по вебхуку, по расписанию или кнопкой
«Запустить» треда нет, и
thread-память привязывается к идентификатору запуска — то есть ведёт себя какsession.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Задать историюmessages_in | Исполнение + данныеexecute_data | messages | показывается, когда overwrite_from_input = true |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Памятьoutput | Памятьlink_memory | — | |
Сообщенияmessages_out | Данныеdata | messages | показывается, когда expose_messages_output = true |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Вывод сообщенийexpose_messages_output | boolean | false | Показать выход, который отдаёт сохранённые сообщения следующему шагу. |
Задать историю из входаoverwrite_from_input | boolean | false | Показать вход, который одновременно запускает шаг и приносит значение: пришедшие сообщения полностью перезаписывают сохранённую историю. Появляется и его выход «Успех», который срабатывает после записи. |
Областьscope | string | thread | thread: сохраняется между сообщениями чата · session: живёт одно выполнение · call: заново при каждом вызове Варианты: |
Размер окнаwindow_size | integer | 10 | Число последних сообщений для включения |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Показывает выход, который срабатывает, если не удалась запись истории.