ИИ-агент поддержки на сайте: бот отвечает по вашим материалам, менеджер подхватывает сложное

ИИ-агент поддержки на сайте: бот отвечает по вашим материалам, менеджер подхватывает сложное

Менеджеры по сто раз в неделю отвечают на одни и те же вопросы: сколько стоит, как записаться, до скольки работаете. Бот на готовых сценариях ломается на первом вопросе не по сценарию, а бот «просто на нейросети» уверенно придумывает цены. Ниже связка из трёх шагов, где бот отвечает только по материалам вашего сайта, а всё, с чем он не справляется, передаёт живому человеку в общий inbox.

Менеджеры по сто раз в неделю отвечают на одни и те же вопросы: сколько стоит, как записаться, до скольки работаете. Бот на готовых сценариях ломается на первом вопросе не по сценарию, а бот «просто на нейросети» уверенно придумывает цены. Ниже связка из трёх шагов, где бот отвечает только по материалам вашего сайта, а всё, с чем он не справляется, передаёт живому человеку в общий inbox.


Если читать некогда: пять пунктов

  1. Бот знает только то, что вы ему дали. Сначала краулер обходит сайт и собирает тексты страниц, потом они загружаются в векторную базу. Это и есть его память.
  2. Мозг собран на n8n из готового шаблона: четыре сценария. Один отвечает на вопросы, три следят за базой знаний: добавляют, обновляют и удаляют документы без перезапуска.
  3. Окно на сайте и передачу оператору даёт Chatwoot — свой аналог Intercom на вашем сервере. Туда же приходят Telegram, WhatsApp и почта.
  4. В связке Chatwoot и n8n есть две ловушки. Бот получает собственные ответы как новые события и начинает разговаривать сам с собой. После передачи оператору он продолжает получать сообщения. Обе ловушки закрываются двумя фильтрами.
  5. Начинать надо со второго шага. Импортируйте шаблон, положите две-три страницы вручную и проверьте качество ответов. Краулер и виджет подключайте, когда ответы вас устроят.

Почему обычные чат-боты не работают

У бизнеса, который получает заявки с сайта, обычно одна из трёх картин.

Виджет с формой «оставьте заявку». Клиент пишет вопрос в 23:40, ответ получает утром. К утру он уже написал конкурентам.

Бот на кнопках и сценариях. Хорошо, пока клиент нажимает кнопки. Стоит ему написать «а у вас можно с собакой крупной породы в субботу после шести» — сценарий заканчивается.

Бот, подключённый к нейросети без базы знаний. Отвечает на всё, бойко и вежливо. И называет цену, которой у вас никогда не было, потому что модель собирает правдоподобный ответ, а не правильный.

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

Это называется RAG (Retrieval-Augmented Generation, генерация с поиском): прежде чем ответить, бот ищет в вашей базе подходящие фрагменты и отвечает, опираясь на них.


Кто я и что здесь моего

Я три года занимаюсь автоматизацией бизнеса, за это время автоматизировал больше ста компаний. Специализируюсь на RAG-агентах и сценариях для CRM, мессенджеров и маркетплейсов, веду на платформе блок по n8n и RAG-агентам.

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


Как устроена связка целиком

Три части, и у каждой своя роль:

ЧастьЧто делаетИнструмент
Знаниясобирает тексты сайта и держит их в векторной базе в актуальном видекраулер + сценарии загрузки на n8n
Мозгпринимает вопрос, ищет ответ в базе, формулирует, решает, звать ли человекаRAG-агент на n8n
Окно и человеквиджет на сайте, общий inbox для менеджеров, передача диалогаChatwoot

Путь одного сообщения: клиент пишет в виджет → Chatwoot отправляет событие в n8n → агент ищет в базе и отвечает → ответ уходит обратно в Chatwoot и появляется у клиента. Если агент решил, что нужен человек, — диалог переходит в очередь менеджеров.


Шаг 1. Знания: обходим сайт и собираем базу

Карточка краулера «сайт → база знаний для ИИ» →

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

Краулер запускает браузер без окна, открывает стартовую страницу и дальше действует по вашим правилам:

На выходе один JSON-файл: по каждой странице заголовок, адрес и текст.

