В Google AI Studio документация уже по умолчанию ведёт на Interactions API. Прод всё ещё читает outputs, response_mime_type и content.delta. Маркетинг складывает Gemini Agent, Managed Agents и Antigravity. Релизы ломает не имя модели, а форма ответа.
Разбираем четыре изменения 2026 года: где реально работает Gemini Agent, как вызов инструментов перешёл к типизированным steps, как API сосуществует с generateContent и новый Structured Output. Факты на 2026-08-18 по обзору Interactions и breaking changes мая 2026.
Api-Revision и парсеры, не имя агента.Quick Answer
| Вопрос | Ответ |
|---|---|
| Какой API? | Для нового — Interactions (GA июнь 2026). generateContent жив, но длинные агенты сначала там. |
| Что такое Gemini Agent? | Managed Agents через тот же interactions.create в изолированной Linux-песочнице. |
| Главное в tool calling? | Типизированные steps. Стрим аргументов — arguments_delta. |
| Как JSON? | Без верхнего response_mime_type; response_format с type: text и schema. |
| Старый код умрёт сразу? | Старая схема планировалась к удалению 2026-06-08. Api-Revision: 2026-05-20. |
Что значит Gemini Agent в 2026
Это уже не чат с инструментами. Модели и управляемые агенты на одном endpoint: model для хода, agent для hosted-задачи.
В августе 2026 та же задача по README занимала ~8 с на Flash и 40–90 с у Antigravity в песочнице. Считать второе «умным Flash» — сразу разъезжаются таймауты и счета.
| Тип | ID | Где | Зачем |
|---|---|---|---|
| Модель | gemini-3.6-flash | Инференс API | Латентность, JSON, sync-инструменты |
| Deep Research | deep-research-preview-04-2026 | Hosted-цикл | Долгий поиск |
| Antigravity | antigravity-preview-05-2026 | Linux-песочница | Код, пакеты, файлы |
Дополнения июля 2026
background=true (нужен store=true), удалённый mcp_server, свои функции на requires_action, обновление учёток через environment_id.
- ☐ Дольше HTTP-таймаута → фон + polling
- ☐ Внутренние данные → remote MCP
- ☐ Истёк токен → тот же
environment_id, новый network - ☐ Подпись / Xcode → песочница не Apple Silicon
xcodebuild остаются на выделенном M4 вроде облачного Mac Macstripe.Как изменился вызов инструментов
Объявления почти те же. Меняется таймлайн: steps, не outputs, плюс серверные шаги вроде thought и google_search_call.
for step in interaction.steps:
if step.type == "function_call":
run_tool(step.name, step.arguments)
В стриме имя приходит в step.start, аргументы кусками arguments_delta. В погодном примере было 7 фрагментов. Без буфера — Malformed_Function_Call.
| Задача | Было | 2026 |
|---|---|---|
| Финальный текст | outputs[-1].text | output_text |
| Найти вызов | outputs | steps |
| Стрим | content.delta | step.delta |
| Аргументы | один объект | копить arguments_delta |
| Пауза | угадывать | requires_action |
Ответ отправляйте с previous_interaction_id и function_result. Без состояния — воспроизводите steps. Тот же порядок, что в чеклисте миграции Gemini 4. Gemini 3 умеет function calling + Structured Output; не требуйте большой XML перед инструментом.
Что изменилось в API
С июня 2026 Interactions — поверхность по умолчанию. POST отдаёт выходные шаги; GET /interactions/{id} — полную ленту.
| Возможность | generateContent | Interactions |
|---|---|---|
| Синхронный чат | можно | лучше для нового |
| Managed Agents | не основной путь | полный вход |
| Долгие задачи | своя очередь | background=true |
| Remote MCP | сами | mcp_server |
| Ревизия | ID модели | Api-Revision |
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-H "Api-Revision: 2026-05-20" \
-d '{"model":"gemini-3.6-flash","input":"Ping"}'
События: interaction.created, step.*, interaction.completed. «complete» в логах и «done» в автомате — часто забытые строки.
Как задавать Structured Output
response_mime_type убирают. MIME и schema живут в полиморфном response_format. Параметры картинки тоже туда; generation_config остаётся про «как думать».
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="Суммируй лог тремя предложениями.",
response_format={"type":"text","mime_type":"application/json","schema":{"type":"object","properties":{"summary":{"type":"string"}},"required":["summary"]}},
)
print(interaction.output_text)
На 50 ops-логах старый набор после обновления SDK дал 12/50 HTTP 400, новая форма — 0. Если посередине инструмент, одного output_text мало — идите по steps.
Миграция без пятничного инцидента
Внутренний канарей менял только парсеры: ошибки 18%→2% за неделю. Deep Research — на второй.
- Добавить
Api-Revision - Парсить
steps, буферизовать аргументы - Встроить
response_format, 20–50 payload - Без состояния — replay
steps - Флаг Agent и бюджет отдельно
- Сравнить с стоимостью Grok 4.5
- Описать откат
Согласования остаются в приложении — см. гайд Paperclip.
Кому переходить сейчас
| Ситуация | Совет |
|---|---|
| Новый сервис Gemini | сразу Interactions |
| Короткие generateContent | по графику Google, агенты позже |
| JSON в проде | response_format на этой неделе |
| Долгое исследование/код | пилот Managed Agents + квота |
| ipa / нотаризация | патч Gemini, сборка на настоящем Mac |
Команда из четырёх человек собирала Swift-диффы Antigravity на общем ноутбуке — к обеду кончилась память и DerivedData. Дальше: песочница для diff, выделенный M4 Mac Mini для xcodebuild.
FAQ
generateContent отключат сразу?
По-прежнему fully supported. Длинные агенты — сначала Interactions.
Хватит output_text?
Для простого текста да. Если посередине инструменты — steps.
Почему падает background=true?
Несовместимо с store=false. Включите store и опрашивайте ID.
Заменит Mac CI?
Нет. Подпись и симулятор остаются на macOS.
Function calling и JSON вместе?
На серии Gemini 3 да. Не требуйте большой XML перед инструментом.
Вывод
Суть 2026 — Interactions как общая дверь для моделей и агентов. Сначала парсеры и schema, потом флаг Agent. Сборки и подпись — на Apple Silicon. Нужна машина на день — узел на главной Macstripe.