n8n.kitchen

n8n.kitchen

Пикабушник
Дата рождения: 28 января
99 рейтинг 6 подписчиков 0 подписок 2 поста 0 в горячем
6

Простейший ИИ-ассистент

Серия n8n_kitchen для Pikabu

Раз уж на меня подписалось аж 3 человека - пилю пост)

В мире автоматизации бизнеса я часто сталкиваюсь с одной и той же проблемой. Предпринимателям, менеджерам и обычным пользователям нужны не «комбайны» с сотней настроек, а максимально простые продукты. Продукты, которые не требуют колоссальных технических знаний и с которыми пользователь может справиться самостоятельно, без вечного обращения к разработчику. В этой статье я делюсь практическим опытом создания такого инструмента - умного ассистента-помощника на базе n8n. Его задача проста: отвечать на самые частые вопросы клиентов, разгружая службу поддержки и экономя время.

Что потребуется для реализации:

Здесь я надеюсь у вас есть минимальные знания по части создания ботов и представления о том, как работает n8n. Если потребуется более подробный урок шаг за шагом – пишите.

• Сервер с установленным n8n

• Доступ к Google API — для работы с таблицей базы знаний (Google Sheets) здесь конечно нужно пободаться с Гуглом, но в принципе не сложно.

• Telegram-бот - как интерфейс общения с пользователем

• Доступ к API языковой модели — ChatGPT (OpenAI), DeepSeek API, OpenRouter (оплата зарубежными картами, либо посредников которых огромное количество на просторах рунета), в моем случае AI-RAPI (можно оплатить картой РФ).

Это будет простейший ассистент-консультант для ответов на самые популярные вопросы, с возможностью вызова оператора.

Общая архитектура workflow

Наш ассистент работает по следующей логике:

  1. Пользователь пишет сообщение в Telegram-бот

  2. Система определяет намерение пользователя (приветствие, вопрос или оффтоп)

  3. Если это вопрос — бот ищет ответ в Google Sheets

  4. Формирует ответ с помощью AI-модели, строго следуя инструкциям

  5. Отправляет ответ пользователю

Общая схема Workflow

Общая схема Workflow

Пошаговый разбор нод

Шаг 1. Получение сообщения от пользователя

Нода: Telegram Trigger

Это входная точка. Нода слушает входящие сообщения от Telegram-бота. Когда пользователь пишет, сюда приходят: текст сообщения, ID чата, имя, username.

Дальнейшие ноды будут использовать эти данные.


Шаг 2. Фильтрация сообщений оператора

Нода: Фильтр оператора

У нас есть два типа пользователей: обычные клиенты и оператор (администратор). Оператору бот не отвечает автоматически — он нужен для ручного управления.

Нода проверяет: если сообщение от оператора - отправляем на ветку ручной обработки. Если от обычного пользователя - идем дальше.

Без этой проверки бот начал бы отвечать на наши же служебные сообщения, что быстро сломало бы логику.

Для того, чтобы определить, что сообщение от оператора - нужно фильтровать сообщения по ID. Получаем ID в боте @userinfobot и вставляем в окно отмеченное красным прямоугольником.

Нода: Фильтр оператора

Нода: Фильтр оператора

Шаг 3. Определение намерения пользователя

Нода: Проверка намерения (AI-Agent)

Прежде чем что-то отвечать, нужно понять, чего хочет пользователь. Эта нода использует языковую модель, которая возвращает только одно из трех значений:

  • start — приветствие, начало диалога

  • faq — вопрос, запрос информации

  • other — благодарности, прощание, флуд

Промт я составил так, чтобы модель строго классифицировала сообщение и не «фантазировала». Это экономит токены и ускоряет обработку.

Связанные ноды:

  • AI-RAPI Chat Model — языковая модель (у меня AI-RAPI; альтернативы — ChatGPT, DeepSeek, OpenRouter)

  • Simple Memory — контекст на 10 последних сообщений, чтобы классификатор понимал диалог

Настройка языковой модели

Настройка языковой модели

у языковой модели ставим температуру поменьше, чтобы не ИИ не додумывал лишнего, а работал строго по промту (можно еще ограничить вывод токенами, но я не стал).