Что понадобится

Промпт для Claude Code

«Возьми open-source проект по ссылке из этой карточки: https://ru.aiskills.team/open-source/gpt-crawler-turn-any-website-into-an-ai-knowledge-base. Склонируй репозиторий, настрой конфиг на обход сайта [URL] с ограничением на разделы [услуги, FAQ, цены, контакты]. Подбери CSS-селектор основного контента, чтобы меню, футер и баннеры не попали в текст. Запусти и сохрани результат в knowledge/site.json. Потом разбей файл на отдельные документы по страницам — один документ на страницу, в начале каждого заголовок и адрес страницы — для загрузки в векторную БД.»

Куда класть документы. Шаблон из Шага 2 берёт знания из папки Google Диска: положили файл — он сам загрузился в базу. Поэтому документы из краулера просто выкладываются в эту папку. Изменился сайт — перезапускаете краулер и заменяете файлы, а сценарий обновления сам заменит старую версию в базе.


Шаг 2. Мозг: RAG-бот на n8n с управлением базой знаний

Карточка шаблона «RAG-чатбот с управлением базой знаний» →

Это главный шаг и самый ценный шаблон в связке. Большинство RAG-шаблонов умеют отвечать, но не умеют обновлять базу: документ изменился, а бот продолжает цитировать старую цену. Здесь управление базой собрано полностью. Я разобрал все четыре сценария по узлам.

Что внутри

Сценарий 1 — ответы клиентам.

Сценарий 2 — добавление документов. Срабатывает, когда в папке Google Диска появляется новый файл: скачивает его, режет на фрагменты, превращает в векторы и загружает в Pinecone с пометками — идентификатор документа, название, источник, версия. Документ записывается в таблицу-реестр, на почту приходит уведомление.

Сценарий 3 — обновление. Срабатывает, когда файл в папке изменился. Порядок аккуратный: сначала загружается и проверяется новая версия, и только потом удаляются фрагменты старой. Между шагами — паузы, проверки и повторные попытки, а в конце письмо об успехе, предупреждении или ошибке. Так документ не пропадает из базы посреди обновления.

Сценарий 4 — удаление. Сверяет папку Диска с реестром и удаляет из базы фрагменты файлов, которых в папке больше нет. В шаблоне он запускается вручную — его стоит поставить на расписание, например раз в сутки.

Что понадобится

Настройка по шагам

  1. Импортируйте четыре JSON-файла в n8n.
  2. Подключите свои доступы: OpenAI, Pinecone, Google Диск, Таблицы, Gmail.
  3. Создайте отдельный доступ типа Header Auth для запросов к Pinecone: имя Api-Key, значение — ваш ключ Pinecone.
  4. Замените заглушки в сценариях: имя и адрес индекса Pinecone, ID папки на Диске, ID двух таблиц, адрес почты для уведомлений.
  5. Создайте две таблицы.

Реестр документов: document_id, document_name, namespace, source, status, last_synced_at, file_modified_time, chunks_count, active_version_id.

Заявки: name, phone, email, interested in.

  1. Прогоните каждый сценарий вручную и только потом включайте триггеры.

Системный промпт нужно переписать полностью

Шаблон сделан для груминг-салона: в промпте зашито название салона, и он написан по-английски. Вот основа под ваш бизнес:

«Ты — консультант компании [название], [чем занимается, город].

Отвечай только на основе базы знаний: перед каждым ответом ищи в ней. Если ответа в базе нет — не придумывай, скажи: "Уточню у менеджера" и добавь в конец ответа метку [ОПЕРАТОР].

Никогда не называй цены, сроки, адреса и условия, которых нет в базе знаний.

Отвечай коротко: два-четыре предложения, на языке клиента, без канцелярита.

Если клиент просит человека, оператора, менеджера, недоволен или пишет о жалобе, возврате, оплате — ответь "Передаю менеджеру" и добавь метку [ОПЕРАТОР].

Когда клиент спросил про услугу, цену или запись, попроси имя и телефон и сохрани их в таблицу заявок вместе с тем, чем он интересовался.»

Метка [ОПЕРАТОР] понадобится в Шаге 3: по ней n8n поймёт, что диалог пора передать человеку, и вырежет её из ответа клиенту.

