Все ноды/AI/Conversation Memory
Оконная память
Хранит только последние N сообщений диалога (скользящее окно). Более предсказуем по объёму контекста чем Buffer Memory. Настраивается через window_size.
Тип в графе: window_memory
ExecStateful
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Как попробовать
Чат-бот с окном в 10 сообщений
Память подключается к ИИ-агенту связью link_memory; размер окна задаётся полем «Размер окна».
- Исполнение + данные
- LLM
- Память
Запускается сразу Перед запуском укажите: модель в ноде LLM.
Как применять
Оконная память держит только последние N сообщений. Объём контекста перестаёт зависеть от возраста диалога, а дополнительных вызовов модели, в отличие от Суммаризирующей памяти, не появляется. Это разумный выбор по умолчанию для чат-бота, который живёт долго и которому не нужно помнить начало разговора. Нужен весь диалог целиком — берите Буферную память.
Как это работает
Нода не исполняется сама: входа Run у неё нет, её «тянет» потребитель по связи link_memory.
Потребитель один — порт Memory у ИИ-агента.
Перед каждым ходом в модель уходит хвост длиной «Размер окна» (по умолчанию 10, допустимо от 1 до 200). Всё, что старше, отбрасывается — и отбрасывается насовсем: после хода агент сохраняет обрезанный хвост плюс новый раунд, так что старые сообщения исчезают и из хранилища. Это не «показать модели N сообщений из полного архива».
В окно попадают все сообщения раунда, а не только реплики человека и бота: вызов инструмента и его результат — тоже сообщения. У агента с инструментами окно в 10 сообщений может вмещать один-два обмена.
Поле «Область» решает, сколько живёт запись: thread — история переживает сообщения чата и
лежит в базе; session — только текущий запуск; call — пустая при каждом обращении.
Частые ошибки
- Считать окно обменами. Десять сообщений — это в лучшем случае пять пар «вопрос — ответ», а с инструментами заметно меньше.
- Подключить агенту и окно, и ноду История чата. Диалог приедет в модель дважды: один раз из памяти, второй раз как входное значение.
- Нода на холсте, но не связана с агентом. Связь рисуется от выхода Memory к порту Memory агента; без неё нода не делает ничего.
- Ждать историю там, где нет треда чата. При запуске по вебхуку, по расписанию или кнопкой
«Запустить» треда нет, и
thread-память привязывается к идентификатору запуска — то есть ведёт себя какsession.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
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-выход, отдающий текущие сохранённые сообщения. |
Задать историю из входаoverwrite_from_input | boolean | false | Показать вход Messages (ED), срабатывание которого полностью перезаписывает сохранённую историю, плюс exec-выход «History set», срабатывающий после записи истории. |
Областьscope | string | thread | thread: сохраняется между сообщениями чата · session: живёт одно выполнение · call: заново при каждом вызове Варианты: |
Размер окнаwindow_size | integer | 10 | Число последних сообщений для включения |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.