Урок 1. Первый чат-бот
Соберём бота, который отвечает по-человечески и помнит предыдущие реплики. Понадобятся четыре ноды и десять минут.
Что получится в конце: ссылка, которую можно открыть в другом браузере и поговорить с ботом — как это сделает ваш посетитель.
- Исполнение + данные
- LLM
- Память
- Исполнение + данные + стрим
Сборка
-
В разделе Воркфлоу нажмите Новый воркфлоу, задайте имя и создайте воркфлоу. Откроется редактор с пустым холстом: границы графа не появляются сами, их надо поставить.
-
Из палитры слева перетащите на холст Вход и Выход — они лежат в разделе
Input / Output, группаBoundaries. Вход — то, куда приходит сообщение пользователя; Выход — то, что вернётся ему в ответ. -
Перетащите ИИ-агент (раздел
AI, группаAgents) и соедините: выход Входа → вход агента, выход агента → Выход. -
Добавьте ноду LLM и протяните провод от неё к порту
LLMагента. Выберите модель в её настройках. -
Добавьте Оконную память и подключите к порту
Memory. Она хранит последние сообщения сессии и подмешивает их в каждый запрос — без неё бот забудет предыдущую реплику. -
Откройте настройки агента (выделите ноду и нажмите карандаш на её панели) и напишите системный промпт: кто он, о чём говорит и чего не делает. Это единственное место, где задаётся характер бота.
-
Нажмите Проверить, затем Сохранить.
Почему модель подключена сбоку, а не в цепочку
Это первое, что удивляет. LLM и Оконная память — не шаги графа, а конфигурация: у них нет входа исполнения, и в очереди выполнения они не стоят. Агент подтягивает их сам, в тот момент, когда они ему понадобились, — поэтому одну и ту же ноду LLM можно подключить сразу к нескольким потребителям.
Провода тоже разные: от Входа к агенту идёт execute_data (запуск и значение одним
ребром), а от LLM и памяти — link_llm и link_memory, которые на порядок исполнения не
влияют вовсе. Разбор всех десяти типов — на странице «Провода».
Проверка
Вкладка Тест — это настоящий запуск: те же кредиты, те же вызовы моделей. Напишите пару сообщений подряд и убедитесь, что второй ответ учитывает первый — это и проверяет память.
На холсте вкладки видно, какая нода сейчас работает; клик по ноде открывает её вход и выход. Если ответа нет, смотреть надо сюда, а не в код.
Публикация
Вкладка Публикация → канал Публичный чат → включите его переключателем и нажмите Опубликовать версию 1. Ссылка появляется после первой публикации — до неё в панели стоит соответствующая подпись.
Откройте ссылку в другом браузере: увидите то же, что увидит пользователь. Кто угодно с этой ссылкой может писать боту, и его запуски тарифицируются владельцу пространства — относитесь к ней как к публикации, а не как к секрету.
Если не получилось
| Что видно | Почему | Что делать |
|---|---|---|
| Кнопка публикации неактивна и подписана «Актуально» | Публиковать нечего: либо канал не включён, либо граф не сохранён после правки | Включите канал переключателем и нажмите «Сохранить» в тулбаре |
| Правка промпта ничего не изменила | Тест исполняет сохранённую версию | «Сохранить», затем повторить сообщение |
| Бот не помнит предыдущую реплику | Память не подключена или подключена не к тому порту | Проверьте, что провод идёт в порт Memory агента |
| Ответ приходит целиком, а не по словам | Стрим отключён на ребре к Выходу | Кликните ребро и включите стрим-канал в его свойствах |
| Запуск отклонён | Кончились кредиты или исчерпан бюджет рабочего пространства; реже — уже идут другие запуски и упёрлись в лимит одновременных | Настройки → Использование: посмотрите остаток. Если дело в одновременных запусках — дождитесь, пока текущие закончатся |
Панель проблем в редакторе показывает коды вида graph.*, wire.*, exec.* — их разбор в
«Кодах проверки графа». Если нода отработала не так, как ждали,
её вход и выход видны в «Запусках».