AI-разработка

AI Agent сам выходит в сеть, пишет код и выполняет задачи? От Browser Agent до JSON Tool Calling

Около 15 мин

Страницы продуктов пишут «сам выходит в сеть, пишет код и выполняет задачи».Более точная инженерная фраза: модель только заполняет JSON; хост открывает браузер, правит файлы и вызывает API.Этот текст идёт от Browser Agent к JSON Tool Calling и отвечает на три вопроса: делает ли он работу сам? Кто делает её на самом деле? Какой объект проверять?

Коротко

Понятие Одна строка Куда садится
Browser Agent Структурные действия против страницы или рабочего стола computer_use / browser JSON
Coding Agent Читать репозиторий, править файлы, гонять команды tool_use / Bash
Task Agent Вызывать бизнес-API, писать состояние, передавать tool_calls / arguments
JSON Tool Calling Контракт имён, аргументов и результатов Schema / payload

Сначала разделение: модель предлагает объекты, хост исполняет побочные эффекты. Смените марку — цепочка JSON-вызова останется.

Работу делает. «Сам» — нет

Агент 2026 года умеет открывать страницы, заполнять формы, экспортировать; читать репозиторий, править файлы, гонять тесты; смотреть заказ, начинать возврат, передавать дальше. Это настоящие побочные эффекты, не пузыри чата.

Слово «сам» ставит подлежащее не туда. Большая модель не владеет процессом браузера, не spawn'ит оболочку и не бьёт во внутреннюю сеть. Она только выдаёт проверяемый объект: имя инструмента, аргументы, иногда следующее намерение. Кликает хост.

  • Выйти в сеть: модель выдаёт browser_navigate или computer_call; песочница браузера хоста исполняет.
  • Писать код: модель выдаёт Read / Edit / Bash; рабочая область хоста исполняет.
  • Выполнить задачу: модель выдаёт tool_calls; хост вызывает API или поток.

Если вы ещё склеиваете Agent, Tool Calling и Function Calling в одно слово, начните с Полный гид по AI Agent. Эта статья про одно: три продуктовые оболочки, одна цепочка JSON-вызова.

Три оболочки, одна таблица инструментов

Рынок называет продукты Browser Agent, Coding Agent, Computer Use, Operator, ChatGPT Agent. Оболочки разные. Таблица одна: что он может, зависит от того, какие инструменты выставил хост.

  • Browser Agent: вкладки, скриншоты, клики, извлечение DOM. Лучшее демо; права легче всего недооценить.
  • Coding Agent: репозиторий, патч, тесты, терминал. Меняет диск и процессы.
  • Task Agent: заказы, тикеты, календарь, возвраты. Меняет бизнес-системы.

Не покупайте способность по марке. Покупайте по таблице инструментов. Нет browser-инструмента — в сеть не выйдет. Нет Bash — не отдаст исполняемый патч. Нет бизнес-функции — не сделает возврат.

JSON Tool Calling — общий каркас

Tool Calling, Function Calling и computer_use носят разные имена и одну форму. Один ход обычно четыре прыжка:

  1. Объявить: хост даёт tools[] или inputSchema.
  2. Предложить: модель заполняет имя инструмента и объект аргументов. Сама не исполняет.
  3. Шлюз: хост проверяет, ставит allowlist и решает, ждать ли человека.
  4. Записать назад: скриншот, stdout или ответ API становится следующим видимым объектом.

Поэтому Schema дороже промпта. Промпт влияет на то, что она заполнит; Schema и хост решают, что может случиться. Контракт в Зачем ИИ нужен JSON Schema; граница протокола в MCP Tool Schema vs Function Calling.

Browser Agent: в сеть выходит не модель

Browser Agent больше всего похож на «сам выходит в сеть». Вкладка действительно движется. Действие всё равно объект.

Структурный Browser Agent — стиль Playwright, browser-инструменты Claude, многие MCP-браузеры — выдаёт проверяемую навигацию:

{
  "type": "tool_use",
  "id": "call_nav_1",
  "name": "browser_navigate",
  "input": {
    "url": "https://docs.example.com/api/orders",
    "wait_until": "domcontentloaded"
  }
}

