Свой шлюз на LiteLLM или готовый gateway: во что реально обходится DIY
Команды собирают собственные LLM-шлюзы: LiteLLM, самописный биллинг, касса, ретраи. Через полгода это отдельный продукт, который надо кормить. Разбираем, где DIY оправдан, а где вы просто строите второй бэклог.
История, которую мы слышим регулярно (и недавно снова читали на Хабре): доступ к зарубежным LLM превратился в квест, команда подняла LiteLLM, дописала биллинг на Go, прикрутила кассу — и поехали. Уважаем: это рабочий путь. Мы сами строим шлюз и знаем, что в нём внутри.
Вопрос не «можно ли собрать самим» — можно. Вопрос — что вы на самом деле подписываетесь поддерживать.
Неделя 1: всё прекрасно
LiteLLM действительно решает первый слой за вечер: единый API, маппинг моделей, ретраи. Прокси запущен, команда счастлива.
Месяц 2: появляется бэклог второго продукта
- Биллинг. Резервирование под стрим, обрывы на середине, идемпотентность списаний, отрицательные балансы. Самописная таблица
transactionsначинает жить своей жизнью. - Лимиты. Один разработчик в пятницу вечером запускает цикл с агентом — в понедельник у вас счёт как за квартал. Нужны бюджеты на ключ, hard cap, alerting.
- Fallback-экономика. Переключение на резервную модель работает, но она в 6 раз дороже — и никто этого не заметил до конца месяца.
- Безопасность. ИБ спрашивает: где хранятся промпты? Кто имеет доступ к ключам провайдеров? Есть ли аудит-лог? В LiteLLM из коробки — не в том виде, в котором это примет банк.
- Документы. Бухгалтерии нужны счета и акты, а не JSON из вашей самописки.
Месяц 6: у шлюза есть свой on-call
Теперь это инфраструктурный продукт с дежурствами, обновлениями зависимостей, миграциями базы и собственным роадмапом, который конкурирует за инженеров с вашим основным продуктом. Стоимость владения — один-два инженера постоянно. Это 300–600 тысяч ₽ в месяц, даже если токены вы покупаете по себестоимости.
Когда DIY оправдан
Честный список — он короче, чем кажется:
- Шлюз — ваш основной продукт (вы и есть агрегатор).
- Регуляторика требует полностью закрытого контура, и облачный вариант невозможен в принципе.
- У вас уникальная маршрутизация, которую никто не даёт (и она даёт конкурентное преимущество, а не «нам так привычнее»).
Когда дешевле готовый gateway
Если шлюз для вас — способ доставить ИИ в продукт, а не сам продукт: биллинг в рублях, лимиты, fallback с прозрачной экономикой, аудит, документы и путь через ИБ уже сделаны и амортизированы на всех клиентов сразу. Ваши инженеры остаются в вашем продукте.
А миграция в обе стороны — это смена base_url: если мы перестанем вас устраивать, уйти так же просто, как прийти. Именно поэтому мы не боимся давать этот текст в собственном блоге.