Помощник поддержки стоил $0,06 за диалог. В презентации это выглядело прекрасно. Через месяц финансовый директор увидел другую цифру: $0,74 за решённое обращение. Модель вызывали повторно после невалидного JSON, часть ответов проверял оператор, а каждый восьмой клиент возвращался с тем же вопросом.
Обе цифры были честными. Просто первая отвечала на вопрос «сколько стоит попытка», а вторая — на вопрос «сколько стоит результат». Между попыткой и результатом лежит вся инженерия этой книги.
Единица должна совпадать с пользой
Цена вызова нужна для отладки инфраструктуры. Экономика продукта считается на завершённое полезное действие: решённый тикет, принятый документ, опубликованный материал. Если фича экономит время сотрудника, берите фактическое время до и после, а не оптимистичные секунды из демо.
def unit_economics(*, requests, success_rate, model_cost,
infra_cost, review_minutes, hourly_rate,
saved_minutes, value_per_success):
successes = requests * success_rate
review_cost = requests * review_minutes / 60 * hourly_rate
total_cost = model_cost + infra_cost + review_cost
saved_cost = successes * saved_minutes / 60 * hourly_rate
value = successes * value_per_success + saved_cost
return {
"cost_per_success": total_cost / max(successes, 1),
"net_value": value - total_cost,
"margin_per_success": (value - total_cost) / max(successes, 1),
}В расчёт входят production-вызовы, retries, evals, embeddings, хранение, observability и человеческая проверка. Разработка и сопровождение считаются отдельно как постоянные затраты. Затем нужен сценарий объёма: при росте трафика модельная стоимость растёт почти линейно, а дежурство и разработка ступенями.
Кейс с честным знаменателем
Из 10 000 обращений помощник попытался закрыть 6 000. Без повторного контакта закрылись 4 800. Модель и инфраструктура стоили $900, проверка операторов $1 200, сопровождение $600. Значит, переменная и операционная цена успешного решения равна $0,56, а не $0,15, полученные делением модельного счёта на число попыток. Сравнивать её надо со стоимостью прежнего решения тех же 4 800 обращений.
Что входит в знаменатель и что в числитель
Числитель (затраты) собирают не полностью. Полный список:
- вызовы модели, включая ретраи, repair-вызовы и шаги агента;
- embeddings и переиндексация;
- хранение: база, индекс, логи, трейсы;
- observability и алерты;
- прогоны evals и judge;
- человеческая проверка ответов;
- обработка жалоб и последствий ошибок.
Знаменатель (польза) собирают слишком щедро. Успех — это не «модель ответила», а завершённое полезное действие, пережившее окно повторного обращения. Тикет, закрытый ответом, на который клиент вернулся через час, успехом не является; он является двумя обращениями вместо одного.
Отдельная ловушка — экономия времени сотрудника. Сэкономленные пятнадцать минут превращаются в деньги только тогда, когда эти пятнадцать минут кем-то использованы: либо человек делает больше работы, либо людей нужно меньше. Если ни то ни другое, экономия существует в презентации и не существует в бюджете.
Где расчёт врёт
Команда считает все сгенерированные ответы успехом. Экономию минут умножают на полную зарплату, хотя освобождённое время ничем не занято. Редкие дорогие ошибки прячут в среднем. Бесплатный пилот провайдера переносят в прогноз года. Рост повторных обращений не связывают с фичей.
Для риска полезен отдельный член:
ожидаемый ущерб = вероятность ошибки * цена ошибкиСредняя маржа не оправдывает автоматическую отправку платежа, если один неверный платёж съедает год экономии.
Правило: защищайте не цену токена, а стоимость проверенного результата с учётом труда и ошибок.
Чеклист главы
Практикум
Задача 47.1 — экономика одной фичи за неделю. ⭑⭑
Выберите одну AI-фичу и соберите по ней данные за неделю.
Критерии приёмки:
Подсказки:
- Данные за неделю берите из логов, а не из памяти: доля ретраев оказывается выше, чем все ожидали.
- Порог остановки согласуйте с продуктом заранее. Обсуждать его во время инцидента поздно и бессмысленно.
Задача 47.2 — прогноз против факта через месяц. ⭑⭑
Через месяц после запуска сравните расчёт с реальностью.
Критерии приёмки:
Подсказки:
- Самое частое расхождение — доля успехов, а не цена токенов. Проверяйте знаменатель раньше числителя.
- Если факт лучше прогноза, разберитесь почему: обычно часть работы незаметно делают люди.