Как проверить качество, прежде чем идти дальше

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

Проверяйте каждый ответ по трём пунктам:

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


Шаг 3. Окно и человек: виджет и общий inbox в Chatwoot

Карточка Chatwoot — омниканальной поддержки на своём сервере →

Chatwoot — open-source аналог Intercom и Zendesk. Виджет на сайт, общий inbox для команды, а в тот же inbox подключаются Telegram, WhatsApp, почта, Instagram и другие каналы. Менеджеры видят все диалоги в одном окне, с историей клиента, метками, заготовками ответов и внутренними заметками.

В описании на карточке не сказано, как именно подключать к нему своего бота. Я разобрался по исходному коду, и механика такая.

Как Chatwoot работает с внешним ботом

1. Бот регистрируется в настройках. В разделе «Настройки → Боты» создаётся бот: имя и адрес вебхука, куда Chatwoot будет отправлять события. Бот получает свой токен доступа.

2. Бот подключается к источнику. В настройках inbox (например, виджета сайта) на вкладке «Конфигурация бота» выбирается этот бот.

3. Новые диалоги начинаются в статусе «ожидает» (pending). Пока бот подключён, каждый новый разговор сначала достаётся боту, и в очередь менеджеров он не попадает.

4. Chatwoot отправляет события на вебхук. На каждое сообщение приходит POST-запрос: текст, тип сообщения (входящее или исходящее), номер диалога, номер аккаунта, данные отправителя.

5. Бот отвечает через API Chatwoot — запросом на добавление сообщения в диалог, с токеном бота в заголовке api_access_token.

6. Передача человеку — смена статуса диалога на «открыт» (open). Это отдельный запрос к API. Диалог уходит в общую очередь, менеджеры видят его с полной историей переписки с ботом.

Две ловушки, на которых спотыкаются все

Ловушка первая: бот разговаривает сам с собой. Chatwoot присылает на вебхук событие о каждом новом сообщении в диалоге, включая ответы самого бота. Если n8n отвечает на всё подряд, бот получает свой ответ, отвечает на него, снова получает — и так по кругу. Решение: первым узлом после вебхука пропускать только сообщения с типом incoming.

Ловушка вторая: бот не уходит после передачи. Бот подключён к inbox целиком, поэтому события по диалогу продолжают приходить ему и после того, как диалог передан менеджеру. Без проверки бот будет влезать в разговор менеджера с клиентом. Решение: отвечать, только если статус диалога pending.

Что поменять в шаблоне n8n

Узел чата из шаблона рассчитан на собственную страницу чата n8n. Для Chatwoot нужен обычный вход через вебхук. Схема первого сценария становится такой:

  1. Вебхук — принимает события Chatwoot.
  2. Фильтр — тип сообщения incoming, статус диалога pending, сообщение не приватное.
  3. ИИ-агент — тот же, что в шаблоне, с памятью по номеру диалога, чтобы разговоры разных клиентов не смешивались.
  4. Проверка метки — есть ли в ответе [ОПЕРАТОР].
  5. Ответ клиенту — запрос к API Chatwoot с текстом без метки.
  6. Передача — если метка была, ещё один запрос: статус диалога open.

Про «низкую уверенность»

Модель не выдаёт честную цифру уверенности в ответе. На практике «не уверен» собирается из трёх признаков: поиск по базе не нашёл подходящих фрагментов, клиент прямо попросил человека или недоволен, тема из списка «только человек» — оплата, возврат, жалоба. Все три уже заложены в промпт из Шага 2 через метку. Этого достаточно, чтобы бот отдавал человеку то, что должен.

Что понадобится для Chatwoot

Промпт для Claude Code

«Возьми open-source проект по ссылке из этой карточки: https://ru.aiskills.team/open-source/chatwoot-omnichannel-customer-support. Склонируй репозиторий, изучи README и документацию по развёртыванию и разверни Chatwoot на моём сервере через Docker с доменом [домен] и HTTPS. Создай inbox типа Website и получи скрипт виджета. Затем создай агент-бота в настройках, укажи вебхук моего n8n [адрес], подключи бота к этому inbox. Измени первый сценарий RAG-чатбота в n8n: вместо узла чата — вебхук; фильтр — только входящие сообщения, только диалоги в статусе pending, без приватных заметок; память агента — по номеру диалога; ответ клиенту — через API Chatwoot с токеном бота; если в ответе агента есть метка [ОПЕРАТОР], убрать её из текста и перевести диалог в статус open. Проверь три сценария: обычный вопрос, вопрос, которого нет в базе, и просьба позвать оператора.»

