Cost-per-Outcome маршрутизация ИИ: как перейти от цены за токен к полезному интеллекту на доллар
Цена за токен — неверная метрика для маршрутизации ИИ в продакшене. Мы разбираем scorecard Useful Intelligence per Dollar от OpenAI и показываем, как применить cost-per-outcome подход к конфигурации routing — с формулами, деревом решений для выбора модели и FAQ с практическими вопросами, которые реально задают операторы gateway.
Модель с ценой $0.50 за миллион input-токенов выглядит дешевле, чем модель за $3.00 — пока дешёвая модель не потребует трёх попыток для правильного ответа, а дорогая не справится с первого раза. Если учесть повторные попытки, проверку человеком и потраченные вычисления, «дорогая» модель часто обходится дешевле за каждую успешную задачу.
В этом суть cost-per-outcome (CPO) routing: оптимизировать полную стоимость получения успешного результата, а не цену за единицу токена. OpenAI формализовали эту идею в июле 2026 года через scorecard Useful Intelligence per Dollar. Мы подготовили этот справочник, чтобы перевести фреймворк в практические решения по routing.
Почему цена за токен — неправильная метрика routing
OpenAI-совместимость означает, что провайдер предоставляет endpoint chat-completions, чей контракт запроса и ответа достаточно близок к API OpenAI, чтобы немодифицированный вызов OpenAI SDK работал после замены трёх значений: API key, base URL, название модели. Минимальная поверхность на практике —POST /v1/chat/completions с messages, model и потоковым ответом в форме OpenAI.
Цена за токен показывает стоимость сырья, а не готового продукта.
Конкретный пример: мы направили задачу code review на две разные модели.
| Метрика | Модель A ($0.50/M input) | Модель B ($3.00/M input) |
|---|---|---|
| Input-токенов за попытку | 2 000 | 2 000 |
| Output-токенов за попытку | 1 500 | 800 |
| Цена output | $1.50/M tokens | $12.00/M tokens |
| Среднее число попыток до прохождения проверки | 3,2 | 1,1 |
| Стоимость токенов / успешная задача | $0,0104 | $0,0132 |
| Время проверки человеком (мин) | 8 | 2 |
| Стоимость проверки ($50/час) | $6,67 | $1,67 |
| Полная стоимость успешной задачи | $6,68 | $1,68 |
Модель B дороже за токен в 6 раз, но стоимость одного успешного результата в 4 раза ниже. Сравнение цен за токен изначально задавало неправильный вопрос.
Этот паттерн повторяется в каждой нагрузке, которую мы измеряли. «Налог на многословие» — дешёвые модели в среднем генерируют на 15–20% больше output-токенов для передачи той же информации — размывает преимущество в цене за единицу. Циклы повторных попыток усугубляют проблему. А время проверки человеком, которое почти никогда не фигурирует в таблицах стоимости токенов, зачастую доминирует в общих затратах.
Четыре метрики: scorecard Useful Intelligence per Dollar от OpenAI
CFO OpenAI Sarah Friar предложила scorecard, построенный вокруг четырёх вопросов. Мы адаптировали каждую метрику для операторов gateway, которым нужно принимать решения по routing.
1. Сколько полезной работы выполнено
Что измеряет: Сколько задач ИИ фактически завершил с требуемым уровнем качества?
Токены создают ценность только тогда, когда превращаются в работу, которую люди могут использовать. Для команды поддержки «готово» означает решённую проблему клиента. Для инженерной команды — код, прошедший тесты. Для юридической — вовремя проверенный контракт.
Как отслеживать: Определите «готово» для каждого workflow. Измеряйте завершения в системе, где выполняется работа — тикет-система, CI pipeline, система управления документами — а не в ИИ-дашборде.
Следствие для routing: Модель с более высоким уровнем завершения задач на вашей конкретной нагрузке может оправдать более высокую цену за токен. Уровень завершения зависит от типа задачи, поэтому измеряйте по-workflow, а не как глобальное среднее.
2. Стоимость успешной задачи
Что измеряет: Полную стоимость завершения одной единицы работы на требуемом уровне качества.
Формула:
CPO = (Стоимость токенов + Стоимость retrieval + Стоимость оркестрации + Стоимость проверки) / Принятые результаты
Где:
- Стоимость токенов = (input-токены × цена input + output-токены × цена output) × среднее число попыток
- Стоимость retrieval = вызовы embedding + запросы к vector DB на задачу
- Стоимость оркестрации = вычисления gateway, логирование, очереди
- Стоимость проверки = время проверки × часовая ставка × доля эскалации
Следствие для routing: Именно это число должно определять выбор модели. Сравнивайте CPO между провайдерами, а не цены за токен. Frontier-модель вроде GPT-5.6 Sol или Claude Opus 4 может дать лучший CPO для сложных задач, несмотря на премиальную цену — потому что ей нужно меньше попыток и проверок.
3. Надёжность
Что измеряет: Как часто output ИИ соответствует требованиям без вмешательства человека.
Отслеживайте три исхода на задачу:
- Готов к использованию: Output сразу соответствует требованиям
- Нужна коррекция: Потребовалась повторная попытка или правка человеком
- Нужна эскалация: Человеку пришлось вмешаться и завершить работу
Следствие для routing: Надёжность напрямую влияет на CPO. Модель с 90% готовности имеет 10% потерь; с 70% — 30% потерь. Когда вы направляете сложные задачи на более надёжные (часто более дорогие) модели, сокращение потерь обычно перевешивает более высокую цену за токен.
4. Отдача от масштабирования
Что измеряет: Даёт ли каждый потраченный доллар на ИИ больше ценности при росте объёмов.
Отслеживайте один и тот же workflow во времени:
- Снижается ли CPO по мере накопления опыта команды с prompt и routing?
- Улучшает ли провайдер модель без пропорционального повышения цен?
- Дают ли кэширование и routing-оптимизации кумулятивный эффект?
Следствие для routing: Провайдеры с prompt caching (OpenAI, Anthropic, DashScope) получают структурное преимущество при масштабировании: повторяющийся контекст стоит меньше за каждый вызов. Routing через gateway с поддержкой кэширования усиливает этот эффект.
Token routing vs. Outcome routing: полное сравнение
| Аспект | Token routing | Outcome routing |
|---|---|---|
| Основная метрика | $/M tokens (input + output) | $/успешное завершение задачи |
| Выбор модели | Побеждает самая дешёвая за токен | Побеждает с наименьшим CPO по типу задачи |
| Логика fallback | Route на следующего самого дешёвого провайдера | Route на следующего самого надёжного провайдера |
| Трекинг затрат | Расход токенов по модели | Расход по результатам workflow |
| Скрытые затраты | Не учтены | Повторы, проверка человеком, оркестрация |
| Цель оптимизации | Минимизировать расход токенов | Максимизировать полезную работу на доллар |
| Риск | Незаметная деградация качества | Требуется измерение результатов |
| Подходит для | Однородные, высокочастотные, низкорисковые задачи | Смешанные нагрузки с различной сложностью |
Дерево решений: когда что оптимизировать
Используйте это дерево решений для выбора стратегии routing по каждому workflow:
Шаг 1 — Output задачи используется напрямую, без проверки человеком?
- Да → Оптимизируйте надёжность (выберите модель с наивысшим % готовности)
- Нет → Перейдите к шагу 2
Шаг 2 — Задача высокочастотная (>1 000 вызовов/день)?
- Да → Перейдите к шагу 3
- Нет → Оптимизируйте CPO (выберите модель с наименьшей полной стоимостью принятого результата)
Шаг 3 — Задача однородная (один формат, предсказуемая сложность)?
- Да → Оптимизируйте throughput + стоимость токенов (более дешёвая и быстрая модель, скорее всего, достаточна)
- Нет → Оптимизируйте CPO с tiered routing (простые варианты — на дешёвую модель, сложные — на мощную)
Шаг 4 — Workflow выигрывает от prompt caching?
- Да → Отдайте приоритет провайдерам с поддержкой кэширования (OpenAI, Anthropic, DashScope) и учтите экономию от cache hit в CPO
- Нет → Сравнивайте CPO по прайс-листу
Практическая реализация: настройка routing на основе результатов
Переход от token routing к outcome routing не требует новой инфраструктуры, но требует новых измерений и другой логики routing.
Шаг 1: Инструментируйте baseline
Перед изменением правил routing измерьте текущий CPO для ваших топ-3 workflow:
from openai import OpenAI
client = OpenAI(
base_url="https://api.therouter.ai/v1", # или ваш gateway
api_key="your-key"
)
import time
def measure_task(prompt, expected_schema):
attempts = 0
total_tokens = 0
start = time.time()
while attempts < 5:
attempts += 1
response = client.chat.completions.create(
model="openai/gpt-5.5",
messages=[{"role": "user", "content": prompt}],
)
total_tokens += response.usage.total_tokens
result = response.choices[0].message.content
if validate(result, expected_schema):
return {
"success": True,
"attempts": attempts,
"total_tokens": total_tokens,
"latency_ms": (time.time() - start) * 1000,
}
return {"success": False, "attempts": attempts, "total_tokens": total_tokens}
Шаг 2: Сравните CPO между моделями
Запустите один и тот же набор задач на нескольких моделях и рассчитайте CPO для каждой:
models_to_test = [
"openai/gpt-5.5", # Frontier
"openai/gpt-5.4-mini", # Mid-tier
"deepseek/deepseek-v4-flash", # Cost-efficient
"qwen/qwen3.7-max", # Китайский провайдер
]
for model in models_to_test:
results = [measure_task(prompt, schema) for prompt in test_prompts]
successes = [r for r in results if r["success"]]
total_cost = sum(r["total_tokens"] * get_price(model) for r in results)
cpo = total_cost / len(successes) if successes else float("inf")
print(f"{model}: CPO=${cpo:.4f}, success_rate={len(successes)/len(results):.1%}")
Шаг 3: Настройте tiered routing по данным CPO
Имея данные CPO, настройте routing так, чтобы задачи шли на модель с наименьшим CPO для каждого типа задачи — не на самую дешёвую по токенам.
Для сложных задач рассуждения frontier-модель (Claude Opus, GPT-5.6 Sol) обычно даёт наименьший CPO, несмотря на более высокую цену за токен. Для простой классификации или извлечения данных экономичная модель (DeepSeek V4, Qwen3-7-Plus) побеждает по CPO, потому что задача не выигрывает от более сильного reasoning.
Шаг 4: Добавьте fallback routing для надёжности
Fallback routing напрямую улучшает CPO за счёт сокращения неудачных попыток. Когда основная модель ограничена по rate limit или недоступна, запрос fallback на резервную модель вместо отказа и повторной попытки.
Настройте цепочки fallback по рангу CPO, а не по цене. Если модель A имеет наименьший CPO, но стала недоступна, fallback на модель B (второй CPO), а не на модель C (самая дешёвая за токен).
Налог на многословие и его значение для routing
Часто упускаемый фактор затрат: дешёвые модели генерируют больше токенов для передачи той же информации. Данные из production-развёртываний показывают, что бюджетные модели в среднем производят на 15–20% больше output-токенов для эквивалентных задач.
Этот «налог на многословие» разъедает преимущества цены за единицу:
| Сценарий | Дешёвая модель | Мощная модель |
|---|---|---|
| Цена output | $1.50/M tokens | $12.00/M tokens |
| Output-токенов для той же задачи | 1 200 | 800 |
| Стоимость output на задачу | $0,0018 | $0,0096 |
| Соотношение | 1× | 5,3× |
Мощная модель дороже по output-токенам в 5,3 раза — но если она справляется за 1 попытку вместо 3, реальная стоимость составляет 5,3× / 3 = 1,8× при трети latency. Добавьте экономию на проверке человеком, и мощная модель часто побеждает.
Prompt Caching и преимущества масштаба
Провайдеры с prompt caching получают структурное преимущество CPO при масштабировании. Когда повторяющийся контекст (системные промпты, few-shot примеры, retrieved-документы) кэшируется, последующие вызовы обходятся в долю стоимости input-токенов.
| Провайдер | Механизм кэширования | Скидка при cache hit | TTL кэша |
|---|---|---|---|
| OpenAI | Автоматический (prefix match) | 50% скидка на input | 5–60 мин |
| Anthropic | Явный (cache_control breakpoints) | 90% скидка на input | По умолчанию 5 мин |
| DashScope | Явный (context caching API) | ~85% скидка на input | Настраиваемый |
| DeepSeek | Автоматический (prefix match) | ~90% скидка на input | Переменный |
Для высокочастотных workflow с общим контекстом кэширование может снизить стоимость input на 50–90%, напрямую уменьшая числитель в формуле CPO. Подробности — в нашем руководстве по prompt caching.
FAQ
Что такое cost-per-outcome в маршрутизации ИИ?
Cost-per-outcome (CPO) измеряет полную стоимость получения одного успешного результата ИИ-задачи — включая токены, повторные попытки, проверку человеком и накладные расходы на оркестрацию — а не только цену за токен. Это метрика, которая напрямую привязана к бизнес-ценности: вас интересует, сколько стоит успешный результат, а не сколько стоит токен.
Почему цена за токен вводит в заблуждение при оптимизации затрат на ИИ?
Более дешёвая по токенам модель может требовать больше попыток, генерировать более многословный вывод или нуждаться в большей коррекции от человека. Полная стоимость успешного результата с «дешёвой» моделью может оказаться выше, чем с более мощной моделью, которая справляется с первой попытки. Scorecard Useful Intelligence per Dollar от OpenAI прямо утверждает: «самая низкая цена за токен не всегда даёт самую низкую стоимость результата».
Как конфигурация routing влияет на cost-per-outcome?
Routing определяет, какая модель обрабатывает каждый запрос. Направляя простые задачи на дешёвые модели, а сложные — на более мощные, вы минимизируете CPO по всей нагрузке. Fallback routing добавляет надёжность: когда основная модель недоступна, запросы автоматически переключаются на резервную, сокращая число неудачных попыток. Итоговый CPO ниже, чем при стратегии с одной моделью.
Что такое фреймворк Useful Intelligence per Dollar от OpenAI?
CFO OpenAI Sarah Friar предложила этот scorecard 17 июля 2026 года. Он измеряет четыре аспекта: (1) объём полезной выполненной работы, (2) стоимость каждой успешной задачи, (3) надёжность результата, (4) отдачу от масштабирования. Фреймворк переосмысляет ROI ИИ от затрат на инфраструктуру к ценности бизнес-результатов, утверждая, что одна только цена за токен не может отразить, приносят ли расходы на ИИ реальную отдачу.
Как рассчитать cost-per-outcome для моих ИИ-нагрузок?
CPO = Общая стоимость workflow / Количество принятых результатов
Общая стоимость workflow = токены модели (input + output, включая повторные попытки) + затраты на retrieval/embedding + накладные расходы на оркестрацию + время проверки человеком × часовая ставка. Принятыми считаются только результаты, прошедшие проверку качества. Задача, потребовавшая 3 попытки, учитывает стоимость токенов всех 3 попыток в числителе, но только 1 в знаменателе.
Может ли fallback routing снизить cost-per-outcome?
Да. Fallback routing направляет запросы на резервную модель, когда основная недоступна или ограничена по rate limit. Это сокращает количество неудачных попыток и повторов, что напрямую снижает штраф в знаменателе CPO. Настраивайте цепочки fallback по рангу CPO, а не по цене за токен. Подробности — в нашем руководстве по fallback routing.
Как TheRouter поддерживает outcome-based routing?
TheRouter маршрутизирует OpenAI-совместимые запросы через настроенных провайдеров и поддерживает routing и fallback между провайдерами/моделями, когда это поддерживается в продуктовых путях. Вы можете настроить основную и fallback-модели для каждого маршрута, реализуя tiered routing на основе ваших измерений CPO. В сочетании с unified billing это позволяет отслеживать затраты по workflow, а не по сырому расходу токенов.
Источники
Все утверждения в этом посте подкреплены источниками:
- OpenAI, "A scorecard for the AI age" — Получено 2026-07-21
- OpenAI API Pricing — developers.openai.com — Получено 2026-07-21
- Anthropic Claude Pricing — platform.claude.com — Получено 2026-07-21
- PromptMetrics, "AI Pricing in 2026: Why Cost-Per-Outcome Beats Tokens" — Получено 2026-07-21
- Axios, "OpenAI's CFO pitches a new way to measure AI's value" — Получено 2026-07-21
- CIO Dive, "OpenAI pushes new yardstick for measuring AI investments" — Получено 2026-07-21