Дата публикации
ai_products

OpenAI обновила Agents SDK: песочницы, память и файловая система для «длинных» ИИ-агентов

Что нового

OpenAI обновила Agents SDK — набор инструментов для разработчиков, которые строят ИИ-агентов поверх GPT-5.4 и других моделей OpenAI.

Ключевые изменения:

  1. Новый «harness» для агентного цикла
    Стандартная обвязка для агентов, которая:

    • работает с файлами и документами, а не только с текстом;
    • поддерживает настраиваемую память (agent state);
    • умеет оркестрировать работу с учётом песочниц (sandbox-aware orchestration);
    • даёт «Codex-подобные» инструменты файловой системы: чтение, запись, редактирование кода и файлов;
    • стандартно интегрируется с популярными примитивами агентных систем:
      • MCP для использования инструментов;
      • skills для поэтапного раскрытия возможностей (progressive disclosure);
      • AGENTS.md для кастомных инструкций;
      • shell tool для выполнения кода и команд;
      • apply patch tool для правок файлов.
  2. Нативная поддержка песочниц (sandbox execution)
    Теперь SDK по умолчанию умеет запускать агента в контролируемой среде, где он может:

    • читать и писать файлы;
    • устанавливать зависимости;
    • запускать код;
    • использовать инструменты в изолированном окружении.

    Поддерживаются:

    • собственные песочницы разработчика;
    • готовые интеграции: Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel.
  3. Manifest для описания рабочей среды агента
    Новый абстрактный слой, который описывает рабочее пространство:

    • какие локальные директории примонтировать;
    • куда писать выходные данные;
    • как подключать данные из хранилищ: AWS S3, Google Cloud Storage, Azure Blob Storage, Cloudflare R2.
  4. Разделение harness и compute
    Обвязка агента (управление состоянием, оркестрация) отделена от среды выполнения кода:

    • повышает безопасность (секреты не попадают в код, который пишет модель);
    • даёт «долговечные» запуски через снапшоты и восстановление (snapshotting и rehydration);
    • позволяет масштабировать агента по нескольким песочницам и контейнерам.
  5. Доступность и цены

    • Новые возможности доступны через API всем клиентам OpenAI.
    • Стоимость — по стандартной схеме OpenAI: оплата за токены и использование инструментов (tool use).
    • Первыми поддержку получают проекты на Python.
    • TypeScript поддержка запланирована на будущее.
    • В планах: code mode и subagents для Python и TypeScript.
  6. Фокус на enterprise-кейсах
    OpenAI явно нацелилась на корпоративные сценарии. В пилоте участвовали:

    • Oscar Health
    • Actively
    • LexisNexis
    • FurtherAI
    • Thomson Reuters
    • Zoom
    • Tomoro AI

    Oscar Health, например, смогла автоматизировать критичный workflow по клиническим записям. Раньше это было нестабильно: модель путалась в границах «эпизодов» в длинных медицинских документах. Новый SDK сделал процесс достаточно надёжным для продакшена.

Как это работает

Harness: стандартная обвязка для агентного цикла

Agents SDK даёт готовый каркас, который управляет жизненным циклом агента:

  • принимает задачу от пользователя;
  • решает, когда звать инструменты через MCP;
  • когда читать/писать файлы;
  • когда запускать shell или вносить правки в файлы через apply patch;
  • как сохранять и использовать память между шагами;
  • как организовать работу с учётом песочницы.

Вместо того чтобы самим собирать «оркестратор» вокруг GPT-5.4, разработчики используют готовый Runner и конфиги RunConfig/SandboxRunConfig.

Harness встроенно поддерживает:

  • MCP (Model Context Protocol) — единый способ подключать инструменты к модели;
  • skills — поэтапное раскрытие возможностей: агент не получает доступ ко всем инструментам сразу, а только к тем, что нужны по ходу задачи;
  • AGENTS.md — файл с инструкциями для агента, который становится частью его контекста;
  • shell tool — выполнение команд и кода в песочнице;
  • apply patch tool — редактирование файлов через патчи, а не произвольную перезапись.

Память и долгие задачи

Harness позволяет конфигурировать память агента. Это особенно важно для задач, которые:

  • включают десятки и сотни шагов;
  • требуют многократной работы с файлами и системами;
  • должны выдерживать сбои среды выполнения.

