
Наша команда внедряет языковые модели в прикладные задачи заказчиков, и в июле 2026 года мы посчитали экономику одиннадцати пилотов. Среди них карточки товаров по каталогу, ассистент по документам компании, разбор обращений в контакт-центре, проверка документов на соответствие требованиям, разбор финансовой отчётности, персональные предложения по клиентской базе, коммерческие предложения по архиву прежних. Большинство задач делает LLM внутри ИИ-платформы, которая ставится в контуре заказчика, в его облаке или на его сервере, дальше я называю её установкой. Каждый расчёт находится в двух местах: во вкладке калькулятора ROI в таблице и в паспорте расчёта в документе. Вкладка рассчитана на объёмы и ставки заказчика и печатает вердикт («Пилот целесообразен» либо «Пилот не предлагаем» с причиной). В паспорте расчёта записан порог, объём, ниже которого мы за задачу не берёмся.
Пару недель назад при проверке перед публикацией списка порогов первое число не воспроизвелось. Порог для карточек товаров был записан как 38 250 позиций каталога, при пересчёте получилось 15 150. Разница в 2,5 раза, и была она не в нашу пользу. По этому числу мы отказали бы тем, кому могли продавать. В тот же день пересчитали 4 из 10 чисел, которые собирались публиковать (об одиннадцатом расчёте ниже). Дальше разбираю, как порог считается, где записанные числа не проходили собственную проверку окупаемости и что из этого можно быстро посчитать, чтобы проверить любого подрядчика.
Откуда берётся порог
Нетто-эффект это экономия, которая наступает, когда на ИИ переведён весь объём работы, минус инфраструктура и модельные вызовы за год (обращения к языковой модели, за них платит заказчик). В 10 калькуляторах из 11 правило записано словами «Полные затраты пилота должны окупаться не дольше четырёх месяцев нетто-эффекта», у умного поиска по каталогу (там пилот называется оценкой) правило то же. Годовой нетто-эффект, иначе говоря, должен покрывать полные затраты заказчика на пилот трижды. Значение 4 месяца задано параметром во всех 11 расчётах, заказчик его не вводит.
Затраты тут именно затраты заказчика. В базовый состав пилота работы подрядчика не входят, цена работ во всех 11 расчётах равна нулю, а всё сверх базового состава продаётся отдельными платными опциями. Заказчик платит лицензию платформы, инфраструктуру за срок пилота (облако или свой сервер) и модельные вызовы за время пилота.
У девяти задач из 11 экономию мы считаем по замещению труда, и у неё две формы. У персональных предложений по клиентской базе весь эффект, а у поиска почти весь, считается от прироста выручки, их я здесь не разбираю. У карточек товаров это число позиций, обновляемых за год, умноженное на разницу между стоимостью карточки вручную и стоимостью приёмки готовой карточки редактором. У задач в часах это часы, которые уходят на работу сейчас, за вычетом доли, которая остаётся на проверке человеком, умноженные на полную стоимость часа и на коэффициент из ответа на вопрос «что вы сделаете с высвобожденным временем». К этому коэффициенту вернусь ниже, он самая скользкая часть расчёта.
В восьми расчётах есть и второе условие, чистый эффект второго года после вычета годовой лицензии должен остаться положительным, но на границе порога оно выполняется с большим запасом. Иначе устроен только умный поиск, где языковая модель лишь подсказывает поверх поисковой выдачи, а вердикт проверяет, что первый год заказчика в плюсе. В 10 расчётах из 11 порог задаёт одно правило, 4 месяца.
Что считаете вы и что обязан назвать подрядчик
У порога две стороны. Нетто-эффект держится в основном на объёме и ставках заказчика, а полные затраты пилота, кроме инфраструктуры за его срок, держатся на ценах подрядчика. Подрядчик, конечно, посчитает вам эффект в своём предложении, только проверить его вы сможете лишь собственным расчётом.
Свою сторону заказчик собирает из трёх чисел и одного ответа. Объём работы он берёт в единицах своего учёта, будь то позиции каталога, разговоры в месяц или часы аналитиков в месяц. Стоимость единицы этой работы сейчас он знает из бюджета, например цену карточки у подрядчика по контенту или полную стоимость часа супервизора (оклад с начислениями, делённый на рабочие часы). Инфраструктуру, которую служба безопасности разрешит дать под установку, он оценивает в рублях в месяц. И он отвечает на вопрос, что компания сделает с высвобожденным временем. В задачах, посчитанных по часам, в этой стороне сидят два чужих допущения (какая доля работы останется на проверке у человека и сколько стоит один модельный вызов на единицу работы или в месяц), и подрядчик обязан их назвать. У ассистента по документам вместо доли на проверке подрядчик задаёт, какую долю времени на поиск по документам сотрудник перестанет тратить, и число запросов к базе на сотрудника. Пока подрядчик молчит, считайте без этих допущений, получится верхняя оценка эффекта, настоящая будет ниже.
Вторую сторону называет подрядчик (лицензия, срок пилота, стоимость вызовов за это время) и добавляет правило, по которому сам от задачи откажется. У нас это 4 месяца. Если подрядчик правило назвать не может, порога у него нет, и разговор об окупаемости идёт на ощущениях.
Как первое число оказалось завышено в 2,5 раза
Возьму карточки товаров, на них ошибка видна целиком. Годовая лицензия у нас ступенчатая (дальше - «лестница»), ступень зависит от числа карточек, которые установка генерирует в месяц. Границы ступеней проходят по 500, 1041 и 5000 карточкам в месяц. Порог же назван в позициях каталога при обновлении ассортимента 25% в год (это наше допущение о доле обновления).
Число 38 250 воспроизводилось только при лицензии третьей ступени. Третья ступень начинается от 1041 карточки в месяц, это около 50 000 позиций в каталоге, а каталог на 38 250 позиций при обновлении 25% даёт 797 карточек в месяц, то есть ступенью ниже. В день проверки причину не нашли и пересчитали порог с нуля. Нашли её позже, в коде. Июльский скрипт пересчёта держал лицензию на ступени условного заказчика, данными которого калькулятор заполнен по умолчанию (50 000 позиций), а в проверку окупаемости лестницу не подставлял. Ошиблась ровно та сторона порога, которую обязан считать подрядчик.
Два независимых пересчёта показали одно и то же (один из них сделан отдельно написанной программой, которая считает те же формулы независимо от таблицы), и результат сверен вручную до второго знака. При действующей лестнице правило 4 месяцев выполняется примерно от 15 150 позиций. С прежним числом мы отказали бы каждому, у кого в каталоге от 15 до 38 тысяч позиций. Точная граница всегда дробная, мы округляем её вверх, чтобы опубликованное число проходило собственную проверку с запасом.
Ещё два пересчитанных числа стоит показать, потому что их уроки переносятся на любой чужой расчёт. У ассистента по документам компании на один порог в трёх местах были записаны разные числа. Подсказка вкладки говорила 130 человек, паспорт 165 для облака и 355 для установки на своём сервере, а внутренняя проверка давала ещё три значения для разных вариантов. Пересчёт дал 151,3 человека, записано 155. Важнее другое. Ступень лицензии у ассистента меряется вопросами к базе знаний в месяц, а порог назван в людях, и условный заказчик в калькуляторе задаёт базе тысячи вопросов в месяц независимо от численности. Если привязать вопросы к людям, при полусотне сотрудников их выходит в несколько раз меньше, чем у условного заказчика, ступень лицензии ниже, и правило выполняется уже примерно от 44 человек. Какое чтение верное, мы пока не решили. Число вопросов у условного заказчика к тому же совпадает с нижней границей ступени лицензии. Будь их на один в месяц меньше, ступень была бы ниже, а порог около 120. Паспорт ни о том, ни о другом не говорит, эти оговорки живут пока только в наших рабочих записях.
Число у разбора обращений подвела сама проверка. Порог был записан как 1200 часов супервизоров в месяц, а на 1200 часах вкладка печатает «Пилот не предлагаем», окупаемость 4,018 месяца при правиле 4. Точная граница 1204,18 часа, записано 1210, это 7,6 человека при 160 рабочих часах в месяц. Шесть проверок подряд число не поймали, потому что каждая делила 1200 на 160, получала 7,5 и сверяла с паспортом, где стояло то же 7,5. Что напечатает вкладка на 1200 часах, никто не проверял.
Почему чужое число не переносится
Цена лицензии на ИИ-платформу ступенчатая, поэтому на границе ступени порог прыгает, и число из чужого расчёта не переносится даже на ту же самую задачу. Ступень к тому же часто меряется не тем, в чём назван порог. У ассистента порог в людях при ступени в вопросах к базе, у поиска порог в выручке при ступени в поисковых запросах. На поиске мы на этом и поймались. Порог был записан вилкой от 0,7 до 0,9 млрд рублей онлайн-выручки в год, а на числе запросов условного заказчика вкладка печатала «первый год у клиента в минусе» и на 0,7, и на 0,8 млрд, целесообразным пилот становится с 0,86 млрд. Вилку из паспорта сняли, теперь у поиска для каждой ступени своя граница, 0,6 млрд при небольшом числе запросов, 0,86 и 1,45 млрд на следующих ступенях. То же скрытое допущение несут и наши пороги в часах. Скажем, 1210 часов у обращений посчитаны при числе разговоров условного заказчика, который, как и у ассистента, стоит на нижней границе своей ступени, и у компании с теми же часами, но меньшим числом разговоров ступень и порог ниже. Спросить, в чём меряется ступень и на какой ступени посчитано число, дешевле, чем поверить.
Чужое число несёт и чужой ответ на вопрос про высвобожденное время. В расчётах по часам это обязательное поле с тремя значениями (1,0 / 0,5 / 0). Единицу ставят, когда высвобожденные часы превращаются в деньги полностью, компания сокращает штат или отказывается от найма. Половину ставят, когда они закрывают расходы сверх штата, будь то плановый найм, сверхурочные или часть аутсорса. При нуле ничего не меняется, замещение труда к задаче не применяется, и такой пилот калькулятор не предлагает. Задачи, где эффект сидит в выручке или в цене риска (штрафы и подготовка к проверкам), считаются другим методом. По умолчанию у нас стоит 0,5, и любой порог в часах, который вы видите, посчитан на этом допущении. Если ваш ответ «ничего», порог для вас бесконечен, сколько бы часов ни уходило на рутину.
В расчёт входят только часы, которые тратятся сегодня, и подсказка калькулятора по обращениям говорит это дословно. «Считайте только те часы, которые тратятся сегодня: разговоры, которые никто не слушает, в модель не входят». Прослушать все разговоры, включая те, до которых супервизоры сегодня не доходят, это уже другая задача, и считается она отдельно.
Наконец, у пилота и у внедрения окупаемости разные. Правило 4 месяцев считается на затратах пилота, а окупаемость полного внедрения записана в тех же вкладках отдельной строкой. В 10 расчётах из 11 она включает работы по переводу всего объёма, и во всех 11 она длиннее окупаемости пилота. Насколько, я пока не публикую, вопрос об этой строке у нас открыт. Когда подрядчик показывает окупаемость в 4 месяца, спросите, окупаемость чего именно он показывает, пилота или внедрения.
Задача, которую расчёт не спасает
Одиннадцатый расчёт (полевой отчёт) в список порогов не вошёл. По замыслу задачи прораб или мастер смены заполняет отчёт с объекта в браузере телефона, а система проверяет полноту и подсказывает, чего не хватает. Экономию мы считали по часам того, кто заполняет. Только заполнять отчёт после внедрения будет всё тот же прораб, и подсказки системы скорее добавят ему работы, а часы экономятся у руководителя, который эти отчёты вычитывает. Считать по руководителю значит переделать расчёт заново, и вопрос этот у нас открыт до сих пор. Мобильное рабочее место платформы, через которое отчёт должны заполнять с телефона, на конец июля существует черновиком требования, кода нет. А число порога, которое записано в паспорте, при проверке 8 августа само не прошло правило 4 месяцев, вкладка на нём печатает «Пилот не предлагаем», и это число мы не публикуем, пока не закроем спор о роли.
Аккуратный расчёт может считать экономию не у того человека, и никакая проверка формул этого не покажет. Поэтому вопрос, у кого именно высвобождается время, мы теперь задаём до формулы. Ответом считается имя роли. Общее число часов по подразделению тут не годится.
Чего стоят эти числа
Есть ещё цена, которая измеряется не в рублях. У 10 задач установка настраивается под заказчика, и на такой пилот у его людей уходит по нашим оценкам от 149 до 401 часа, у каждой задачи своя узкая вилка внутри этого разброса. Умный поиск задуман коробкой, заказчик разворачивает её сам и под него её не настраивают, там от 50 до 104 часов. Наших часов в пилоте с настройкой от 19 до 27 (консультации и экспертные проверки по ходу пилота, они входят в лицензию и отдельно не оплачиваются). Часы заказчика на работе, которую по правилам пилота он делает сам, проставлены по паритету с нашими, то есть мы приняли, что он тратит столько же, сколько тратили бы мы, и проверить это допущение нечем.
Расчёт вдобавок предполагает, что установку разворачивает и настраивает сам заказчик, а инструменты для этого у нас пока черновики требований. Пока они не построены, часть работ вернётся в цену отдельной платной строкой, и пороги от этого вырастут. Величину этой добавки я не публикую.
Расчёт за вечер
Свою сторону порога можно посчитать почти без подрядчика. Выпишите объём работы в тех единицах, в которых его считает ваш учёт, например позиции каталога с долей обновления за год, разговоры в месяц с часами супервизоров на них или документы в месяц с людьми на разборе и долей их времени. Рядом запишите стоимость единицы этой работы сейчас, для часов это полная стоимость часа, то есть оклад с начислениями (умножить на 1,3), делённый на 160 рабочих часов. Добавьте инфраструктуру под установку в рублях в месяц и ответьте себе на вопрос про высвобожденное время (1,0 / 0,5 / 0).
Годовой нетто-эффект для задачи в часах это часы за год, умноженные на стоимость часа и на ваш коэффициент, за вычетом доли работы, которая останется на проверке у человека, минус инфраструктура за год и модельные вызовы за год. Для задачи с единицей работы вроде карточки это единицы за год, умноженные на разницу между стоимостью единицы сейчас и стоимостью приёмки результата, минус те же инфраструктура и вызовы. Долю на проверке и цену вызовов подрядчик обязан оценить, у нас обе записаны в калькуляторах задач в часах отдельными строками, а у карточек их место занимают стоимость приёмки редактором и вызовы на карточку. Полученное число разделите на три. Это максимум полных затрат на пилот (цена подрядчика плюс ваша инфраструктура за срок пилота), который имеет смысл при нашем правиле 4 месяцев. Не согласны, подставьте своё, 6 месяцев дают 1/2 годового эффекта.
После этого подрядчику остаётся ответить, сколько стоит пилот целиком и ниже какого объёма он за эту задачу не возьмётся. Цена пилота вместе с вашей инфраструктурой за его срок должна уложиться в 1/3 годового эффекта, а порог должен быть ниже вашего объёма, оба сравнения делаются за минуту. Порог он должен назвать в ваших единицах и вместе с правилом, из которого тот выведен. Если подрядчик отвечает, что берётся за любой объём, вашу экономику он, скорее всего, не считал, и все окупаемости в его презентации нарисованы после того, как была названа цена.
Объём, начиная с которого подрядчик соглашается взять деньги, редко кто пишет в предложении, потому что этот пункт ограничивает написавшего. Пересчитать чужую границу у вас не получится, мы свои пересчитывали и исправляли сами и в одной ошиблись в 2,5 раза. Зато есть ли у подрядчика такая граница вообще, выясняется за минуту на первой встрече. По этому я бы и судил, считал ли кто-нибудь вашу задачу до того, как назвал цену.