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

История чата

Читает переписку ЭТОГО чата как массив Messages — включая сообщения, написанные до того, как сценарий был собран: источник это сохранённые сообщения чата по (workflow_id, session), которые пишет сама платформа. Основной способ дать боту память о прошлых ходах; ноды памяти (Buffer/Window/Summary Memory), в отличие от неё, копят только собственные прогоны и на первом ходу пусты. Последнее сообщение массива — текущее: платформа записывает реплику до запуска сценария. Подайте выход на вход «Сообщение» у LLM Response (модель получит всю беседу) или прочитайте его в шаблоне. Нода, которая берёт этот выход, должна запускаться после «Истории чата»: либо этот выход — единственное, что к ней подключено, либо проведите к ней связь от выхода «Успех». Ограничение по количеству — limit. Работает и для веб-чата, и для Telegram (ходы бота зеркалятся в ту же таблицу). По умолчанию читает текущий тред; можно переопределить session_id.

История чата▶
ВходСообщения

Тип в графе: chat_history

Exec

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

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

Ответ LLM с полной перепиской

История подаётся в порт «Сообщение» и уходит в модель целиком; последнее сообщение — текущий вопрос.

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

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

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

Берите эту ноду, когда переписка нужна как данные, а не как память агента: подложить диалог в промпт Ответа LLM, посчитать что-нибудь по прошлым репликам, собрать транскрипт для отчёта или для внешней системы. Это обычный исполняемый шаг: у него есть вход Запуск, и он возвращает массив Messages в хронологическом порядке, от старых к новым.

Отличие от нод памяти (Вся история диалога, Последние сообщения, Память со сжатием): те ведут собственную ленту агента — с вызовами инструментов и результатами — под своим ключом. История чата читает то, что сохранил канал: реплики пользователя и ответы бота по паре «сценарий + сессия». Для веб-чата и Telegram источник один и тот же, потому что ходы Telegram зеркалятся в ту же таблицу под сессией вида tg:{chat_id}.

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

«Лимит сообщений» задаёт, сколько последних сообщений вернуть: по умолчанию 20, максимум 500.

Пустое «Другой диалог» означает текущий тред. Поле принимает шаблон, поэтому можно прочитать другой тред того же сценария — например tg:{{ nodes.entry.data.telegram.chat_id }}.

Сообщение пользователя сохраняется до старта запуска, так что текущий вопрос уже находится в выдаче — последним элементом массива.

Если у запуска нет треда чата (вебхук, расписание, ручной прогон), нода возвращает пустой массив, а не ошибку.

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

  • Дать агенту и эту ноду, и ноду памяти. Диалог приедет в модель дважды — из памяти и как входное значение.
  • Считать, что нода вернёт ходы агента с инструментами. Она читает сохранённую переписку; вызовы инструментов туда не попадают.
  • Ждать инструмент для модели. Чтобы агент сам решал, когда заглянуть в переписку, есть отдельная нода Инструмент истории чата — она подключается к агенту в порт «Расширения агента», а не запускается шагом графа.
  • Поднимать лимит «на всякий случай». Каждое сообщение — это входные токены на каждом запуске; 500 реплик в промпте стоят заметно дороже двадцати.

Входы

ПортПроводДанныеПримечания
ВходinputИсполнение + данныеexecute_data—

Выходы

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

Настройки

ПолеТипПо умолчаниюОписание
Лимит сообщенийlimitinteger20

Максимальное число самых недавних сообщений для возврата (в хронологическом порядке).

Другой диалогsession_idstring""

Необязательный id треда/сессии для чтения вместо текущего диалога. Оставьте пустым, чтобы использовать текущий тред чата (веб-чат или 'tg:{chat_id}' для Telegram). Поддерживаются шаблоны, напр. tg:{{ nodes.entry.data.telegram.chat_id }}.

поддерживает шаблоны

Общие поля

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

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.

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