«Ты засунул 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.