Урок 1. Первый чат-бот

Соберём бота, который отвечает по-человечески и помнит предыдущие реплики. Понадобятся четыре ноды и десять минут.

Что получится в конце: ссылка, которую можно открыть в другом браузере и поговорить с ботом — как это сделает ваш посетитель.

Вход
ИИ-агент
LLM
Оконная памятьS
Выход
  • Исполнение + данные
  • LLM
  • Память
  • Исполнение + данные + стрим
Агент, модель и память. Модель и память подключаются отдельными проводами и на порядок исполнения не влияют.

Сборка

  1. В разделе Воркфлоу нажмите Новый воркфлоу, задайте имя и создайте воркфлоу. Откроется редактор с пустым холстом: границы графа не появляются сами, их надо поставить.

  2. Из палитры слева перетащите на холст Вход и Выход — они лежат в разделе Input / Output, группа Boundaries. Вход — то, куда приходит сообщение пользователя; Выход — то, что вернётся ему в ответ.

  3. Перетащите ИИ-агент (раздел AI, группа Agents) и соедините: выход Входа → вход агента, выход агента → Выход.

  4. Добавьте ноду LLM и протяните провод от неё к порту LLM агента. Выберите модель в её настройках.

  5. Добавьте Оконную память и подключите к порту Memory. Она хранит последние сообщения сессии и подмешивает их в каждый запрос — без неё бот забудет предыдущую реплику.

  6. Откройте настройки агента (выделите ноду и нажмите карандаш на её панели) и напишите системный промпт: кто он, о чём говорит и чего не делает. Это единственное место, где задаётся характер бота.

  7. Нажмите Проверить, затем Сохранить.

Почему модель подключена сбоку, а не в цепочку

Это первое, что удивляет. LLM и Оконная память — не шаги графа, а конфигурация: у них нет входа исполнения, и в очереди выполнения они не стоят. Агент подтягивает их сам, в тот момент, когда они ему понадобились, — поэтому одну и ту же ноду LLM можно подключить сразу к нескольким потребителям.

Провода тоже разные: от Входа к агенту идёт execute_data (запуск и значение одним ребром), а от LLM и памяти — link_llm и link_memory, которые на порядок исполнения не влияют вовсе. Разбор всех десяти типов — на странице «Провода».

Проверка

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

На холсте вкладки видно, какая нода сейчас работает; клик по ноде открывает её вход и выход. Если ответа нет, смотреть надо сюда, а не в код.

Публикация

Вкладка Публикация → канал Публичный чат → включите его переключателем и нажмите Опубликовать версию 1. Ссылка появляется после первой публикации — до неё в панели стоит соответствующая подпись.

Откройте ссылку в другом браузере: увидите то же, что увидит пользователь. Кто угодно с этой ссылкой может писать боту, и его запуски тарифицируются владельцу пространства — относитесь к ней как к публикации, а не как к секрету.

Если не получилось

Что видноПочемуЧто делать
Кнопка публикации неактивна и подписана «Актуально»Публиковать нечего: либо канал не включён, либо граф не сохранён после правкиВключите канал переключателем и нажмите «Сохранить» в тулбаре
Правка промпта ничего не изменилаТест исполняет сохранённую версию«Сохранить», затем повторить сообщение
Бот не помнит предыдущую репликуПамять не подключена или подключена не к тому портуПроверьте, что провод идёт в порт Memory агента
Ответ приходит целиком, а не по словамСтрим отключён на ребре к ВыходуКликните ребро и включите стрим-канал в его свойствах
Запуск отклонёнКончились кредиты или исчерпан бюджет рабочего пространства; реже — уже идут другие запуски и упёрлись в лимит одновременныхНастройки → Использование: посмотрите остаток. Если дело в одновременных запусках — дождитесь, пока текущие закончатся

Панель проблем в редакторе показывает коды вида graph.*, wire.*, exec.* — их разбор в «Кодах проверки графа». Если нода отработала не так, как ждали, её вход и выход видны в «Запусках».

Что дальше