Decisions API от OpenAI: что знать разработчикам ИИ-продуктов
OpenAI открыла Decisions API в общем доступе. Это специализированный инструмент для задач, где моделям не нужно генерировать текст. Он быстро выбирает один вариант из нескольких, оценивает вероятность условия или выставляет балл по шкале. Для тех, кто строит агентные системы или встраивает ИИ в продукты с высокой нагрузкой, это меняет расчёт архитектуры и стоимости. Ниже, как устроен API, где он работает лучше всего и как это соотносится с задачами автоматизации в e-commerce.
Что такое Decisions API и чем он отличается от обычного запроса к модели
Большинство запросов к языковым моделям предполагают генерацию. Модель получает контекст и пишет ответ произвольной длины. Decisions API работает иначе. Разработчик заранее задаёт вопрос, допустимые варианты ответа и контекст. Модель возвращает только типизированный результат без свободного текста.
Существует три типа вопросов:
- Predicate: проверка условия с вероятностью истинности. Например, «содержит ли этот текст жалобу на качество товара?».
- Choice: выбор одного варианта из фиксированного набора с показателем уверенности. Например, «к какой категории относится обращение: возврат, брак, похвала, вопрос о доставке?».
- Score: оценка по упорядоченной шкале с заданными уровнями и вероятностями. Например, «насколько негативен этот отзыв по пятибалльной шкале?».
В одном запросе можно передать от 1 до 400 вопросов одновременно. Ответы возвращаются в том же порядке, что и вопросы. Если один вопрос завершился отказом, остальные продолжают обрабатываться. Это важно для надёжности систем с параллельной классификацией.
Технически запрос отправляется методом POST на эндпоинт /v1/decisions. Сейчас поддерживается модель gpt-6-luna. Входные данные принимаются как строка, упорядоченный массив сообщений, вызовов функций или результатов инструментов.
Скорость и стоимость: в чём реальная разница
OpenAI заявляет, что Decisions API работает примерно в 10 раз быстрее, чем gpt-6-luna через стандартный Responses API. Задержка ответа составляет 120-180 миллисекунд. Это принципиально для сценариев реального времени: маршрутизация запросов в агентных пайплайнах, приоритизация тикетов, фильтрация контента на лету.
Модель ценообразования также отличается от стандартной. Оплачиваются только входные токены: $0,10 за миллион токенов по стандартной цене. Кэшированные входные данные стоят $0,01 за миллион токенов: в 10 раз дешевле. Выходные токены не тарифицируются вовсе, поскольку API не генерирует свободный текст.
Для систем, где одна операция требует десятков классификационных решений подряд, разница в стоимости ощутима. Если контекст (системный промпт, описание категорий, инструкции) повторяется от запроса к запросу, кэширование промптов снижает затраты на порядок. Именно поэтому кэширование поддерживается нативно.
Важный нюанс: Zero Data Retention режим без сохранения данных, доступен для подходящих клиентов. Это актуально для продуктов, работающих с персональными данными пользователей или чувствительным бизнес-контентом.
Что умеет API помимо текстовой классификации
Decisions API обрабатывает не только текст. Входные данные могут включать изображения. Причём изображения можно передавать как в общем контексте, так и в инструкциях к отдельным вопросам. Это открывает сценарии визуальной классификации: определить, соответствует ли фотография товара требованиям маркетплейса, содержит ли изображение запрещённый контент, корректно ли оформлена карточка.
Структурированный JSON также принимается напрямую. Для продуктов, которые работают с данными из CRM, ERP или систем аналитики, это означает возможность классифицировать структурированные записи без предварительного преобразования в текст.
API поддерживает историю диалога и размещённые изображения. Это позволяет учитывать контекст предыдущих сообщений при принятии решений. Это полезно в агентных системах, где решение зависит от того, что уже было сказано в сессии.
Интеграция с GPT-Live открывает применение в голосовых приложениях. Агент может принимать быстрые решения о маршрутизации или приоритизации прямо во время голосовой сессии, не прерывая её заметной задержкой.
Региональная обработка данных поддерживается в США и ЕС. Это стандартное требование для продуктов, работающих с европейскими пользователями.
Какие задачи решает API лучше всего
Decisions API не заменяет полноценную генерацию. Он дополняет её там, где свободный текст избыточен. Практические сценарии применения делятся на несколько групп:
- Классификация контента. Определить тематику обращения, категорию жалобы, тип документа, язык сообщения это задачи с фиксированным набором вариантов. Вместо того чтобы просить модель написать «это жалоба на доставку», API возвращает выбранный вариант с показателем уверенности.
- Маршрутизация запросов. В агентных пайплайнах часто нужно решить, какой инструмент вызвать, какому агенту передать задачу, нужна ли эскалация. Decisions API позволяет принять это решение за 120-180 миллисекунд, не тратя токены на объяснение.
- Оценка и приоритизация. Выставить приоритет тикету, оценить срочность запроса, определить тональность отзыва по шкале: типичные задачи для score-вопросов. Результат предсказуем и типизирован, что упрощает последующую обработку.
- Фильтрация и модерация. Predicate-вопросы позволяют быстро проверить условие: содержит ли текст нарушение правил, является ли изображение подходящим, соответствует ли запрос политике платформы.
Для команд, которые строят системы автоматизации ответов на отзывы, например, на базе таких сервисов, как SaleSynergy, Decisions API может стать частью пайплайна. Сначала быстро классифицировать отзыв (тип, тональность, приоритет), а затем передавать уже размеченные данные на генерацию персонализированного ответа. Это снижает нагрузку на более дорогие генеративные вызовы.
Контекст: откуда взялась категория «моделей принятия решений»
Decisions API появился не в вакууме. Категория специализированных моделей для быстрых решений с ограниченным набором ответов начала формироваться раньше. Её появление связывают с моделью Jev от TypeSafe, которая показала, что для классификационных задач не нужна полноценная генеративная модель.
OpenAI позиционирует Decisions API именно как ответ на этот запрос рынка: донастроенная gpt-6-luna, оптимизированная под конкретный класс задач. Это не отдельная архитектура, а специализация существующей модели с другим интерфейсом и другой моделью ценообразования.
Важно понимать разницу между «быстрой моделью» и «специализированным API». Decisions API быстрее не потому, что модель меньше, а потому что задача сужена до выбора из заданных вариантов. Модель не тратит вычислительные ресурсы на генерацию свободного текста. Это архитектурное решение, а не просто маркетинговое позиционирование.
Параллельно OpenAI продолжает развивать экосистему: Assistants API прекращён, пользователям рекомендован переход на Responses API и Conversations API. Realtime API вышел из бета-версии. Добавлена поддержка IPv6. Журнал изменений платформы показывает последовательное движение к специализации интерфейсов под конкретные классы задач, вместо универсального «спроси модель обо всём».
Что изменилось в работе с ошибками и нагрузкой
В обновлённом журнале изменений OpenAI API появилось важное разграничение для разработчиков: платформа теперь различает два типа проблем с доступностью.
Ошибка 429 с кодом slow_down означает, что клиент наращивает трафик слишком быстро. Нужно замедлить темп отправки запросов. Ошибка 503 с кодом server_is_overloaded означает временную перегрузку на стороне серверов. Здесь нужно ждать и повторять попытку. При наличии заголовка Retry-After следует ждать указанное время; при его отсутствии: применять экспоненциальную задержку.
Для продуктов с высокой нагрузкой это разграничение существенно. Раньше оба сценария возвращали одинаковый код. Разработчики не могли автоматически различить «притормози» и «подожди». Теперь логика retry-механизма может быть точнее.
Для Decisions API, который предназначен именно для высоконагруженных сценариев с сотнями вопросов в одном запросе, корректная обработка этих ошибок критична. Если система отправляет пакеты по 400 вопросов и получает 429, важно понять: это проблема темпа или временная перегрузка, чтобы не терять данные и не дублировать запросы.
Как применить это на практике: советы для тех, кто строит продукты на ИИ
Если вы разрабатываете или дорабатываете агентную систему, вот практические ориентиры для работы с Decisions API.
- Определите, где у вас «выбор из N вариантов». Пройдитесь по пайплайну и найдите места, где модель сейчас пишет свободный текст, а вы потом парсите его регулярным выражением или промптом-интерпретатором. Это кандидаты на замену Decisions API. Результат будет типизированным сразу.
- Считайте экономику через кэширование. Если у вас есть повторяющийся системный контекст, описание категорий, инструкции, примеры, убедитесь, что он попадает в кэш. Разница между $0,10 и $0,01 за миллион токенов при больших объёмах существенна.
- Не заменяйте генерацию там, где она нужна. Decisions API не подходит для задач, где ответ нельзя свести к заранее заданным вариантам. Персонализированный ответ клиенту, объяснение решения, составление текста это по-прежнему задачи для генеративных моделей.
- Используйте пакетные запросы осознанно. 400 вопросов в одном запросе не повод упаковать всё подряд. Группируйте вопросы, которые относятся к одному контексту: так кэширование работает эффективнее, а логика обработки отказов проще.
- Продумайте обработку частичных отказов. Если один из 400 вопросов завершился отказом, остальные ответы всё равно возвращаются. Убедитесь, что ваша система корректно обрабатывает null или отсутствующий ответ для конкретного вопроса, не ломая всю цепочку.
- Проверьте соответствие требованиям по данным. Если ваш продукт работает с персональными данными пользователей, уточните, подходите ли вы под условия Zero Data Retention. Это особенно актуально для аналитики отзывов маркетплейсов, где в тексте могут содержаться имена и контакты покупателей.
Для команд, которые занимаются управлением репутацией на маркетплейсе и уже используют ИИ-инструменты для автоответов на отзывы, Decisions API открывает возможность разделить пайплайн на два этапа: быстрая и дешёвая классификация входящего отзыва, и только потом дорогостоящая генерация персонализированного ответа. Это снижает общую стоимость обработки и повышает предсказуемость системы, поскольку классификационный результат типизирован и не требует дополнительного парсинга.
Часто задаваемые вопросы
Чем Decisions API отличается от обычных запросов к языковым моделям?
Decisions API не генерирует свободный текст, а возвращает типизированный результат из заранее заданных вариантов. Это позволяет быстро проверять условия, выбирать один вариант из списка или оценивать по шкале, в отличие от обычных запросов, которые создают ответы произвольной длины.
Почему Decisions API работает быстрее и дешевле стандартных запросов?
API работает быстрее, поскольку модель не тратит ресурсы на генерацию свободного текста, а фокусируется на выборе из заданных вариантов. Стоимость ниже, так как оплачиваются только входные токены, а выходные не тарифицируются. Кэширование повторяющихся входных данных также значительно снижает затраты.
Можно ли использовать Decisions API для работы с изображениями или структурированными данными?
Да, Decisions API обрабатывает не только текст. Входные данные могут включать изображения, что позволяет выполнять визуальную классификацию. Также поддерживается прямая обработка структурированного JSON, что удобно для работы с данными из CRM или ERP-систем.
В каких случаях Decisions API не подходит для использования?
Decisions API не подходит для задач, где требуется генерация свободного текста, например, для создания персонализированных ответов клиентам, объяснения решений или составления текстов. Он предназначен для ситуаций, когда ответ можно свести к выбору из заранее заданных вариантов.
Что такое Zero Data Retention режим и почему он важен?
Zero Data Retention это режим без сохранения данных, который доступен для подходящих клиентов. Он важен для продуктов, работающих с персональными данными пользователей или конфиденциальным бизнес-контентом, поскольку гарантирует, что чувствительная информация не будет сохраняться на серверах OpenAI.
Как обрабатывать ошибки при работе с Decisions API в высоконагруженных системах?
Платформа различает ошибки 429 (slow_down) и 503 (server_is_overloaded). При 429 нужно замедлить темп запросов, а при 503: ждать и повторять попытку, используя экспоненциальную задержку или ориентируясь на заголовок Retry-After. Это позволяет точнее настроить логику повторных попыток и избежать потери данных.