«Ты засунул GPT-4 КУДА?»

Такое было лицо у моего менеджера, когда я предложил поставить Azure OpenAI в production pipeline. Не в песочницу. Не в proof of concept, который живёт в Jupyter-ноутбуке и умирает в понедельник. В production. Enterprise e-commerce. Живые клиенты, которые платят живые деньги, на живой инфраструктуре и на реальном масштабе.

Сейчас все бросились прикручивать AI хоть куда-нибудь. А вот о том, как выкатить его безопасно, думают единицы. Вся история — про этот зазор.

Что AI реально делает

Когда всё завелось, GPT-4 отрабатывал в четырёх местах:

  • Умный code review — ловит то, что человек пропускает в два часа ночи, на пятом ревью за смену, когда глаз уже замылился.
  • Классификация инцидентов — читает алерт и за секунды роутит его нужной команде, вместо того чтобы человек разбирал вручную.
  • Запросы к инфраструктуре на человеческом языке — «покажи все поды с памятью выше 80%» вместо того, чтобы держать в голове флаги kubectl.
  • Оценка риска деплоя — заранее подсвечивает изменения, которые исторически приводили к проблемам.

И ни одного инженера это не заменило. Джун, который раньше двадцать минут собирал по кускам нужную команду kubectl, теперь спрашивает по-человечески и получает ответ за секунды. Дежурный, который раньше руками разбирал каждый алерт, получил co-pilot, который сам роутит около 80% инцидентов. Ноль сокращений. Быстрее реакция. Меньше человеческих ошибок. Это та история про AI, которую никто не пишет, потому что «мы тихо сделали команду сильнее» — плохой заголовок.

Продукт — это pipeline, а не модель

Вот часть, которую в демках пропускают: модель оказалась самым простым. Настоящая инженерия была в pipeline вокруг неё. Прежде чем что-то доходило до клиента, должны были выполняться четыре условия.

  • Версионированные шаблоны промптов. Изменение промпта — это изменение в деплое. Ты не выкатываешь новый промпт в production просто потому, что он красиво отработал в чате. Ты его версионируешь, ревьюишь и тестируешь как код.
  • API gateway перед моделью — с rate limiting и аутентификацией, чтобы один зациклившийся вызов не сжёг тебе ни бюджет, ни квоту.
  • Интеграционные тесты, которые проверяют качество ответа, а не просто 200 OK. HTTP-статус говорит, что модель ответила. И ничего не говорит о том, был ли ответ правильным.
  • Canary-релизы с автоматическим rollback. Если AI начинает выдавать платящим клиентам ерунду — ты откатываешься за секунды, а не за часы.

Сверху — дашборды на KQL: расход токенов, latency, error rate и стоимость запроса в реальном времени. Этот слой наблюдаемости срезал нам время деплоя AI примерно на 60% — от ручных, нервных релизов к чему-то автоматизированному, наблюдаемому и повторяемому.

Уроки, за которые заплачено продакшеном

Production учит тому, о чём не расскажет ни один блог про prompt engineering:

  • Изменение промпта — это деплой. Версионируй. Тестируй. Ревьюй как код. Пропустишь — выкатишь «мелкую правку формулировки», которая тихо сломает 10% ответов.
  • Косты могут взорваться за ночь. Ставь жёсткие лимиты на токены в первый же день, а не после первого счёта-сюрприза. Расход на AI не падает с грохотом — он просто растёт.
  • Бюджет по latency важнее, чем обычно. GPT-4 не быстрый. Заложи это, ставь таймауты и держи fallback на случай, когда модель тормозит или лежит.
  • Rollback — не опция. Когда неправильный ответ стоит реальных денег, секунды решают.
  • Human-in-the-loop — не приятная фича. Это и есть архитектура. Один раз AI с полной уверенностью предложил снести production-базу — уверенно, без тени сомнения. Человек это поймал. Это не забавный анекдот. Это система, работающая ровно так, как задумано.

Неудобная пропорция

Если сжать всё в одну мысль: production-AI — это примерно 20% prompt engineering и 80% обработки ошибок, fallback'ов, мониторинга и понимания, когда модель звать НЕ надо. Красивая, «твитабельная» работа — это маленький кусочек. Скучный DevOps — это всё остальное, и именно он держит тебя подальше от канала с инцидентами.

AI без DevOps — это научный эксперимент. AI с DevOps — это продукт. Сначала строй pipeline: модель и правда самое простое.

И вопрос, к которому я всё время возвращаюсь: как ты поступаешь в момент, когда AI выдал уверенный ответ, а нутро говорит, что что-то не так? Потому что именно в этом моменте, а не в модели, и живёт production-AI.