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

История чата (инструмент)

Инструмент для ИИ-агента: по вызову возвращает недавнюю историю диалога (транскрипт role: text), с ограничением по количеству сообщений. Источник тот же, что у ноды «История чата» — сохранённые сообщения чата (веб-чат и Telegram). Подключается ко входу «Расширения агента» ИИ-агента выходом «Расширение агента».

История чата (инструмент)
Расширение агента

Тип в графе: chat_history_tool

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

Минимальный рабочий сценарий

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

Запускается сразу

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

Берите эту ноду, когда прошлая переписка нужна агенту изредка: обычно хватает того, что уже в контексте, но иногда клиент спрашивает «что я вам писал на той неделе». Тогда история не подмешивается в каждый запрос, а подтягивается вызовом инструмента — и платите вы за неё только в тех ходах, где она понадобилась.

Если переписка нужна каждый раз, дешевле и предсказуемее нода История чата: она отрабатывает шагом графа и отдаёт массив сообщений. А если агенту нужна его собственная лента с вызовами инструментов, это нода памяти — Вся история диалога, Последние сообщения или Память со сжатием.

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

Нода не участвует в цепочке исполнения: её выход идёт связью расширения в порт Расширения агента ИИ-агента. Модель вызывает функцию по имени из поля «Имя инструмента» и получает обычный текст — транскрипт вида role: text, от старых сообщений к новым. Когда сохранённых сообщений нет, вместо ошибки возвращается явная фраза о том, что переписки нет: модели важно понимать разницу между «пусто» и «сломалось».

Источник тот же, что у ноды История чата: сохранённые сообщения по паре «сценарий + сессия». Ходы Telegram зеркалятся в ту же таблицу под сессией вида tg:{chat_id}, поэтому один инструмент покрывает и веб-чат, и бота. Пустое «Другой диалог» означает текущий тред; поле принимает шаблон, так что можно прочитать другой тред того же сценария.

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

  • Дать агенту и память диалога, и этот инструмент. Переписка приедет в модель дважды: из памяти и из транскрипта.
  • Оставить описание по умолчанию. Модель решает по описанию инструмента, когда его звать; напишите, что именно там лежит и на какие вопросы это отвечает.
  • Ждать в транскрипте вызовы инструментов и внутренние ходы агента. Туда попадают только сохранённые сообщения пользователя и ответы бота.
  • Проверять на запуске без чата. У прогона по кнопке, вебхуку или расписанию треда нет — инструмент честно ответит, что предыдущих сообщений не найдено.
  • Два инструмента с одинаковым именем на одном агенте. Имя — это то, чем модель различает инструменты; второй вытеснит первый.

Входы

—

Выходы

ПортПроводДанныеПримечания
Расширение агентаtool_outРасширениеlink_extension—

Настройки

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

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

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

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

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

Показывать ход работы в Catchstream_progress_in_catchbooleantrue

Поэтапный прогресс в потоке Catch Tool Call

Описание инструментаtool_descriptionstringRetrieve the recent conversation history with the user. Use this when you need context from earlier in the chat that is not currently visible to you.

Показывается LLM, чтобы она знала, когда вызывать инструмент.

Имя инструментаtool_namestringget_chat_history

Имя функции, которую агент вызывает для получения истории диалога.