Виджет на сайт. Inbox типа Website выдаёт короткий скрипт, который вставляется перед закрывающим тегом </body> на всех страницах. Тот же бот подключается и к другим источникам, например к Telegram: клиент пишет туда, где ему удобно, а бот и менеджеры работают в одном окне.


В каком порядке собирать

Сегодня — Шаг 2. Импорт шаблона, две-три страницы вручную, двадцать вопросов на проверку. Это вечер, и после него вы знаете главное: устраивают ли вас ответы.

Когда ответы хорошие — Шаг 1. Краулер заполняет базу целиком, проверяете ещё раз на тех же двадцати вопросах плюс десяти новых.

Последним — Шаг 3. Chatwoot, виджет, передача человеку. Перед запуском на сайт — неделя в тихом режиме: бот отвечает, менеджер читает все диалоги и отмечает ошибки.

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


Сколько это стоит и где здесь деньги

Расходы на работу: сервер под n8n и Chatwoot (можно один), оплата модели OpenAI по токенам, тариф Pinecone. Шаблон и open-source части ничего не стоят сверх доступа к ним.

Как это продаётся. Для бизнеса это не «бот», а ответ клиенту в 23:40, а не утром, и менеджеры, которые занимаются сложными клиентами, а не часами работы. В ленте заказов, по которой мы собирали прайс, бот под ключ стоит $100–3 000, ассистент под отдел — $240–1 200. Разброс большой, потому что «бот» бывает и на кнопках, и вот такой: с базой знаний, обновлением и передачей человеку. Это рынок, а не обещание дохода.

Отдельный доход — сопровождение. Сайт меняется, цены меняются, появляются новые вопросы. Те, кто собирает автоматизации, сами говорят, что сценарии ломаются «раз в две недели». Внедрили связку — дальше ежемесячная поддержка: обновлять базу, разбирать переданные диалоги, дорабатывать промпт. Это повторяющийся доход, а не разовая сделка.


Если хотите собрать это со мной по шагам

В курсе «Автоматизации в n8n» у меня есть отдельный блок уроков про RAG-агентов. Там всё, что в этой статье уложено в три шага, показано на экране — от пустого n8n до бота, который отвечает по вашим документам.

Что разбираем в уроках:

Если какой-то шаг из статьи показался сложным — в уроках он разобран медленно и с примерами. Курс открыт на тарифе N8N и в Full.


Что взять на платформе

Шаблон RAG-чатбота — карточка. Шаблоны n8n и Make скачиваются с тарифа Creator, а также Make, N8N и Full.

Краулер и Chatwoot — в каталоге Open Source. Описания видны всем, ссылки на репозитории открываются с тарифа Creator.

Уроки по RAG-агентам — курс «Автоматизации в n8n», тариф N8N или Full (что внутри — в разделе выше).

Похожие шаблоны — в каталоге больше 3 000 шаблонов автоматизаций: RAG-боты для WhatsApp, Bitrix24, на Qdrant. Если нужен не сайт, а другой канал, начните с них.

Регистрация бесплатная и открывает три дня Basic. Шаблоны в Basic не входят, но за эти дни вы увидите все описания и каталог целиком и поймёте, какой тариф нужен под вашу задачу.


С чего начать сегодня

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

Если у вас есть знакомый владелец бизнеса, у которого менеджеры тонут в одинаковых вопросах, перешлите ему эту статью.


Что почитать дальше

База знаний компании — как собрать документы, по которым бот будет отвечать.

Сколько стоит ассистент под отдел — как считать и продавать такие внедрения.

Make или n8n — почему эта связка собрана на n8n.

Три автоматизации, которые продаются — что ещё предложить бизнесу рядом с ботом.


Смотрите также на AI SKILLS