За последний год ко мне пришло не меньше десятка запросов на телеграм бот с нейросетью для ответов клиентам - от владельцев небольших интернет-магазинов на Tilda до сервисов поддержки с тысячами обращений в месяц. Схема выглядит обманчиво просто: пользователь пишет в чат, бот отправляет текст в GPT или Claude, возвращает ответ. На деле рабочая связка собирается минимум из пяти частей, и большинство проблем всплывает не в промпте, а в базе знаний, обработке ошибок API и логике передачи диалога оператору.
Как устроен телеграм-бот с нейросетью для ответов клиентам
Базовый пайплайн такой: Telegram Bot API принимает сообщение → бэкенд на Python (обычно aiogram) или сценарий в n8n забирает текст → запрос уходит в LLM API (OpenAI или Claude) → ответ форматируется и возвращается пользователю. Для простого FAQ-бота этого достаточно. Как только заказчику нужен бот, который отвечает по конкретному ассортименту, ценам или регламентам компании, к схеме добавляется поиск по базе знаний - иначе нейросеть начинает придумывать характеристики товара или сроки доставки, которых не было в исходных данных.
Вот минимальный обработчик на aiogram с вызовом Claude API - так выглядит ядро большинства ботов, которые я собираю:
from aiogram import Bot, Dispatcher, types
from anthropic import Anthropic
bot = Bot(token=TG_TOKEN)
dp = Dispatcher()
client = Anthropic(api_key=CLAUDE_KEY)
@dp.message()
async def handle_message(message: types.Message):
context = search_knowledge_base(message.text)
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=500,
system=f"Отвечай только на основе контекста: {context}",
messages=[{"role": "user", "content": message.text}]
)
await message.answer(response.content[0].text)
В реальных проектах сюда добавляются логирование диалогов в базу, ограничение частоты запросов от одного пользователя и обработка таймаутов API - без них бот падает на первой же пиковой нагрузке, а не когда-нибудь потом.
Aiogram, RAG и база знаний - из чего собирается бот с ИИ
RAG (retrieval-augmented generation) - это когда перед обращением к нейросети бот сначала ищет релевантные куски текста в собственной базе знаний и подмешивает их в запрос. Документы (прайс, регламент, FAQ, карточки товаров) режутся на чанки по 300-800 токенов, для каждого считается эмбеддинг и складывается в векторную базу - pgvector, Chroma или Qdrant, в зависимости от того, где уже крутится инфраструктура клиента. При вопросе пользователя ищутся 3-5 ближайших по смыслу чанков, и именно они уходят в system prompt вместе с инструкцией отвечать строго по контексту.
Без этого шага нейросеть с высокой вероятностью начнет добавлять от себя: придумает несуществующий тариф или скажет, что доставка бесплатна, хотя в прайсе такого нет. На одном из проектов на WooCommerce я как раз ловил такую ситуацию - бот без RAG уверенно называл клиентам скидки, которых не было в системе. После подключения векторного поиска по каталогу и условиям доставки количество некорректных ответов упало почти до нуля.
Сколько стоит и сколько делается чат-бот с нейросетью для клиентов
Цена сильно зависит от того, нужна ли база знаний и интеграции с внешними сервисами.
| Формат бота | Цена | Срок |
|---|---|---|
| FAQ-бот на GPT/Claude без базы знаний | от 30 000 ₽ | 1-2 недели |
| Бот с RAG и базой знаний | от 50 000 ₽ | 3-4 недели |
| Автоматизация диалогов в n8n без кастомного кода | от 25 000 ₽ | 1-2 недели |
| Интеграция с CRM, оплатой или СДЭК поверх бота | от 40 000 ₽ | дополнительно 1-3 недели |
На рынке за похожий функционал студии часто просят 80 000-150 000 ₽ и растягивают сроки на 1,5-2 месяца - за счет проектной документации и согласований, которые не всегда нужны для бота из одного диалогового сценария. Я работаю без лишних прослоек: техзадание фиксируется в переписке, разработка идет сразу.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Когда бот передает диалог живому оператору и какие тут риски
Хороший бот с нейросетью не пытается ответить на всё подряд. Я закладываю несколько триггеров эскалации: явное упоминание слова «оператор» или «человек», два подряд неудачных ответа (когда RAG не находит релевантный контекст выше порога схожести), вопросы про возврат денег или конфликтные ситуации - такие темы почти всегда лучше отдавать человеку сразу, а не пытаться закрыть промптом.
Основной риск связки - не в том, что нейросеть «сломается», а в том, что она будет уверенно отвечать не по делу, если её не ограничить контекстом и системным промптом. Второй риск - стоимость токенов растет с длиной истории диалога: если передавать в каждый запрос всю переписку без обрезки, счет за API за месяц активного бота может вырасти в 3-4 раза против расчетного. Я обычно ограничиваю окно истории последними 6-8 сообщениями и суммирую более старый контекст отдельным полем.
Интеграция с CRM, оплатой и доставкой на практике
Бот с нейросетью редко живет отдельно от остальной инфраструктуры. Из того, что реально приходилось собирать:
- прием оплаты через T‑Bank прямо в чате - бот формирует счет и присылает ссылку, статус оплаты подтягивается по вебхуку и обновляет заказ в WooCommerce;
- расчет стоимости и сроков доставки через API СДЭК прямо в диалоге, без переключения на сайт;
- создание лида в Bitrix24 или amoCRM после того, как бот собрал контакты и суть обращения;
- синхронизация с формами на Tilda - заявка с лендинга сразу попадает в тот же тред диалога с ботом, чтобы клиент не начинал разговор заново.
Часть таких сценариев - вебхуки на прием заказа, расчет доставки, подтверждение оплаты - у меня уже собрана в виде готовых заготовок, с ними интеграция занимает не 2-3 недели, а несколько дней. Посмотреть, что есть, можно в библиотеке готовых скриптов - там же примеры под Tilda и WooCommerce, которые обычно берутся за основу и дорабатываются под конкретный проект.
n8n или кастомный код на aiogram - что выбрать
Это вопрос, который я слышу почти на каждом брифе. Ответ зависит от того, насколько типовой сценарий и кто будет его поддерживать дальше.
| Критерий | n8n | Кастомный код на aiogram |
|---|---|---|
| Скорость запуска | несколько дней | 1-2 недели |
| Гибкость логики | ограничена нодами и коннекторами | любая, включая сложную бизнес-логику |
| Стоимость доработок | ниже для типовых сценариев | выше на старте, окупается на сложных кейсах |
| Нагрузка | комфортно до нескольких тысяч диалогов в день | практически не ограничена |
n8n я беру, когда заказчику важна скорость и сценарий укладывается в стандартные ноды - прием сообщения, запрос к OpenAI, запись в Google Sheets или CRM. Как только в логике появляются условия вроде «если это VIP-клиент по базе - отвечать иначе» или нужна сложная работа с векторной базой и кастомным ранжированием контекста, я перехожу на aiogram: там нет ограничений нод-конструктора, и логику можно развивать сколько угодно.
Автоматизация в мессенджере
Telegram-бот / Mini App
от 30 000 ₽
Подробнее →Частые вопросы
Сколько стоит телеграм-бот с нейросетью для ответов клиентам?
Простой FAQ-бот без базы знаний обойдется от 30 000 ₽, разработка занимает 1-2 недели. Если нужен RAG с поиском по документам и каталогу - от 50 000 ₽ и 3-4 недели. Интеграции с CRM, оплатой или СДЭК считаются отдельно, от 40 000 ₽ сверху.
Какую нейросеть лучше подключить - GPT или Claude?
На практике разница в качестве ответов для клиентской поддержки минимальна, если контекст в system prompt собран корректно. Claude чуть аккуратнее держится в рамках заданного контекста и реже додумывает факты, GPT местами дешевле по токенам на длинных диалогах. Я выбираю модель под конкретный бюджет и объем переписки, а не по умолчанию.
Можно ли обойтись без базы знаний и просто дать боту промпт?
Для бота, который отвечает на 5-10 типовых вопросов по общей теме, промпта без RAG хватает. Как только речь идет о конкретных ценах, характеристиках товаров или регламентах компании, без базы знаний нейросеть рано или поздно начинает придумывать детали - на моей практике это случается уже на второй-третьей неделе работы бота с живым трафиком.
Не будет ли бот отвечать с задержкой?
Запрос к API нейросети с учетом поиска по базе знаний занимает обычно 2-5 секунд. Это ощутимо дольше, чем ответ бота на жестких правилах, но заметно быстрее, чем ожидание оператора в рабочее время. Для длинных ответов я включаю потоковую отдачу текста (streaming), чтобы пользователь видел, что бот уже печатает, а не завис.