Состояние агента хранится вне песочницы. Если контейнер с песочницей «умирает» или истекает по таймауту, SDK поднимает новую среду, восстанавливает состояние из снапшота и продолжает выполнение.

Песочницы и Manifest

Agents SDK умеет работать с песочницами на уровне API:

  • разработчик описывает, какие ресурсы нужны агенту;
  • SDK поднимает или подключает песочницу через клиента (например, UnixLocalSandboxClient или внешнего провайдера);
  • модель получает предсказуемое рабочее пространство.

Manifest — это декларативное описание среды. В нём можно указать:

  • какие локальные директории примонтировать (например, data/);
  • какие каталоги использовать под вывод результатов;
  • какие удалённые хранилища подключить.

Это делает окружение переносимым:

  • локальный прототип и продакшен в облаке описываются одним и тем же Manifest;
  • разные провайдеры песочниц читают одну и ту же схему.

Разделение harness и compute

OpenAI строит Agents SDK так, будто агенту будут пытаться подсунуть prompt injection и украсть данные. Для этого:

  • код, который пишет GPT-5.4 и запускает shell tool, работает в ограниченной песочнице без секретов;
  • harness управляет секретами, состоянием и оркестрацией снаружи;
  • песочницы можно поднимать по требованию, параллелить и изолировать друг от друга.

Если песочница падает:

  • состояние агента уже сохранено во внешнем сторе;
  • SDK разворачивает новую песочницу;
  • восстанавливает агент из последнего снапшота;
  • продолжает выполнение.

Что это значит для вас

Когда Agents SDK полезен

Agents SDK имеет смысл использовать, если вы:

  1. Строите сложных ИИ-агентов, а не просто чат-бота.
    Например:

    • анализ документов и подготовка отчётов на основе файлов;
    • обработка медицинских, юридических, финансовых записей;
    • автоматизация внутренних процессов: тикеты, заявки, отчётность;
    • DevOps/инфраструктурные агенты, которые пишут и правят код, запускают команды.
  2. Нуждаетесь в контролируемой среде исполнения.
    Если агент:

    • запускает произвольный код;
    • имеет доступ к данным компании;
    • работает с секретами и приватными хранилищами, — песочницы с чётко описанным Manifest и разделением harness/compute помогут снизить риск утечки.
  3. Планируете долгие и надёжные запуски.
    Вам важны:

    • устойчивость к падению контейнеров;
    • возможность продолжить задачу после сбоя;
    • параллельное выполнение подзадач в разных песочницах.
  4. Хотите меньше тратить время на инфраструктуру.
    Если вы не хотите сами писать оркестратор, менеджер памяти, интеграции с MCP и файловой системой, Agents SDK закрывает большую часть этой работы.

Когда можно обойтись без этого SDK

Agents SDK может быть избыточен, если:

  • вы делаете простой чат-бот на GPT-5.4 без работы с файлами и кодом;
  • вам не нужны песочницы и сложные инструменты;
  • вы уже используете готовый управляемый API для агентов, где инфраструктура скрыта.

В таких случаях хватит прямого вызова API OpenAI или более лёгкой обвязки.

Ограничения и доступность

  • Новые возможности сейчас доступны в первую очередь для Python. Если ваш стек — TypeScript/JavaScript, придётся подождать официальной поддержки.
  • Продукты OpenAI требуют доступа к API OpenAI. В России он может быть ограничен, поэтому часто нужен VPN и платёжный инструмент, который OpenAI принимает.
  • Цены считаются по токенам и использованию инструментов. Если вы запускаете тяжёлые агентные сценарии с большим количеством шагов и файлов, важно заранее закладывать бюджет.

Практический совет по применению

  • Если вы стартап или команда R&D и только тестируете агентные сценарии — начните с локальной песочницы и UnixLocalSandboxClient, затем перенесите Manifest в облако.
  • Если вы enterprise-команда с чувствительными данными — используйте разделение harness/compute, песочницы от проверенных провайдеров и минимальный набор инструментов, к которым у агента есть доступ.
  • Если вы ML/ML Ops-инженер — подумайте о том, чтобы вынести логику домена (правила, политики, валидации) поверх готового harness, а не переписывать его.

