Статьи

Каждый разработчик, интегрирующий большие языковые модели в продакшен, рано или поздно упирается в глухую стену. Обычно это происходит по одному из трех сценариев: вы исчерпали жесткие лимиты на количество токенов в минуту (TPM), руководство требует снизить космические счета за API, или вам срочно понадобилась модель от другого вендора — например, Claude 3.5 Sonnet для сложных задач по написанию кода.

Обычное утро инженера первой линии поддержки начинается с разгребания завалов. Особенно если накануне, в пятницу вечером, продуктовая команда выкатила крупный релиз. В очереди Zendesk висят сотни новых тикетов. Среди них — запросы на сброс пароля, откровенный спам от ботов, вопросы по API от разработчиков клиентов и пара критических багов, из-за которых у крупного B2B-заказчика легла интеграция.

Когда пользователь видит в интерфейсе дословный перевод сленга, иллюзия качественного продукта рассыпается мгновенно. Английское «That's fire!» превращается в «Это огонь!» (что еще терпимо), а «That's cap» становится абсурдной «Это кепка». Кнопка «Based» гордо сообщает «Основано». Пользовательский опыт разбивается о прямолинейность классических алгоритмов.

Любой инженер, собиравший данные с внешних ресурсов, знает эту фантомную боль. Вы тратите два дня на реверс-инжиниринг сайта-донора. Распаковываете обфусцированный JavaScript, подбираете каскад XPath-выражений, настраиваете прокси и обход Cloudflare. Скрипт элегантно собирает цены, пакует их в базу. Выкатываете в прод.

Мы все знаем этот паттерн. Пулл-реквест на 800 строк кода висит в трекере. Ревьюер открывает вкладку изменений, скроллит вниз со скоростью чтения пользовательского соглашения и нажимает Approve. Комментарий: LGTM (Looks Good To Me). Иллюзия контроля соблюдена, галочка в Jira поставлена, потенциальный баг отправляется в продакшен.

Моя первая попытка проанализировать тональность 100 000 клиентских отзывов закончилась провалом. Я написал примитивный синхронный цикл, вставил внутрь вызов `requests.post` к языковой модели и ушел за кофе. Вернувшись, я смотрел на красный стек трейс: скрипт упал на 5432-м запросе с ошибкой `HTTP 429 Too Many Requests`. Все промежуточные данные пропали в оперативной памяти.

Коллега молча удалил блок кода. Copilot снова предложил использовать `axios.get` для запроса к биллингу, проигнорировав наш внутренний `CoreNetworkClient`, обязательную подпись HMAC и еще десяток корпоративных стандартов. В этот момент рушится главная иллюзия современной разработки: вера в то, что универсальный AI-ассистент от техногиганта нельзя превзойти в принципе.

Создание Telegram-бота кажется тривиальной задачей. Разработчик регистрирует токен у BotFather, настраивает вебхук и пишет первый `if ($text === '/start')`. Через два часа бот бодро отвечает на десяток жестко заданных команд. Создается иллюзия продуктивности.

Сценарий классический: бизнесу понадобилось автоматически маршрутизировать входящие обращения пользователей. Десятки тысяч тикетов в месяц. Саппорт задыхается, раскидывая заявки руками. Инженер берет API-ключ OpenAI, собирает промпт на полстраницы, хардкодит `gpt-4o` и выкатывает в продакшен. Система работает идеально. Менеджеры в восторге.

Вы экспортируете JSON-файл с пятью тысячами ключей для нового React-приложения. Прогоняете его через стандартный API машинного перевода. Результат компилируется без ошибок, но интерфейс превращается в катастрофу. Термин "Lead" (потенциальный клиент в CRM) переводится как "Свинец". Кнопка "Book" (забронировать) становится "Книгой". Навигационная панель предлагает перейти "Домой" вместо "Главная".

Иллюзия магии рассеивается ровно в тот момент, когда сгенерированный нейросетью SQL-запрос кладет базу данных на лопатки. Маркетологи продают нам кодинг-ассистентов как всезнающих оракулов. Нажал Tab — и сложный аналитический отчет готов. На практике же LLM работает не как опытный DBA, а как очень быстрый, но самоуверенный джуниор. Нейросеть не видит вашу базу данных. Она угадывает структуру таблиц, опираясь на паттерны из обучающей выборки, если вы не скормили ей DDL.

В конце прошлого года мы разворачивали AI-консультанта для крупного дистрибьютора медицинских товаров и специализированного оборудования. Архитектура выглядела стандартно: RAG-пайплайн, векторная база данных с каталогом товаров, инструкциями и сертификатами, поверх всего этого — GPT-4o в качестве оркестратора. Первые тесты прошли гладко. Мы выкатили релиз. Через двое суток конверсия в целевых категориях рухнула на 15%, а логи техподдержки заполнились жалобами.