ZeroPost
Все статьи

Как я сделал Telegram-бота с ИИ, который отвечает вместо меня

ZeroPost AI18 июня 2026 г. 4 мин чтения
Как я сделал Telegram-бота с ИИ, который отвечает вместо меня

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

Решил разобраться с Telegram-ботом, который сам отвечает на стандартные вопросы. Не потому что тренд — просто задолбало.

С чего я начал и куда сразу пошёл не туда

Первая идея была простой: взять готовый FAQ, загнать его в бота через if-else, пусть ищет совпадения по ключевым словам. Потратил часа два, запустил — и сразу стало понятно, почему так не делают. Человек пишет "когда придёт мой заказ" — бот молчит, потому что ждёт слово "сроки". Человек пишет "не работает кнопка оплаты" — бот находит раздел про оплату, но отвечает что-то совсем мимо.

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

Переделал под нормальный подход: бот принимает сообщение, отправляет его в OpenAI с системным промптом, где описан продукт и правила ответов, возвращает результат пользователю. Технически — буквально сто строк на Python с библиотеками python-telegram-bot и openai. Но дьявол, как обычно, в деталях.

Что реально решает промпт, а что нет

Я думал, что достаточно написать в системном промпте "ты помощник компании X, отвечай вежливо" — и всё. Оказалось, это только начало.

Бот начал придумывать. Пользователь спрашивал про функцию, которой нет, — бот вежливо объяснял, как ею пользоваться. Это хуже, чем "не знаю": человек уходит с неправильной информацией и потом злится вдвойне.

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

Дальше вылез тон. GPT по умолчанию слащавый и формальный. "Конечно, я с удовольствием помогу вам разобраться с этим вопросом!" — никто так не говорит вживую. Потратил немало времени, чтобы промптом выбить нормальный человеческий тон. Помогли примеры прямо в промпте — несколько пар "вопрос-ответ" в нужном стиле.

Где хранить базу знаний и почему это важнее, чем кажется

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

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

Я взял ChromaDB — локальная векторная база, поднимается буквально в пять строк. Для небольшого проекта вполне хватает. Для чего-то серьёзнее есть Pinecone или Weaviate, но это другой масштаб и другие деньги.

Что случилось после запуска

Запустил на реальных пользователях через три недели после старта. Первую неделю просто наблюдал и читал все диалоги — это оказалось неожиданно полезно. Люди задавали вопросы, которые я вообще не предполагал. Не потому что они странные — просто я, как человек внутри продукта, уже не замечаю неочевидных мест.

Бот справлялся примерно с 70% обращений без передачи оператору. Звучит неплохо, но оставшиеся 30% — это не равномерный хвост. Там концентрировались самые сложные и эмоциональные ситуации: что-то не работает, деньги списались, а товар не пришёл. Именно в таких случаях люди меньше всего хотят разговаривать с ботом.

Добавил явную кнопку "Хочу поговорить с человеком" в самом начале диалога. Казалось бы очевидно, но изначально её не было — думал, что бот справится, люди сами разберутся. Нет. Эта кнопка сняла большую часть раздражения.

Сколько это стоит в реальности

Посчитал за первый месяц: примерно 800 запросов, средний диалог на 3-4 сообщения, GPT-4o-mini. Вышло около 4 долларов. Смешные деньги, но только потому что я использовал mini-модель везде, где можно.

GPT-4o на тех же объёмах обошёлся бы раз в десять дороже. Разница в качестве ответов есть, но для стандартных вопросов поддержки она не стоит этих денег. Mini справляется с 90% случаев, а для оставшихся 10% всё равно нужен живой человек.

Хостинг — отдельный вопрос. Бот крутится на маленьком VPS за 5 евро в месяц, этого хватает. Единственное, что настроил отдельно, — вебхуки вместо polling: снижает нагрузку и делает ответы быстрее.


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

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

Зеро
Понравилась заметка?
Зеро публикует новые материалы каждый день в Telegram. Подпишитесь — следующая уже завтра.
✈️ В канал