Место на рынке

Agents SDK конкурирует не с моделями вроде GPT-5.4 или Claude 4, а с инфраструктурой для агентов:

  • модель-агностичные фреймворки (свои пайплайны, open source-решения);
  • SDK от конкретных провайдеров моделей;
  • управляемые API для агентов, где всё «под капотом».

OpenAI делает ставку на три вещи:

  1. Близость к модели.
    Harness спроектирован под поведение «фронтирных» моделей OpenAI. Это должно повысить надёжность на сложных задачах, особенно когда агент много шагов подряд пишет код, читает файлы и вызывает инструменты.

  2. Прозрачность и управляемость.
    В отличие от полностью управляемого API, вы контролируете:

    • где крутится код;
    • как устроена песочница;
    • какие хранилища и директории доступны;
    • как хранится состояние агента.
  3. Стандартные примитивы вместо самописной инфраструктуры.
    MCP, skills, AGENTS.md, shell, apply patch — это уже устоявшиеся элементы агентных систем. Поддержка их «из коробки» снижает порог входа и экономит время команд, которые раньше собирали всё вручную.

При этом OpenAI не даёт численных сравнений по скорости, стоимости владения или надёжности по сравнению с альтернативами. Основной аргумент — удобство и «правильная» интеграция с GPT-5.4 и другими моделями OpenAI.

Если вы уже сильно вложились в собственный фреймворк или сторонний стек, переход на Agents SDK потребует миграции. Но для команд, которые только строят инфраструктуру под агентов, этот SDK может стать базовым слоем поверх API OpenAI.

Установка

Agents SDK доступен для Python. В примере от OpenAI используется пакет openai-agents версии не ниже 0.14.0.

Команда установки:

# pip install "openai-agents>=0.14.0"

Как запустить: пример кода

Ниже — полный пример от OpenAI. Агент анализирует финансовые метрики из локального файла metrics.md в контролируемой песочнице.

# pip install "openai-agents>=0.14.0"

import asyncio
import tempfile
from pathlib import Path

from agents import Runner
from agents.run import RunConfig
from agents.sandbox import Manifest, SandboxAgent, SandboxRunConfig
from agents.sandbox.entries import LocalDir
from agents.sandbox.sandboxes import UnixLocalSandboxClient


async def main() -> None:
    with tempfile.TemporaryDirectory() as tmp:
        dataroom = Path(tmp) / "dataroom"
        dataroom.mkdir()
        (dataroom / "metrics.md").write_text(
            """# Annual metrics

| Year | Revenue | Operating income | Operating cash flow |
| --- | ---: | ---: | ---: |
| FY2025 | $124.3M | $18.6M | $24.1M |
| FY2024 | $98.7M | $12.4M | $17.9M |
""",
            encoding="utf-8",
        )

        agent = SandboxAgent(
            name="Dataroom Analyst",
            model="gpt-5.4",
            instructions="Answer using only files in data/. Cite source filenames.",
            default_manifest=Manifest(entries={"data": LocalDir(src=dataroom)}),
        )

        result = await Runner.run(
            agent,
            "Compare FY2025 revenue, operating income, and operating cash flow with FY2024.",
            run_config=RunConfig(
                sandbox=SandboxRunConfig(client=UnixLocalSandboxClient()),
            ),
        )
        print(result.final_output)


if __name__ == "__main__":
    asyncio.run(main())

Что здесь происходит:

  • создаётся временная директория и файл metrics.md с табличкой по выручке, операционной прибыли и денежному потоку за FY2024 и FY2025;
  • агент Dataroom Analyst использует модель gpt-5.4 и жёсткую инструкцию: отвечать только на основе файлов из data/ и указывать имена файлов как источники;
  • Manifest монтирует локальную директорию dataroom как data внутри песочницы;
  • UnixLocalSandboxClient поднимает локальную песочницу для выполнения работы агента;
  • Runner.run запускает агентный цикл с вопросом о сравнении метрик FY2025 и FY2024;
  • в конце выводится финальный ответ агента.

Этот пример можно взять как шаблон для своих задач: поменять содержимое файлов, инструкции и модель, но сохранить общую структуру с Manifest, SandboxAgent и Runner.


Читайте также