Настройка памяти

Настройка памяти

Памяти даём контекст на последние 10 сообщений (можно и 5 в принципе). Сессионный ключ берем из первой ноды, обязательно в поле Session ID выбираем перед этим Define below.

Шаг 4. Маршрутизация по типу сообщения

Нода: Switch

По результату классификации (start / faq / other) направляем пользователя на разные ветки:

start Отправляем приветствие

faq Запускаем поиск ответа в базе знаний

other Пересылаем сообщение оператору

Шаг 5. Обработка приветствия

Нода: Отправляем приветствие

Если пользователь написал «Привет», «Здравствуйте» или что-то в этом роде, бот отвечает:

Привет! Я виртуальный помощник. Чем могу помочь? 😊

Простые вещи. Но без этого диалог часто обрывается - человек не понимает, что делать дальше. Когда бот сам предлагает помощь - количество брошенных диалогов заметно снижается.

Шаг 6. Обработка оффтопа (пересылка оператору)

Нода: Сообщение оператору

Если пользователь пишет что-то не по делу (спасибо, пока, бессмысленный набор символов), бот не пытается отвечать. Вместо этого отправляю оператору уведомление:

  • ID пользователя

  • Имя и username

  • Текст сообщения

Оператор видит это и, если нужно, отвечает вручную, нажав «Reply» на уведомлении.

Нода: Сообщение оператору

Нода: Сообщение оператору

В поле Chat ID вставляем ID оператора, который мы уже использовали в шаге 2.

Шаг 7. Ручной ответ оператора (обработка reply)

Нода: Фиксируем chatID

Когда оператор отвечает на уведомление, система должна понять, кому отправлять ответ. Эта нода извлекает ID пользователя из исходного сообщения и текст ответа оператора.

Алгоритм:

  1. Проверяет, что сообщение является ответом (reply) на предыдущее

  2. Парсит ID пользователя из текста уведомления

  3. Возвращает объект с userChatId и replyText

Шаг 8. Отправка ручного ответа пользователю

Нода: Ответ пользователю

Получив ID пользователя и текст ответа, нода отправляет сообщение пользователю в Telegram (сообщение пользователю придет в боте от его лица)

Шаг 9. Основной поток: обработка вопроса (faq)

Если пользователь задал вопрос, попадаем на ветку faq.

Сначала — Анимация набора. Бот отправляет в Telegram сигнал «печатает». Пользователь видит три точки и понимает, что ответ готовится.


Шаг 10. Сообщение «Секундочку»

Нода: Секундочку

Перед поиском ответа отправляю временное сообщение: «Секундочку, ищу информацию ⏳».

Это снимает ощущение «зависания». Пользователь знает, что всё работает, нужно просто подождать. После получения ответа это сообщение будет удалено, чтобы не засорять диалог.

Шаг 11. Поиск ответа в базе знаний (Google Sheets)

Нода: Получаем FAQ

Подключаюсь к Google Sheets, где хранится база знаний.

Структура таблицы у меня такая:

  • question — вопрос

  • category — категория

  • keywords — ключевые слова

  • short_answer — краткий ответ

  • full_answer — полный ответ

Нода забирает все строки из таблицы. Я пробовал делать поиск прямо в Sheets через запрос, но в итоге решил выгружать всё и передавать нейросети. Так проще, потому что пользователь может спросить «сколько стоит доставка?», а в таблице ответ лежит по запросу «стоимость доставки». Нейросеть сама находит соответствие.

Шаг 12. Форматирование FAQ для AI

Нода: Форматирование FAQ для AI

Google Sheets возвращает данные в «сыром» виде. Формат может быть разным — массив, объект с полем data, rows и т.д. Нода приводит всё к единому виду.

Что делает:

  1. Парсит входящие данные, определяя их структуру

  2. Преобразует каждую строку таблицы в формат:

    1. [категория] вопрос

    Ключевые слова: ...

    Ответ: краткий ответ

  3. Возвращает объект с полями:

    • userMessage — исходный вопрос пользователя

    • chatId — ID чата

    • faqText — отформатированная база знаний для промпта

    • faqData — оригинальные данные (на случай если понадобятся для отладки)

