14 февраля, 2:40 ночи. Я смотрел на экран и бот отвечал идеально на каждый тестовый вопрос. 72 часа работы, $340 на API-токены, и я наконец чувствовал что сделал что-то настоящее.
Через 6 часов клиент написал: "Женя, что это вообще такое".
Бот запустили утром на реальных пользователях интернет-магазина. Задача простая - поддержка покупателей, ответы на частые вопросы.
Первые 40 минут всё шло нормально.
Потом кто-то написал "хочу сдать товар назад" вместо "как оформить возврат" - и что-то в промпте щёлкнуло не так. Бот ответил инструкцией по настройке роутера. Следующий пользователь написал "вернуть можно?" - снова роутер. Потом ещё. И ещё.
23 раза подряд бот объяснял людям как подключить интернет, когда они хотели вернуть кроссовки.
Я не сразу понял что произошло. У меня был промпт, который прошёл все мои тесты - я проверил 40 вариантов вопросов, всё работало. Но я проверял вопросы так, как их написал бы я сам. Чисто, структурировано, с правильными словами.
Реальные люди пишут иначе. Они пишут "сдать", "отдать обратно", "не хочу", "можно отменить заказ если уже отправили или нет". Они пишут с ошибками, без контекста, посреди предложения переключаются на другую тему.
Мой промпт не был готов к этому ни на секунду.
Клиент отключил бота через час. Деньги за работу я получил - но осадок остался. И главный вопрос: почему я вообще не предвидел это?
Я собрал промпты по этой теме в PDF. Забери бесплатно: https://t.me/airozov_bot
После того провала я переделал подход полностью. Вот три вещи, без которых теперь не запускаю ни одного бота.
Первое - тестирование "сломанным" вводом. Я начал специально писать плохие вопросы. Опечатки, незаконченные фразы, вопросы не по теме, агрессивный тон, смешанные языки. Если бот держится на таком вводе - он готов. Если нет - лучше узнать это до клиента, а не после.
Для этого я использую отдельный промпт в Claude: прошу его сгенерировать 50 "реалистичных пользовательских вопросов" по теме, включая странные, агрессивные и нерелевантные. Это занимает 15 минут и экономит часы отладки потом.
Второе - fallback-логика как приоритет, а не как финальный штрих. Раньше я добавлял "если не знаешь ответа - скажи что не знаешь" в конец промпта. Теперь это первое что я пишу. Буквально первый блок инструкций: когда молчать, когда переводить на человека, что никогда не отвечать своими словами.
Бот должен знать границы лучше чем возможности.
Третье - контекстное окно как враг. Длинные диалоги ломают поведение бота предсказуемо. На 8-10 сообщении в одной сессии модель начинает "забывать" инструкции из системного промпта и дрейфует в сторону. Я теперь либо обрезаю историю диалога до последних 4-5 сообщений, либо каждые 5 ходов переподаю ключевые инструкции в скрытом системном сообщении.
Это решило примерно 60% странного поведения которое я раньше списывал на "глюки модели".
Самое неожиданное открытие - создать бота это 20% работы.
Я думал наоборот. Думал что написать промпт, подключить API, настроить интеграцию - это и есть работа. А потом просто запускаешь.
Оставшиеся 80% времени уходят на защиту от реальных людей. Это звучит цинично, но это точная формулировка.
Люди не читают что написано на кнопках. Они вводят эти в неправильном формате. Они начинают с середины мысли. Они спрашивают одно, имея в виду другое. Они злятся на бота за то что он не человек.
Хороший бот - это не умный бот. Хороший бот - это устойчивый бот.
Я видел ботов на GPT-4o которые поражали на демо и разваливались за день реального использования. И видел простые правило-основанные боты без AI вообще, которые работали годами потому что кто-то потратил время на edge cases.
Модель - это 20%. Остальное это инженерия вокруг неё.
После того проекта я начал закладывать в оценку клиентам отдельно: "разработка бота" и "hardening" - устойчивость к реальному вводу. Второе стоит столько же сколько первое. Клиенты которые понимают это - хорошие клиенты. Остальные обычно возвращаются через месяц с теми же проблемами.
Каждый день разбираю один такой инструмент в Telegram: https://t.me/yevheniirozov
Если хочешь сделать первого бота и не наступить на мои грабли - начни не с кода.
Зайди на claude.ai и напиши вот этот промпт:
*"Я создаю бота поддержки для [опиши свой бизнес]. Сгенерируй 30 реальных пользовательских сообщений - включая странные формулировки, ошибки, нерелевантные вопросы и агрессивный тон. Потом напиши системный промпт для бота с явными инструкциями что делать в каждом из этих случаев."*
Это займёт 20 минут. И покажет тебе все дыры до того как их найдут пользователи.
Я бы отдал $340 за эти 20 минут в феврале.
• [Все пробуют нейросети, но почему работают только эти 3?](https://telegra.ph/Vse-probuyut-nejroseti-no-pochemu-rabotayut-tolko-ehti-3-04-12)
• [Я продавал AI-услуги 6 месяцев. Вот что реально купили](https://telegra.ph/YA-prodaval-AI-uslugi-6-mesyacev-Vot-chto-realno-kupili-04-12)
• [Как я закрыл 23 сделки на AI: что клиенты платят на самом деле](https://telegra.ph/Kak-ya-zakryl-23-sdelki-na-AI-chto-klienty-platyat-na-samom-dele-04-12)
[teletype] Я зарабатываю на AI без вложений - вот что реально работает
[hashnode] Я зарабатываю на AI без вложений - вот что реально работает