Как два параметра API утроили результаты GPT-5.6 на ARC-AGI-3
OpenAI выяснила, что включение retained reasoning и compaction в Responses API утроило результат GPT-5.6 Sol на бенчмарке ARC-AGI-3 — с 13.3% до 38.3%.
Когда мощная модель неожиданно «не умеет играть в игры»
GPT‑5.6 Sol решил давно открытые проблемы в математике — в частности, гипотезу о двойном покрытии цикла — и прошёл Pokémon FireRed. Казалось бы, такая модель должна справляться с любыми задачами. Однако когда исследователи проверили её на новом бенчмарке ARC-AGI-3, результаты оказались обескураживающими: на ARC-AGI-3, бенчмарке из двухмерных головоломок-игр, GPT‑5.6 Sol набрал лишь 7.8%, а GPT‑5.5 едва мог взаимодействовать с играми вообще — всего 0.4%.
Чем объясняется такой провал? Неужели 2D-головоломки — это ахиллесова пята современных языковых моделей? Оказалось, дело совсем в другом.
Бенчмарки измеряют не только модели
Бенчмарки редко измеряют AI-модели в чистом виде. Они также отражают менее заметные решения: настройки API, конструкцию тестового окружения (harness) и параметры промптов.
В случае ARC-AGI-3 исследователи OpenAI обнаружили, что включение двух API-настроек, используемых в ChatGPT и Codex — retained reasoning (сохранение цепочки рассуждений) и compaction (сжатие контекста) — утроило результаты и сократило количество выходных токенов в 6 раз на публичном наборе задач.
Бенчмарки редко измеряют модели в изоляции — они измеряют и набор менее заметных решений об API-настройках, конструкции тестового окружения и промптах.
Итоговые цифры: было и стало
С официальным тестовым окружением GPT‑5.6 Sol набрал 13.3% на публичном наборе ARC-AGI-3. С retained reasoning и compaction результат вырос до 38.3%.
Оценки измеряются метрикой RHAE (Relative Human Action Efficiency — относительная эффективность действий по сравнению с человеком), сравнивающей производительность модели с человеческим базовым уровнем.
RHAE — единственное число в диапазоне от 0% до 100%, которое показывает, насколько AI приближается к эффективности человека при первой попытке прохождения головоломок.
Сводная таблица результатов
| Конфигурация | Результат RHAE | Выходные токены |
|---|---|---|
| Официальный harness (без оптимизаций) | 13.3% | Базовый уровень |
| + Retained reasoning | ~25% | Заметно меньше |
| + Retained reasoning + Compaction | 38.3% | В 6 раз меньше |
Что такое Retained Reasoning и как это работает
Retained reasoning (сохранение цепочки рассуждений) — это механизм, при котором токены внутренних рассуждений модели не сбрасываются между ходами агента, а переносятся в следующий запрос.
Для лучшего соответствия производственной конфигурации OpenAI реализовала тестовое окружение ARC-AGI-3 на основе Responses API. Передача идентификатора предыдущего ответа автоматически сохраняет цепочку рассуждений между вызовами инструментов и ходами диалога.
С сохранёнными рассуждениями было замечено два важных изменения. Во-первых, GPT‑5.6 Sol тратил меньше времени на обдумывание перед каждым действием, поскольку ему больше не нужно было заново интерпретировать игру с нуля на каждом ходу. Во-вторых, имея доступ к своим прошлым мыслям, модель значительно лучше обучалась в процессе игры и применяла последовательные стратегии.
Именно так модели обучаются и именно так они развёртываются в ChatGPT и Codex.
graph TD
A["Ход 1: Модель исследует игру"] --> B["Рассуждения сохранены в контексте"]
B --> C["Ход 2: Модель помнит правила"]
C --> D["Рассуждения снова сохранены"]
D --> E["Ход N: Стратегия становится последовательной"]
E --> F["Высокий результат RHAE"]
G["Без Retained Reasoning"] --> H["Ход 1: исследует"]
H --> I["Рассуждения удалены"]
I --> J["Ход 2: заново интерпретирует игру"]
J --> K["Низкий результат RHAE"]
Что такое Compaction и зачем он нужен
Даже при сохранении рассуждений возникает другая проблема: контекстное окно ограничено по размеру. Когда агент играет длинную партию, история ходов и рассуждений быстро заполняет контекст.
Следующим улучшением стала замена скользящего усечения (rolling truncation) на compaction — ещё одну настройку Responses API. Тестовое окружение ARC-AGI-3 по умолчанию использует скользящее усечение для управления ограничениями контекста.
Проблема усечения в том, что оно просто «обрезает» старые сообщения — модель буквально «забывает» то, что узнала на ранних ходах партии. Compaction решает эту проблему иначе.
При compaction вы передаёте полное контекстное окно (сообщения, инструменты и другие элементы), а endpoint возвращает новое сжатое контекстное окно, которое можно передать в следующий вызов /responses. Возвращённое сжатое окно включает зашифрованный элемент compaction, который переносит вперёд ключевое предыдущее состояние и цепочку рассуждений в меньшем количестве токенов.
Когда compaction был включён для ARC-AGI-3, GPT‑5.6 Sol смог лучше сохранять то, что узнал о каждой игре на протяжении длинных сессий, и достиг более высокого результата при меньшем количестве выходных токенов.
Как включить эти настройки в Responses API
Для разработчиков, использующих OpenAI API, включить обе оптимизации несложно:
1. Retained Reasoning
Поскольку Responses API является stateful (с сохранением состояния), токены рассуждений сохраняются автоматически: достаточно включить их идентификаторы в последующие сообщения, чтобы дать будущим ответам доступ к тем же элементам рассуждений. Если вы используете previous_response_id для многоходовых диалогов, модель автоматически получает доступ ко всем ранее произведённым элементам рассуждений.
# Пример использования retained reasoning через previous_response_id
response = client.responses.create(
model="gpt-5.6-sol",
input="Следующий ход в игре",
previous_response_id=previous_response.id, # ключевая настройка
reasoning={"effort": "max"}
)
2. Compaction
Используйте /responses в обычном режиме, передавая входные элементы: пользовательские сообщения, выходные данные ассистента и взаимодействия с инструментами. Когда контекстное окно вырастает до больших размеров, вызовите /responses/compact для генерации нового сжатого контекстного окна.
# Пример вызова compaction при заполнении контекста
compacted = client.responses.compact(
model="gpt-5.6-sol",
input=previous_response.output # передаём всё накопленное
)
# Используем сжатый контекст для следующего запроса
next_response = client.responses.create(
model="gpt-5.6-sol",
input=compacted.output + [{"role": "user", "content": "Следующий ход"}]
)
Почему ARC-AGI-3 — особенный бенчмарк
Чтобы понять масштаб достижения, важно понимать, что именно измеряет ARC-AGI-3 и почему он настолько сложнее предшественников.
ARC-AGI-3 повышает планку, требуя исследования окружения, поиска целей и планирования в интерактивных мирах — навыков, с которыми AI до сих пор испытывает трудности.
Бенчмарк представляет собой сотни оригинальных пошаговых сред, каждую из которых создали команды дизайнеров игр вручную. В них нет инструкций, нет правил, нет заявленных целей. Чтобы преуспеть, AI-агент должен самостоятельно исследовать каждую среду, понять принцип её работы, выяснить, как выглядит победа, и применять полученные знания на всё более сложных уровнях.
GPT-5.6 Sol стал первой моделью, выигравшей публичную игру ARC-AGI-3 (ft09, 87%). Она способна правильно прочитать незнакомую сцену и описать её в терминах самой игры, а неудачную гипотезу рассматривает как повод для перепланирования — а не как сигнал к хаотичным попыткам.
Большой урок: оценка — это не только модель
История с ARC-AGI-3 и GPT-5.6 Sol наглядно демонстрирует фундаментальную проблему бенчмаркинга в области AI.
Эти эксперименты служат напоминанием о том, что оценки редко измеряют модели в изоляции — они измеряют и набор менее заметных решений об API-настройках, конструкции тестового окружения и промптах.
Это не первый случай, когда OpenAI была удивлена низкими результатами на публичном бенчмарке, а затем обнаружила, что тестовый раннер использовал стандартный harness, отбрасывающий сообщения с цепочками рассуждений.
Эта ситуация — отличный урок для всего сообщества ML-инженеров: одна и та же модель может показывать кардинально разные результаты в зависимости от того, как именно она запускается. Игнорировать «технические» детали API при сравнении моделей — значит сравнивать не яблоки с яблоками, а яблоки с апельсинами.
Итог
История с GPT-5.6 Sol и ARC-AGI-3 — это не просто новость о росте цифр на одном бенчмарке. Это демонстрация того, насколько критично правильно настроить окружение для запуска AI-агентов. Две «невидимых» настройки API — retained reasoning и compaction — позволили утроить результат и сократить расходы на токены в 6 раз.
Для разработчиков, создающих агентные системы на базе GPT-5.6, вывод однозначен: используйте Responses API, передавайте previous_response_id для сохранения рассуждений и применяйте compaction при работе с длинными сессиями. Это не просто «дополнительная опция» — это то, как модели обучались работать и как они работают в продуктах OpenAI.