Outcomes и рубрики

Тема дорожной карты · Claude от Anthropic

Outcome превращает сессию из разговора в работу над результатом: вместо чат-сообщения вы отправляете событие user.define_outcome с описанием задачи и рубрикой — формальными критериями готовности. Дальше платформа сама гоняет цикл «сделать → оценить → доработать», пока результат не удовлетворит рубрике, не исчерпаются итерации или вы не прервёте работу.

Как это работает

Событие user.define_outcome содержит три части: description — что нужно сделать, rubric — критерии оценки в виде текста или файла, и max_iterations — предел итераций (по умолчанию 3, максимум 20). Оценивает результат не сам агент, а отдельная модель-грейдер: после каждой итерации она сверяет артефакт с рубрикой и возвращает агенту список пробелов, по которым тот дорабатывает результат. Цикл iterate → grade → revise продолжается, пока грейдер не будет удовлетворён. Возможные исходы: satisfied (рубрика выполнена), needs_revision (агент пошёл на следующую итерацию), max_iterations_reached (лимит исчерпан), failed (задача и рубрика фундаментально не сходятся) и interrupted (вы прервали работу). Артефакты агент пишет в каталог /mnt/session/outputs/ внутри контейнера; после завершения их скачивают через Files API, указав scope_id, равный ID сессии.

Когда применять

Outcomes подходят, когда «готово» можно описать проверяемыми критериями: «xlsx-файл с DCF-моделью», «CSV с числовой колонкой price по каждому SKU», «отчёт, покрывающий пункты 1–5». Тогда рубрика даёт агенту чёткую цель, а грейдер — независимую проверку, и вы получаете самокорректирующийся цикл без ручного ревью каждой итерации. Для обычного диалогового взаимодействия или задач без формализуемого результата достаточно user.message. Лимит итераций подбирайте под цену ошибки: чем строже рубрика и дороже итерация, тем осмысленнее поднимать max_iterations выше дефолтных трёх.

Типичные ошибки

Расплывчатые критерии — главный источник проблем: рубрика вида «данные должны выглядеть хорошо» даёт грейдеру шум вместо сигнала, и цикл крутится впустую. Пишите независимые, проверяемые пункты. Вторая ошибка — отправлять user.define_outcome как дополнение к обычному сообщению: это замена чат-сообщения, а не приложение к нему. Третья — забыть про лимиты: по умолчанию всего 3 итерации, а больше 20 задать нельзя, поэтому сложная задача с жёсткой рубрикой может упереться в max_iterations_reached. Наконец, не ищите результат в ответных сообщениях — deliverables лежат в /mnt/session/outputs/ и забираются через Files API с scope_id сессии.

Связанные понятия

Полезные ресурсы

Проверить знания (2)

Загрузка вопросов…