Шаг 13. Вторая анимация

Нода: Анимация набора1

Перед тем как обратиться к AI за финальным ответом, снова отправляю сигнал «печатает». Между «Секундочку» и готовым ответом может пройти несколько секунд (нейросети иногда думают дольше). Вторая анимация держит пользователя в курсе.

Шаг 14. Генерация ответа AI

Нода: Пишем ответ

Центральная нода. Формирует финальное сообщение.

Использует:

  • Языковую модель: Температура 0.2 — чтобы ответы были предсказуемыми, без лишней креативности (OpenRouter, Deepseek, ChatGPT, AI-RAPI)

  • Память: Simple Memory — контекст последних 10 сообщений.

  • Промт: системный промт.

Системный промт включает:

  • Роль и контекст (дружелюбный ассистент, общение на «вы»)

  • Иерархию источников: сначала база знаний, потом общие знания, если не нашлось — предложить обратиться к оператору

  • Стиль: 1–3 абзаца, без канцелярита, без служебных маркеров («Ответ:», «Из базы:»)

  • Запреты: не выдумывать факты, не давать опасные советы

  • Примеры (few-shot) — 4 диалога, чтобы модель понимала нужный тон

Ключевое: AI обязан сначала искать ответ в faqText и только если там ничего нет — использовать общие знания.

Шаг 15. Удаление временного сообщения

Нода: Delete a chat message

После того как AI сгенерировал ответ, удаляю сообщение «Секундочку». В диалоге остается только вопрос пользователя и ответ бота. Чисто и аккуратно.


Шаг 16. Отправка финального ответа

Нода: Отправляем ответ

Финальная нода. Берет сгенерированный AI-ответ и отправляет пользователю в Telegram.


Вот такой простейший, но полностью рабочий ИИ-ассистент получился.

Обратите внимание: здесь нет векторных баз данных, нет эмбеддингов, нет сложной инфраструктуры на десятки микросервисов. Только инструменты, до которых можно дотянуться рукой:

  • n8n - визуальный конструктор, где логика собирается как пазл

  • Google Sheets - таблица, которую заполнит даже менеджер без технического образования

  • Telegram - мессенджер, который есть у каждого клиента

  • API языковой модели - настройка через пару полей с ключом

Всё это настраивается без глубоких знаний программирования. Базовое понимание, что такое API, как создать бота в Telegram и как скопировать ID таблицы - этого достаточно. Остальное собирается мышкой в n8n.

Что в итоге:

Ассистент работает 24/7. Отвечает на типовые вопросы, пока сотрудники занимаются задачами, которые требуют человеческого участия. Базу знаний пополняет сам бизнес - просто добавляет строки в таблицу. Если вопрос сложный или нестандартный - бот отправляет уведомление оператору, и тот отвечает вручную.

Никаких танцев с бубном. Никакой необходимости нанимать разработчика для каждого изменения. Всё под контролем у того, кто ведет таблицу.

Блогером никогда быть не хотел и не хочу, но чтобы материалы были в одном месте я решил создать канал в тг (там пока я один, подписываться не прошу): t.me/n8n_kitchen

Шаблоны n8n и Google Sheet выложу туда.

Всем спасибо за внимание)

Показать полностью 10
3

Уроки по n8n и автоматизации

Привет сообществу!

К сожалению не удалось восстановить старый аккаунт, поэтому пишу с пустого аккаунта(

Зовут меня Максим, одно из отвлетвлений моей деятельности - автоматизация бизнеса и не только (да, всем надоевшие ИИ-агенты и пр) , а так же люблю делать различного рода туториалы.

Было бы интересно сообществу знакомиться и получать готовые шаблоны для n8n и уроки по их внедрению для различных задач? Если да, хочется узнать, нужно ли делать вводный урок по тому как поднять n8n на своём сервере, как сделать сервисный аккаунт Google и прочие сопутствующие технические моменты или сразу выкладывать шаблоны с разборами?

Буду рад обратной связи, даже если не требуются мои труды))

Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества