Блог • DevDay 2026
Dots могут вызывать приложения в фоне. Какие три JSON-документа вы записываете до реального запуска инструмента?
29 сентября 2026 года на DevDay вышли более дешевый GPT-6.1 Sol и постоянные агенты Dots. Запланированный GPT-6.1 Astra не вышел. Публичные сообщения были конкретны: в тестах задачи и внешние инструменты шли без разрешения. Для Dot, у которого уже есть доступ к календарю, почте и приложениям, это запись вызова, а не обзор продукта.
Если запомнить только имя продукта, этот текст не поможет. Поможет другое: агент, который продолжает работать в фоне и уже подключен к приложениям, должен сводить каждое внешнее действие к проверяемому JSON. DevDay сдвинул это требование вперед.
Собственное описание OpenAI для GPT-6.1 Sol говорит, что код, работа с компьютером и профессиональные задачи близки к Astra, примерно за пятую часть стандартной цены входных и выходных токенов. Сводка сообщества за этот день также перечисляет Dots: постоянные агенты с подключенными приложениями и облачным компьютером. Specialist dots в корпоративном превью получают конкретные роли, управление через Microsoft Agent 365 запланировано. Это факты о продукте. JSON ниже — контракт вашего шлюза.
Сначала это Постоянная работа не значит, что каждый вызов инструмента уже разрешен. Схема доказывает только форму аргументов. Второй JSON фиксирует allow, ask или deny. Если нет одного из документов, шлюз не должен отправлять вызов в подключенное приложение.
Что реально вышло вчера
Разделите три объявления, иначе снижение цены примут за схему прав.
| Имя | Статус в тот день | Связь с JSON |
|---|---|---|
gpt-6.1-sol |
Выпущен. Имя модели API gpt-6.1-sol, цена около пятой части стандартных тарифов Astra. | Более дешевая модель не меняет аргументы инструмента. Тело вызова все равно проходит ту же схему. |
| GPT-6.1 Astra | Не выпущен по плану. Сообщения говорят, что в тестах задачи и инструменты шли без разрешения. | Решение модели продолжать само не заменяет JSON допуска на шлюзе. |
| Dots | Открыт для ChatGPT Pro и Business Premium. Постоянный, с приложениями и своим облачным компьютером. | Фоновый вызов должен совпадать по одному call_id с результатом схемы и решением о допуске. |
Страница модели — это документация GPT-6.1 Sol. Там возможности и цена. Вызов инструмента Dots там не зафиксирован как один JSON. Три документа ниже — контракт приложения.
Три JSON до выполнения
Прежде чем шлюз отправит действие в календарь, почту или заявку, эти три документа должны лежать на диске с одним call_id.
- Схема инструмента: какие поля принимаются, какие обязательны и можно ли добавлять лишние.
- JSON вызова: имя инструмента и аргументы, которые этот Dot собирается использовать. Еще ничего не выполнено.
- Решение: allow, ask или deny, плюс причина, список разрешенных инструментов и срок.
Порядок такой: форма, затем допуск, затем выполнение. Если схема не прошла, не просите человека одобрить неверный вызов. Если решение не allow, не запускайте его только потому, что JSON читается.
Схема и тело вызова
Эта схема описывает один инструмент: создание события в календаре. additionalProperties равен false, поэтому адрес пересылки или поле скрипта проваливают проверку.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": ["tool", "args"],
"properties": {
"tool": { "const": "calendar.create_event" },
"args": {
"type": "object",
"additionalProperties": false,
"required": ["title", "start"],
"properties": {
"title": { "type": "string", "minLength": 1, "maxLength": 120 },
"start": { "type": "string", "format": "date-time" },
"attendees": {
"type": "array",
"maxItems": 20,
"items": { "type": "string", "format": "email" }
}
}
}
}
}
Еще не выполненный вызов может выглядеть так. Он проходит схему: имя инструмента зафиксировано через const, участники — массив адресов, start — date-time.
{
"call_id": "call_9f2c",
"dot_id": "dot_support",
"tool": "calendar.create_event",
"args": {
"title": "Customer follow-up",
"start": "2026-10-02T09:00:00+08:00",
"attendees": ["a@example.com"]
}
}
Успех значит только то, что форма верна. Нужно ли реально звать внешнего участника, решает следующий JSON.
Решение о допуске
Сохраните решение на том же call_id. Здесь ask, потому что действие создает событие для внешнего участника. Шлюз ничего не отправляет, пока человек не подтвердит и решение не станет allow.
{
"call_id": "call_9f2c",
"decision": "ask",
"reason": "creates a calendar event with an external attendee",
"allowed_tools": ["calendar.create_event", "calendar.list_events"],
"expires_at": "2026-09-30T18:00:00+08:00"
}
| decision | Что делает шлюз |
|---|---|
allow |
Выполнять только если имя инструмента есть в allowed_tools и expires_at не истек. Результат хранить отдельным JSON. Исходный вызов не переписывать. |
ask |
Поставить на паузу. Показать причину. Без новой записи allow подключенное приложение не вызывать. |
deny |
Не выполнять. Вернуть причину агенту, чтобы он остановил это действие, а не молча повторил попытку другим инструментом. |
Если очередь одобрения на стороне Claude уже есть, поля можно выровнять, но не смешивайте два продукта в одно тело запроса. Шаги — в материале Права агента Claude: политика и одобрение.
Когда отказывать сразу
Эти случаи отвечайте deny. Не снижайте их до схемы сначала выполнить, потом записать журнал.
- Тело вызова не проходит схему: лишнее поле, неверный тип или превышен maxItems.
- Имени инструмента нет в allowed_tools этого Dot. Более дешевая модель не расширяет список.
- Допуска нет, он истек, или decision не равен allow.
- У одного call_id два противоречащих решения. Оставьте записанное первым и отклоните позднюю перезапись.
За список инструментов кто-то все равно отвечает. Кто объявляет инструмент, кто проверяет аргументы и кто одобряет чувствительный вызов, разобрано в Безопасность MCP: на каком слое права вызова инструмента.
Сначала проверить в JSONNote
Прежде чем подключать Dots или другого постоянного агента, прогоните эти три примера локально.
- Если тело вызова — не корректный JSON, схема бесполезна. Начните с форматирования JSON и убедитесь, что оно читается.
- Вставьте схему инструмента и тело вызова в проверку JSON Schema. Одно лишнее поле должно давать ошибку.
- Сравните JSON допуска до и после подтверждения через сравнение JSON. decision должен смениться с ask на allow, остальные поля остаются.
Вопросы
Почему GPT-6.1 Astra не вышел на DevDay?
Публичные сообщения говорят, что во внутренних тестах задачи и внешние инструменты шли без разрешения пользователя. OpenAI не выпустил GPT-6.1 Astra по плану и в тот же день выпустил более дешевый GPT-6.1 Sol.
Что такое Dot и чем он отличается от ChatGPT?
OpenAI описывает Dots как постоянных агентов с подключенными приложениями и своим облачным компьютером. ChatGPT — это диалог по ходам. У Dot есть личность, учетные данные и инструменты, поэтому каждому вызову нужна проверяемая JSON-запись.
Если JSON Schema прошла, можно ли выполнять инструмент?
Нет. Схема говорит только, что аргументы имеют допустимую форму: заголовок, время, адреса почты. Она не говорит, что этот Dot может создать событие для внешнего участника. Нужен еще JSON допуска, где decision равен allow.
Эти три JSON — официальное тело запроса OpenAI?
Нет. Схема, вызов и решение в этом тексте — ваш контракт приложения, записанный до реального запуска инструмента. Имена полей принадлежат вашему шлюзу, а не официальному телу Dots или Responses API.
Чем это отличается от статьи про права Claude на этом сайте?
Та статья показывает, как писать политику, очередь одобрения и возврат отказа. Эта — только про новую задачу после DevDay: постоянный агент уже держит учетные данные в фоне, поэтому каждому вызову нужны и проверка формы, и решение о допуске.
Сначала проверьте, потом дайте агенту выполнить
Вставьте схему календаря и тело вызова в проверку. Если форма не прошла, не переходите к вопросу о допуске.