Computer use / Operator у OpenAI ближе к координатным действиям. Модель видит скриншот или дерево доступности и выдаёт клик, ввод, прокрутку:

{
  "type": "computer_call",
  "call_id": "call_8c12",
  "action": {
    "type": "click",
    "x": 412,
    "y": 268
  }
}

Не читайте ни одну форму как «модель увидела страницу, поэтому кликнула». В контекст вошли пиксели или дерево; кликнул хост. Запирайте аргументы, не рекламный текст:

  • Allowlist URL: по умолчанию документация, статус-страницы и объявленные домены.
  • Без лишних заголовков: Cookie и Authorization не должны попасть в объект аргументов.
  • Извлекать со Schema: экспортируйте поля, не целую HTML-страницу.
  • Сессия остаётся на хосте: состояние входа — политика песочницы, не веса модели.

Сжатая Schema навигации выглядит так. additionalProperties: false — не педантизм: широкий object даёт модели протащить внутренний URL или скрипт:

{
  "name": "browser_navigate",
  "description": "Open a URL in the isolated browser",
  "inputSchema": {
    "type": "object",
    "properties": {
      "url": { "type": "string", "format": "uri" },
      "wait_until": {
        "type": "string",
        "enum": ["load", "domcontentloaded"]
      }
    },
    "required": ["url"],
    "additionalProperties": false
  }
}

Гид по GPT-6 Astra пишет browsing и computer use как одну способность. В инженерии это всё ещё JSON инструмента. Широкий browser-инструмент отдаёт сессию циклу; поверхность безопасности в Безопасность AI Agent и проверка JSON.

Coding Agent: на диск пишет не модель

AI Coding Agent и цепочка JSON-вызова уже разобрал Claude Code и GPT Agent. Одна фраза, чтобы встать рядом с Browser Agent: писать код — тоже заполнять JSON.

{
  "type": "tool_use",
  "id": "call_read_1",
  "name": "Read",
  "input": {
    "path": "src/billing/refund.py"
  }
}

Модель не делает open() файла. Хост читает и пишет tool_result. Только тогда следующий ход может выдать Edit или Bash.

От выхода в сеть отличается только поверхность инструментов: с одной стороны url / selector / screenshot; с другой path / command / patch. Цикл тот же.

Выполнить задачу: побочные эффекты в API, не в весах

«Выполнить задачу» — фраза, которую продуктовый текст глотает первым. Возвраты, маршрутизация тикетов, записи в календарь — это Task Agent. Форма всё ещё Function Calling:

{
  "tool_calls": [{
    "id": "call_task_3",
    "type": "function",
    "function": {
      "name": "create_ticket",
      "arguments": "{\"title\":\"Refund A-1042\",\"priority\":\"high\"}"
    }
  }]
}

Опасность здесь не в прозе. Она в широком object. Потолки сумм, enum и additionalProperties: false живут в Schema, не в «пожалуйста, будьте осторожны».

Передача между агентами тоже JSON. Объект handoff аудируемее, чем «передайте в биллинг». Инструменты и потоки как Schema — см. JSON Schema и потоки AI Agent.

Один ход — четыре прыжка

Страницы продуктов пишут «завершает работу автономно». В инженерии Browser, Coding и Task идут одними и теми же четырьмя прыжками:

  1. Наблюдать: скриншот, состояние репозитория и последний результат инструмента входят в контекст.
  2. Предложить: модель выдаёт имя инструмента и объект аргументов.
  3. Исполнить: хост открывает страницу, правит файл или бьёт в API. Побочные эффекты здесь.
  4. Записать назад: краткое DOM, stdout или тело ответа становится следующим видимым объектом.

Пропустите шлюз — и JSON станет командой. Auto-mode значит: вы заранее согласились на класс объектов. Смените оболочку — цикл останется.

Три таблицы, одна цепочка

Вопрос не в том, кто умнее. Вопрос в том, какую таблицу инструментов хост вешает на цикл:

Ось Browser Agent Coding Agent Task Agent
Что видит Скриншот / DOM / дерево a11y Файлы, тесты, вывод терминала Бизнес-объекты, состояние прошлого прыжка
Что выдаёт navigate / click / type Read / Edit / Bash lookup / create / handoff
Куда садятся побочные эффекты Песочница браузера, состояние входа Диск рабочей области, процессы Бизнес-API, нижестоящие системы
Что запираете URL, Cookie, Schema извлечения cwd, таймаут, сетевой шлюз Сумма, enum, обязательные поля

Смените марку — цикл останется. Стабилизируйте контракт инструментов и мир исполнения, не демо-ролик.

Проверяйте объекты, не демо-видео

После того как агент «вышел в сеть, написал код и выполнил задачу», смотрите не последнюю фразу «готово». Смотрите след.

  • форматировать tool_use / tool_calls / computer_call и проверьте, что имя и аргументы — тот прыжок, который вы думали.
  • Достаньте извлечение JSONPath поля url, command и name. Не сканируйте прозу глазами.
  • JSON Diff со следом, который прошёл на прошлой неделе. Если цикл уплыл, сначала смотрите таблицу инструментов и форму аргументов, потом модель.
  • Скриншоты, stdout и ответы API принадлежат следу. Фраза «завершено» — нет.
  • Не вставляйте cookie, сессии и внутренние URL в публичный форматтер. JSONSort работает локально в браузере; это правильное место читать эти объекты.

Если след можно собрать заново, сессию можно разобрать. Это билет в прод, не украшение.

Ошибки

  • Думать, что модель сама открыла страницу. Открыл процесс браузера хоста.
  • Думать, что модель сама исполнила код. Исполнение живёт на хосте, не в весах.
  • Смотреть демо и пропускать JSON инструментов. Клик или команда могли уже произойти.
  • Дать браузеру пустой чек. Без URL-шлюза и изоляции cookie цикл — утечка сессии.
  • Заменить Schema промптом. Контракт должен проверяться.
  • Считать трёх агентов тремя видами интеллекта. Это три таблицы инструментов, не три мозга.

FAQ

AI-агент сейчас правда сам выходит в сеть?

Он умеет открывать страницы, кликать, извлекать. Браузером он не владеет. Модель заполняет JSON; песочница хоста исполняет. Нет browser-инструмента — в сеть не выйдет.

Чем Browser Agent отличается от Computer Use?

Оба управляют интерфейсом. Browser Agent чаще идёт селекторами, навигацией и извлечением DOM; Computer Use / Operator — скриншотами и координатами. Оба — структурные вызовы, не модель с руками.

Написание кода и выполнение задач — другой протокол?

Нет. Read / Bash у Coding Agent и Function Calling у Task Agent делят ту же цепочку JSON-вызова, что и Browser Agent. Меняется таблица инструментов и радиус побочных эффектов.

Почему JSON, а не более умная модель?

Потому что побочные эффекты случаются после разбора объекта. Более умная модель всё равно может заполнить неверный URL или сумму. Schema и шлюзы хоста решают, что может случиться.

Стоит ли давать агенту прод-логин или прод-базу?

Нет. Пусть готовит черновик в изолированном браузере и рабочей области и оставляет след. Логин, секреты и релиз остаются человеческими стратегическими шлюзами. Цикл пишет черновик; шлюз выпускает.

Вывод

«AI-агент выходит в сеть, пишет код и выполняет задачи» верно лишь наполовину. Верная половина — побочные эффекты уже происходят. Ложная — подлежащее. Подлежащее — хост, сказуемое — исполнять, дополнение — JSON, который заполнила модель.

С сегодняшнего дня меньше спорьте, делает ли он это «сам». Сначала запишите в репозиторий три таблицы инструментов Browser, Coding, Task, Schema и след сессии. Модели сменятся; эта цепочка JSON Tool Calling должна стабилизироваться первой. Как из той же цепочки растут инциденты: Инциденты Claude и tool JSON.

Дальше читать

Журнал изменений: Первая публикация