Агент пишет письмо там, где надо остановиться

Заявка ещё не разобрана, а агент уже пишет клиенту длинное письмо. Нужен был другой ответ: продолжать, переспросить человека или остановиться. Мы долго просили рабочую модель решить это заодно и каждый раз получали абзац вместо выбора. 22 октября Decisions API вышла из беты. Классификация, маршрутизация и оценка по рубрике идут отдельным вызовом gpt-6-luna и не требуют обычного текста модели. Тип ответа задаётся явно: probability, choice или score - вероятность, выбор из списка или балл. На вход - текст, изображение или JSON, до 400 вопросов в запросе. В бете было 200. Выходные токены бесплатны: наружу уходит не сочинение, а ответ из заданного множества. Вход - $0,10 за 1 млн токенов, кэш - $0,01 за 1 млн. OpenAI сравнивает вызов с GPT-6 Luna через Responses API и пишет, что он до 10 раз быстрее. Это сравнение вендора, не бенчмарк и не обещание на вашем процессе. Пока выбор сидит внутри длинной генерации, модель успевает сочинить черновик даже там, где верный шаг - остановиться. Черновик жалко выбрасывать, и его отправляют. Потом разбираем тон письма, а не ошибку маршрута. Decisions API черновик не пишет. Первый подход у нас был "всё в одном запросе": и решение, и черновик. Модель почти всегда склонялась продолжить - текст уже лежал в ответе. Закрытый список этот соблазн убирает. Создание агента после такого разреза короче - дорогая модель включается только на ветке "продолжить". Возьмите шаг, на котором люди уже спорят: агент должен был остановиться, а пошёл дальше. - В песочнице задайте choice из трёх исходов: продолжить, переспросить человека, остановиться. - Тот же вопрос задайте обычным ответом модели. - Сравнивайте не складность фразы, а паузу и то, уложился ли результат в список. - Прогоните несколько своих примеров, включая кривые: пустое вложение, два противоречивых поля, заявка не о том. Если выбор стабильно совпадает с тем, что сделал бы старший сотрудник, развилку можно отделять от генерации. Если плавает, исходы названы слишком широко. Скорость вызова тут ни при чём. Открытый текст, план и черновик документа этот вызов не заменяет. Письмо клиенту, разбор условий, справка для руководителя - обычный ответ модели. Он стартует после развилки, не вместо неё. Один шаг - один понятный choice. Балл и вероятность уместны там, где цифру потом смотрит человек. Лимит в 400 вопросов легко забить впрок. Тогда развилка снова становится простыней, только без связного текста. Режим без хранения данных есть не у всех клиентов API. Для российского контура это не сноска: заявки, счета и переписка часто попадают под 152-ФЗ, и цена вызова закон не отменяет. Мы не отправляем такой пакет наружу только потому, что развилка там уже собрана. Если данные нельзя вывозить, ту же развилку собираем внутри контура - короткий вызов с жёстким форматом, российская модель или отдельный классификатор, и только потом рабочая модель. Модель на выборе и модель на тексте лучше не склеивать. Схему стоит забрать, даже если сам Decisions API в контур не войдёт. Агенты ломаются чаще не на красивом тексте, а на шаге, где надо было выбрать действие и промолчать. Список исходов пишем до инструкции: хватает трёх или четырёх, не двадцати. Шаг выбора не пишет клиенту и не вызывает инструменты, которые меняют учёт. В журнал кладём ветку, а не пересказ модели. Полный ответ, план или правка документа стартуют, только если исход - "продолжить". "Переспросить" уходит человеку с уже собранным контекстом. "Остановиться" считаем нормальным итогом и не лечим повторным запросом. Лишнее письмо клиенту обходится дороже, чем $0,10 за миллион токенов на развилке. Хватает одного знакомого шага и трёх заранее названных исходов. Если закрытый список не описывает работу, отделять развилку рано: сначала договоритесь, какие действия вообще допустимы. Полностью - в блоге: https://inteltek.ru/blog/177

Агент пишет письмо там, где надо остановиться | Сетка — социальная сеть от hh.ru