Что должно быть у провайдера для бота
| Требование | Зачем оно нужно | Как проверить |
|---|---|---|
| API с понятной авторизацией | Ключ живёт на сервере, а не в Telegram-клиенте | Тестовый запрос из backend |
| Несколько моделей | Массовые и сложные диалоги можно развести | Один диалог на двух моделях |
| Лимиты по ключу | Ошибка в webhook не сожжёт весь баланс | Отдельный ключ для бота |
| Логи без текста персональных данных | Сбои можно разбирать без лишнего хранения | Проверка политики и своей схемы логов |
| Совместимый API | Клиент не придётся переписывать при смене модели | Прогон OpenAI или Anthropic SDK |
Для первого варианта выберите одну рабочую модель, например gpt-6-sol или claude-sonnet-5, и одну быструю для простых классификаций. Gemini, DeepSeek, Qwen и GLM подключайте как кандидатов на реальной выборке диалогов. Не обещайте пользователю того, что бот выполнить не может.
Минимальная архитектура
Telegram webhook принимает сообщение, backend убирает лишние персональные данные, ищет ответ в базе знаний и вызывает модель. Если уверенности мало или пользователь просит действие с деньгами и аккаунтом, backend заводит тикет и отвечает, что вопрос передан оператору. Вызов модели не должен сам выполнять бизнес-операцию.
const reply = await client.chat.completions.create({
model: 'gpt-6-sol',
messages: [{ role: 'system', content: 'Отвечай только по базе знаний.' }, userMessage],
})
| Запрос | Стартовая модель | Что проверить |
|---|---|---|
| FAQ и короткие инструкции | claude-sonnet-5 или gpt-6-luna | Ответ не выходит за базу знаний |
| Длинное объяснение политики | claude-opus-5-5 или gpt-6.1-sol | Сохранены условия и исключения |
| Классификация тикетов | gpt-6-luna или deepseek-v4-flash | Метки разбираются и совпадают с рубрикой |
Эскалируйте при спорах о платежах, смене личности, юридических угрозах, неясной политике, повторных неудачных ответах и просьбе позвать человека. Оператору уходят исходный вопрос, найденная политика, черновик модели и причина передачи.
До запуска прогоните на фикстурах обычный FAQ, неизвестный вопрос, prompt injection, лимит запросов, таймаут провайдера и передачу человеку. Ограничьте параллельность на чат: для действий нужен ключ идемпотентности, для генерации очередь.
После регистрации в codexkey создайте отдельный ключ для webhook, выставьте лимит и добавьте метрики: долю эскалаций, долю полезных ответов и среднюю стоимость диалога.
FAQ
Какую модель взять для первого Telegram-бота?
Начните с gpt-6-sol или claude-sonnet-5, затем сравните их на закрытых диалогах вашей поддержки. Для массовой маршрутизации можно добавить более быструю модель.
Можно ли отправлять клиентские данные прямо в модель?
Сначала определите, какие данные нужны ответу, уберите лишнее и сверьтесь со своей политикой обработки. Для финансовых и аккаунтных операций подтверждение оставьте за backend и человеком.