Зависимость от поставщика модели снимается не выбором «правильного» провайдера, а тремя решениями, которые принимаются в первую неделю разработки и стоят вместе 38 часов инженера. Никакой поставщик не защищён от того, что у него сменятся условия, вырастет тариф или закроется доступ; защищена бывает только система, которая умеет уйти к другому за дни. Всё остальное — надежда на то, что рынок не изменится, а за последние два года он менялся быстрее любого проекта.
Полезно сразу отделить страх от расчёта. Развязка не бесплатна: она добавляет к смете 114 000 ₽ и требует 60 960 ₽ в год на регулярную проверку. В некоторых проектах эти деньги тратить не нужно — например, в пилоте, который заведомо перепишут. Но решение «мы не будем развязываться» должно быть записано в протоколе вместе с ценой ухода, а не приниматься по умолчанию из-за того, что подрядчику так быстрее.
Ниже — три вида блокировки и что каждая делает с работающим проектом, устройство развязки по слоям, список активов, которые обязаны лежать у вас, порядок квартального учения и признаки в коммерческом предложении, по которым видно, что систему строят без развязки. Все суммы — модельные расчёты на прозрачных вводных при ставке инженера 3 000 ₽/час и методиста базы знаний 900 ₽/час, по состоянию на сентябрь 2026 года.
Три вида блокировки и когда каждая обнаруживается
Слово «зависимость» скрывает три разных механизма с разной ценой и разной скоростью наступления. Их путают, и от этого возникает типовая ошибка: компания заключает договор с российским юрлицом, считает юридический риск закрытым и обнаруживает через год, что уйти всё равно нельзя — по техническим и ценовым причинам.
| Вид блокировки | Как выглядит | Когда обнаруживается | Цена в модельном расчёте |
|---|---|---|---|
| Юридическая | Доступ просто закрыт: отключён посредник, изменились условия использования, ограничение со стороны регулятора | В день отключения, обычно без предупреждения | 351 000 ₽ на аварийную миграцию плюс ручная работа во время простоя |
| Техническая | Система написана под один интерфейс: вызовы разбросаны по коду, формат ответа разбирается в пяти местах, сценарии собраны в конструкторе платформы | Когда вы впервые пробуете уйти — то есть в худший момент | 78 часов и 234 000 ₽; если сценарии в конструкторе — 144 часа и 432 000 ₽ |
| Ценовая | Тариф вырос, а уйти дороже, чем терпеть. Формально вы свободны, фактически — нет | В квартальном счёте, обычно через год после запуска | Поставщик может поднять счёт на 31 % и остаться выгоднее ухода |
Ценовая блокировка — самая недооценённая, потому что не выглядит как авария. Никто не отключает доступ, никто не нарушает договор: просто счёт растёт, а альтернатива требует проекта на месяц. Именно эта разновидность встречается чаще двух других и именно она хуже всего считается на глаз.
Сравнение в три колонки одинаковой ширины. Колонка «Юридическая»: подписи «доступ закрыт», «обнаруживается в день отключения», «351 000 ₽ аварийная миграция». Колонка «Техническая»: «система написана под один интерфейс», «обнаруживается при попытке уйти», «78 часов, 234 000 ₽; со сценариями в конструкторе — 144 часа, 432 000 ₽». Колонка «Ценовая»: «тариф вырос, уйти дороже», «обнаруживается в квартальном счёте», «рост счёта на 31 % без развязки». Под колонками общая подпись: «Договор с российским юрлицом закрывает только левую колонку». Чертёжный стиль, подписи по-русски.
Слой адаптера: что он прячет и сколько стоит
Тонкий слой кода между вашей системой и конкретным поставщиком. Система обращается к одному внутреннему интерфейсу — «спроси модель», — а какой именно провайдер за ним стоит, определяется настройкой, а не кодом. Смена поставщика превращается из проекта в замену драйвера. Подробный разбор архитектуры и цифр по каждому критерию выбора — в опорной статье кластера про выбор языковой модели для бизнеса.
Адаптер должен прятать не только вызов. Провайдеры отличаются десятком мелочей, и каждая из них, просочившись в бизнес-логику, добавляет часы к будущей миграции. Полезный список того, что обязано лежать внутри слоя и не встречаться больше нигде.
- Формат запроса и авторизация — адрес, заголовки, способ передачи ключа. В бизнес-логике не должно быть ни одного упоминания домена провайдера.
- Вызов внешних инструментов — описание функций, которые модель может вызвать. Формат описаний у провайдеров разный, и это самое частое место утечки специфики наружу.
- Схема ответа и валидация полей — модель возвращает текст, система ждёт структуру. Разбор ответа должен быть в одном месте, а не в пяти обработчиках.
- Обработка ошибок, повторы и таймауты — что делать при отказе, сколько раз повторять, через какой интервал. Ниже по коду про ошибки провайдера знать не должны.
- Лимиты и очередь — ограничение на запросы в минуту у каждого поставщика своё; очередь и деградация при упоре в лимит живут в адаптере.
- Учёт токенов и журнал вызовов — свой счётчик, свой журнал. Кабинет провайдера считает для биллинга, а вам нужна стоимость одного обращения в разрезе сценариев.
Отдельно стоит сказать, чего адаптер не закрывает. Он прячет провайдера, но не спасает от привязки к конструктору сценариев: визуально собранные диалоги живут выше слоя кода и при переезде пересобираются руками. Именно поэтому переезд с платформы на платформу в модельном расчёте стоит 144 часа против 34 — разница целиком в сценариях, и мы разбирали её на сравнении двух российских платформ в материале про GigaChat и YandexGPT.
Что должно лежать у вас, а не в кабинете поставщика
Адаптер — это половина работы. Вторая половина — активы, которые накапливаются по ходу эксплуатации и которые легко оставить на стороне платформы, не заметив этого. Проверка простая: представьте, что завтра личный кабинет поставщика не открывается. Что из перечисленного ниже у вас останется?
| Актив | Где оказывается по умолчанию | Что теряется вместе с доступом | Как вынести |
|---|---|---|---|
| Исходники базы знаний | Загружены в платформу, индекс построен там же | Переиндексация с нуля другой моделью векторизации | Своё хранилище файлов плюс скрипт сборки индекса, 8 часов |
| Промпты и их версии | В конструкторе платформы, без истории изменений | Восстановление формулировок по памяти и повторная отладка | Обычный репозиторий или таблица с версиями и датами |
| Размеченные примеры и эталоны | У подрядчика на его ноутбуке | Нечем доказать, что новая модель не хуже старой | 180 примеров в таблице у заказчика; повторная сборка — 50 часов и 91 200 ₽ |
| Журнал диалогов | В кабинете поставщика, срок хранения 30–90 дней | Нечем пополнять регресс-набор и нечего предъявить в споре | Ежедневная выгрузка в свою базу, 6 часов на настройку |
| Ключи и учётные записи | Оформлены на сотрудника подрядчика | Потеря доступа при смене подрядчика, а не поставщика | Аккаунт на юрлицо заказчика, подрядчику — отдельный ключ |
«Исходные документы базы знаний, промпты, набор размеченных примеров с эталонными ответами и журнал диалогов принадлежат заказчику и передаются ему в машиночитаемом виде по первому требованию, а также при завершении работ». Это не про недоверие к подрядчику: регресс-набор переживает и смену поставщика модели, и смену исполнителя, и второй раз он собирается хуже — часть истории дефектов теряется навсегда.
Карта из двух зон, разделённых вертикальной штриховой границей. Слева зона «Ваш контур»: блоки «исходники базы знаний», «промпты с версиями», «180 размеченных примеров», «журнал диалогов», «ключи на юрлицо заказчика». Справа зона «Кабинет поставщика»: блоки «индекс», «очередь запросов», «биллинг», «модель». Стрелки идут слева направо и подписаны «запрос» и «ответ». Внизу подпись: «Повторная сборка набора примеров — 50 часов и 91 200 ₽». Чертёжный стиль, подписи по-русски.
Ценовая блокировка: сколько поставщик может поднять цену безнаказанно
Это самый полезный расчёт в статье, потому что он переводит абстрактную «зависимость» в переговорную позицию. Логика такая: поставщик может повышать цену ровно до тех пор, пока годовая переплата не превысит стоимость вашего ухода. Значит, стоимость ухода — это и есть размер его свободы.
Проверить арифметику несложно: разница между 19 500 ₽ и 8 500 ₽ — это 11 000 ₽ в месяц, то есть 132 000 ₽ за год. И это ровно разница между 234 000 ₽ и 102 000 ₽ — стоимостью ухода в двух вариантах. Подставьте свой объём и свою цену обращения, и вы получите собственный порог. Если ваш счёт за модель меньше 10 000 ₽ в месяц, порог теряет смысл вместе со всей ценовой блокировкой — там развязка нужна ради двух других видов, а не ради денег.
Столбчатая диаграмма с двумя парами столбцов на общей базе «счёт за модель 62 400 ₽/мес». Левая пара подписана «Без развязки»: надстройка над базой 19 500 ₽/мес, подпись «+31 %». Правая пара подписана «С развязкой»: надстройка 8 500 ₽/мес, подпись «+14 %». Между вершинами надстроек — двусторонняя стрелка с подписью «11 000 ₽ в месяц, 132 000 ₽ в год». Ось значений в рублях в месяц, подписи по-русски, чертёжный стиль.
Из «надо уметь уйти» иногда делают вывод «надо работать сразу с тремя моделями». Это другая, более дорогая ошибка: три поставщика — это три договора, три набора лимитов, три поведения на одном промпте и три регресс-прогона перед каждой выкладкой. Развязка означает, что вы можете переключиться за день, а не что вы постоянно работаете на нескольких. Рабочая конфигурация — один основной поставщик и один проверенный запасной драйвер.
Учение «переключаемся»: четыре часа раз в квартал
Развязка, которую ни разу не проверяли, существует только в документации. За квартал у второго поставщика меняется версия модели, у вас — половина промптов, а ключ резервного аккаунта успевает протухнуть. Поэтому переключение проверяется по расписанию, как проверяют пожарную сигнализацию, а не в момент пожара.
- 1Шаг 1. Переключить настройку в тестовом контуре
Если развязка есть, это одно значение в конфигурации и десять минут. Если на этом шаге понадобилась выкладка кода — развязки нет, и остальные шаги можно не делать: результат учения уже получен.
- 2Шаг 2. Прогнать регресс-набор из 180 примеров
Один прогон с автоматической частью — три часа методиста и 3 240 ₽. Смотрим не на среднюю оценку, а на список конкретных примеров, которые упали на резервном поставщике: обычно это 5–15 случаев, и почти всегда они про формат ответа, а не про смысл.
- 3Шаг 3. Записать расхождения в лист подгонки
К каждому упавшему примеру — одна строка: что именно отличается и какую правку промпта это потребует. Лист живёт рядом с адаптером и на реальной миграции экономит те самые 10 часов подгонки, которые иначе тратятся вслепую.
- 4Шаг 4. Вернуть основного поставщика и записать дату
В журнале остаются четыре поля: дата, версия резервной модели, число упавших примеров, время переключения. Через год это уже история, по которой видно, деградирует ли ваша запасная опора.
Стоимость учения складывается из четырёх часов инженера — 12 000 ₽ — и одного прогона регресс-набора за 3 240 ₽. Итого 15 240 ₽ за учение и 60 960 ₽ в год при квартальном ритме. Для системы, где счёт за модель составляет 62 400 ₽ в месяц, это чуть меньше месячного счёта в год — и это самая дешёвая страховка из всех, что бывают в таких проектах.
Горизонтальная лента на 12 месяцев с четырьмя отметками через равные промежутки. Каждая отметка подписана «учение: переключение, прогон 180 примеров, лист подгонки — 15 240 ₽». Под лентой итог: «60 960 ₽ в год». Справа за пределами ленты — отдельный крупный блок «незапланированный переезд в аврале: 351 000 ₽ и 12 рабочих дней». Чертёжный стиль, подписи по-русски.
Шесть признаков в коммерческом предложении
Развязка почти никогда не обсуждается на этапе выбора подрядчика: она не видна в демонстрации и не влияет на срок запуска. Поэтому её отсутствие приходится вычитывать из документа. Шесть признаков, каждый из которых проверяется за минуту.
- 1В смете нет отдельной строки про слой доступа к модели. Формулировки «интеграция с нейросетью» или «подключение ИИ» этот слой не подразумевают — они его как раз и пропускают.
- 2Название конкретного поставщика встречается в описании работ пять раз, а слово «драйвер» или «переключение поставщика» — ни разу.
- 3Сценарии собираются в конструкторе платформы, и это подано как преимущество по скорости. Преимущество настоящее, цена его — 144 часа при переезде, и она должна быть названа.
- 4База знаний «загружается в платформу», а про то, где остаются исходники и кто хранит скрипт сборки индекса, не сказано ничего.
- 5Регресс-набор не упомянут вовсе либо упомянут с формулировкой «остаётся у исполнителя». Это тот самый актив, который стоит 91 200 ₽ при повторной сборке.
- 6На прямой вопрос «сколько будет стоить переезд на другого поставщика» ответ звучит как «это не понадобится». Правильный ответ — число часов и оговорка, от чего оно зависит.
Ни один из признаков сам по себе не означает, что подрядчик плохой. Четыре из шести означают, что вам продают быстрый запуск за счёт будущей мобильности — и это допустимая сделка, если она заключена сознательно. Как выглядит нормальная приёмка такого проекта, разобрано в материале про выбор подрядчика по автоматизации, а состав работ и гарантии мы описали на странице как устроена работа.
Когда развязкой сознательно пренебрегают
Есть четыре ситуации, в которых 114 000 ₽ на развязку лучше потратить иначе. Общее у них одно: цена ухода либо мала, либо не имеет значения, потому что уходить будет не с чего.
- Пилот на 4–6 недель, который заведомо перепишут. Задача пилота — понять, работает ли идея на ваших данных. Он не должен пережить решение о запуске, поэтому вкладываться в его мобильность бессмысленно.
- Малый объём. При 500 обращениях в месяц счёт за модель — около 520 ₽, и ценовая блокировка не существует как явление. Здесь развязка нужна максимум в виде дисциплины хранения исходников, а это часы, а не десятки часов.
- Модель уже в вашем контуре. Если система работает на локальной модели на своём железе, юридическая блокировка снята по построению. Техническая остаётся: переход с одной локальной модели на другую — это те же промпты и тот же регресс-набор.
- Осознанная ставка на конструктор. Иногда собрать двадцать сценариев визуально за две недели важнее, чем сохранить возможность уйти за три дня. Это нормальное решение — при условии, что 432 000 ₽ будущего переезда записаны в протоколе, а не выяснятся через год.
И обратная сторона: есть один случай, когда развязка обязательна независимо от объёмов и бюджета. Это процесс, остановка которого останавливает выручку или нарушает обязательство перед клиентом — приём заявок, распознавание первичных документов в закрывающемся периоде, диспетчеризация. Там вопрос не в деньгах, а в том, сколько часов компания может прожить без этого процесса; если ответ измеряется часами, а не неделями, запасной драйвер оплачивается сам собой.
Мобильность системы определяется не тем, сколько поставщиков в неё встроено, а тем, сколько часов занимает переключение на второго.
