OpenAI, Anthropic и Google запирают сессии ИИ-агентов в своих API

Изначальный принцип API для нейросетей был простым: отправил запрос, получил ответ, сохранил оба, и вся переписка твоя, её можно изучать, архивировать, воспроизводить или отдать другой модели. Это никогда не было стопроцентно верно (кэши подсказок живут на чужих GPU, токенизация у моделей разная, сэмплирование намеренно невоспроизводимо), но смысловая запись сессии, инструкции, сообщения, вызовы инструментов и их результаты, оставалась у пользователя, и достаточно мощная модель другого поставщика могла её понять и продолжить работу, пусть и не токен-в-токен.
Авторы блога earendil.com (разработчики инструментов для ИИ-агентов) показывают, что современные API от этого принципа отходят. Они перечисляют шесть признаков: токены рассуждений, за которые пользователь платит, но получает лишь непрозрачный зашифрованный блок и в лучшем случае бесполезное резюме; веб-поиск, где модель видит исходники, которых клиент не видит вовсе; сжатый контекст, расшифровать который может только исходный провайдер; инструкции и сообщения между суб-агентами, скрытые от приложения в виде зашифрованных пакетов; ссылки на файлы, векторные хранилища, контейнеры и кэш, которые нельзя разрешить нигде, кроме серверов провайдера; и, наконец, состояние диалога, целиком привязанное к идентификаторам, которые хранятся только на серверах поставщика.
Чтобы проверить, портируема ли сессия, авторы предлагают практический тест на псевдокоде: экспортировать сессию (session.export()), отозвать доступ у старого провайдера (revokeCredentials(oldProvider)) и продолжить работу у нового (newProvider.continueFrom(transcript)), без обращения к серверу первого провайдера. Из этого выводятся пять критериев: инспекция (видит ли пользователь, что видела модель, что делали инструменты и что агенты сообщали друг другу), экспорт (самодостаточна ли сессия, если не считать обычных скачиваемых файлов), воспроизведение (может ли другая реализация восстановить семантически эквивалентный контекст), аудит (может ли человек постфактум объяснить, почему система поступила так, а не иначе) и удаление (может ли пользователь найти и удалить все серверные копии, от которых зависит сессия).
Конкретные примеры из статьи. По рассуждениям: OpenAI при store: false возвращает зашифрованный encrypted_content, а при сохранённых ответах прежние рассуждения можно восстановить через previous_response_id, но они остаются нечитаемыми; Anthropic возвращает полное шифрованное содержимое размышлений в поле signature, а читаемый текст размышлений, это резюме, которое составляет отдельная модель, а не сырая цепочка рассуждений; кроме того, блоки размышлений Anthropic привязаны к модели, которая их создала, и должны удаляться при переключении на другую модель, то есть портируемость не предполагается даже внутри самой Anthropic. По хранению: Responses API у OpenAI по умолчанию хранит ответы не менее 30 дней, но можно включить store: false; новый Interactions API у Google (Gemini) тоже по умолчанию включает сохранение, 55 дней на платном тарифе и 1 день на бесплатном. По поиску: у хостед-поиска OpenAI, Google и Anthropic клиент видит только действия поиска, цитаты и, опционально, список URL-адресов источников, но не получает полный текст, который видела модель, и не может гарантированно повторно получить те же данные, содержимое страницы к этому моменту могло измениться или быть урезано до короткого фрагмента. По сжатию контекста: у OpenAI серверное сжатие возвращает зашифрованный элемент compaction, который в документации прямо назван «непрозрачным и не предназначенным для чтения человеком», а отдельный эндпоинт /responses/compact отдаёт «канонический следующий контекст», который клиенту предписано передавать дальше без изменений; у Anthropic, напротив, сжатие возвращает читаемое поле content, клиент может задать собственные инструкции для составления резюме, и результат можно проверить и передать другой модели. По суб-агентам: бета-версия Multi-agent в Responses API у OpenAI возвращает три новых типа элементов, multi_agent_call, multi_agent_call_output и agent_message; в примере вызова spawn_agent аргумент message зашифрован, а сообщения между агентами содержат только encrypted_content; при включённом Multi-agent серверное сжатие контекста включается автоматически для каждого агента, даже если клиент его не запрашивал; резюме рассуждений не поддерживаются, а API само внедряет инструкции для корневого и суб-агентов, которые разработчик не может ни отредактировать, ни убрать. В июне 2026 года похожее изменение появилось в открытом клиенте Codex: коммит «Encrypt multi-agent v2 message payloads» ввёл шифрование сообщений между родительским и дочерним агентами.
Авторы предлагают заменить маркетинговый термин «encrypted_content» (звучит как функция приватности под контролем пользователя) на более честный, «состояние, запечатанное провайдером»: ключи выбирает провайдер, он же расшифровывает содержимое для собственных моделей и решает, где это можно воспроизвести. Такое шифрование действительно может приносить пользу приватности, например, OpenAI может вернуть клиенту зашифрованные рассуждения при store: false, расшифровать их в памяти на следующем запросе и не хранить промежуточное состояние на сервере, что особенно ценно для клиентов с политикой нулевого хранения данных (Zero Data Retention). Но сама необходимость шифрования при этом остаётся сомнительной: оно скрывает данные не от инференс-провайдера, а от пользователя.
Ключевые факты
- Токены рассуждений (reasoning/thinking) у OpenAI и Anthropic возвращаются как непрозрачные зашифрованные блоки: пользователь платит за них, но не видит сырую цепочку рассуждений, только резюме, составленное отдельной моделью.
- Responses API у OpenAI по умолчанию хранит ответы не менее 30 дней; новый Interactions API у Google (Gemini) тоже по умолчанию сохраняет данные, 55 дней на платном тарифе, 1 день на бесплатном.
- При хостед-поиске у OpenAI, Google и Anthropic клиент видит только цитаты и список URL, но не полный текст и ранжирование источников, которые видела модель, и не может гарантированно получить те же данные повторно.
- Серверное сжатие контекста у OpenAI отдаёт зашифрованный, по документации «не предназначенный для чтения человеком» блок; у Anthropic, читаемое поле content с возможностью задать свои инструкции для резюме.
- Бета-версия Multi-agent у OpenAI шифрует сообщения между агентами и внедряет инструкции для суб-агентов, которые разработчик не может изменить; такое же шифрование межагентных сообщений в июне 2026 года появилось в открытом клиенте Codex.
Почему это важно
Материал фиксирует смену модели владения: раньше стенограмма диалога с ИИ (инструкции, сообщения, вызовы инструментов, их результаты) целиком принадлежала пользователю и её можно было передать другой модели. Сейчас крупные провайдеры API, OpenAI, Anthropic, Google, всё чаще возвращают вперемешку обычный текст и «запечатанное» состояние: зашифрованные рассуждения, скрытые результаты поиска, нечитаемое сжатие контекста, зашифрованные сообщения между суб-агентами и ссылки на данные, которые разрешаются только на серверах самого провайдера. В сумме это означает, что стенограмма на компьютере пользователя, уже не вся сессия, а лишь часть её, а операционное состояние принадлежит провайдеру, а не пользователю.
Кому это важно
В первую очередь, разработчикам, которые строят агентные продукты поверх API фронтир-моделей и хотят иметь возможность сменить провайдера без потери контекста и истории работы агента. Также, компаниям, которые оценивают риск привязки к одному поставщику (vendor lock-in) при выборе инфраструктуры для долгосрочных проектов, и пользователям инструментов вроде Codex, где сообщения между агентами теперь тоже шифруются.
Как это применить
Авторы предлагают простой практический тест: экспортировать сессию, отозвать доступ у старого провайдера и попробовать продолжить работу у нового, используя только экспортированные данные. Пять критериев для проверки любого API на портируемость, инспекция (видно ли, что видела модель и что делали инструменты и агенты), экспорт (самодостаточна ли сессия), воспроизведение (может ли другая система восстановить эквивалентный контекст), аудит (можно ли постфактум объяснить действия системы) и удаление (можно ли найти и стереть все серверные копии). На практике это означает: по возможности использовать store: false, предпочитать клиентское сжатие контекста и клиентский поиск там, где важна портируемость, и заранее проверять, остаются ли рассуждения и сообщения между агентами читаемыми или превращаются в зашифрованный блок.
Можно ли доверять
Материал опубликован на блоге earendil.com, компании, разрабатывающей инструменты для работы с ИИ-агентами, и по сути представляет собой критический разбор с чёткой позицией автора (в тексте прямо сказано «мы не поклонники этого направления»). При этом фактическая часть подкреплена прямыми ссылками на документацию самих провайдеров (условия хранения в Responses API у OpenAI, поведение блоков размышлений у Anthropic, параметры Gemini Interactions API) и на реальный публичный коммит в открытом клиенте Codex, так что описанные технические детали проверяемы, а не голословны.
Риски и подводные камни
По мере того как агентные системы и мультиагентные архитектуры взрослеют, объём непрозрачного, привязанного к одному провайдеру состояния будет только расти. Пользователь платит за токены рассуждений, которые не может прочитать; провайдер может незаметно ограничить или сократить доказательную базу (результаты поиска), из-за чего повторный аудит ответа становится невозможным; инструкции для суб-агентов внедряются самим API и недоступны разработчику для правки. В сумме это усиливает зависимость клиентов от нескольких крупных лабораторий и затрудняет перенос уже наработанных агентных сценариев на альтернативных поставщиков.
«Это шифрование скрывает данные не от провайдера вывода, а от вас.»
— блог earendil.com