OpenAI провела очередной выпуск Build Hour, полностью посвященный развитию Agents SDK — инструментария для создания автономных ИИ-агентов. Ведущие Кристина и Стив, инженер команды API в OpenAI, обсудили переход от простых чат-ботов к сложным системам, способным выполнять задачи на протяжении дней и даже недель, а также представили технические обновления, упрощающие деплой таких решений в продакшен.
🤖 Эволюция агентов: от коротких сессий к долгосрочным задачам 1:44
По словам Стива, современные модели становятся все более эффективными при выполнении работы на длинных траекториях . В качестве примера он привел внутренние инструменты OpenAI:
- Codex: Инструмент для написания кода, который может работать над задачей от нескольких минут до часа. Внутренние тесты показывают, что при определенных условиях Codex способен выполнять автономные задачи в течение недели .
- Security Agent: Агент на базе Codex, специализирующийся на поиске уязвимостей в legacy-коде и критически важных репозиториях OpenAI .
- Data Agent: Внутренний инструмент, подключенный к озерам данных (data lakes), который переводит сложные запросы на естественном языке в SQL и выдает ответы за минуты вместо часов ручного написания кода .
Несмотря на эти успехи, Стив подчеркивает, что создание агентов промышленного уровня остается сложной задачей. Разработчикам приходится балансировать между производительностью и гибкостью платформы, а также решать проблемы изоляции среды (sandbox), управления секретами и восстановления состояния после сбоев .
🏗 Архитектура Agents SDK: разделение логики и вычислений 4:47
Главным обновлением Agents SDK стало внедрение "harness" (обвязки) в стиле Codex, которая отделяет оркестрацию агента от среды вычислений (compute) .
Стив выделил несколько проблем старого подхода, когда логика агента и его рабочая среда (файловая система) были неразрывно связаны:
- Нагрузка на песочницу: Если контейнер с агентом «умирает», все состояние (state) теряется без возможности восстановления .
- Безопасность: Хранение секретов внутри песочницы делает систему уязвимой для атак через инъекции промптов (prompt injection) .
Новая архитектура позволяет рассматривать песочницу как эфемерный объект. Вся логика и управление секретами остаются в надежной инфраструктуре разработчика (например, в AWS или Temporal), а песочница используется только для выполнения конкретных команд. SDK берет на себя автоматическое создание снимков (snapshots) файловой системы и их «регидратацию» (восстановление) при перезапуске задачи .
Ключевые возможности обновленного SDK:
- Интеграция с провайдерами песочниц: Поддержка Docker, Modal, E2B, Cloudflare, Vercell и других .
- Асинхронный шелл: Агент может запустить команду, заняться другими делами и вернуться за результатом позже .
- Управление памятью: Агенты могут обучаться на прошлых ошибках и улучшать выполнение задач со временем .
💻 Новые возможности API и Skills 11:30
Помимо SDK, OpenAI обновила основной API, добавив инструменты для упрощения работы с агентами:
- Hosted Shell Tool: Легковесная версия песочницы внутри Responses API. Позволяет загрузить файлы, выполнить код в изолированном контейнере и получить результат одним вызовом API .
- Контроль сети: Возможность ограничивать доступ контейнеров в интернет или задавать «белые списки» доменов для повышения безопасности .
- Skills API: Централизованное хранилище «навыков» (skills) — наборов инструкций и скриптов для специфических задач (например, подготовка налоговой отчетности). Поддерживается версионность и интеграция с GitHub .
Стив также анонсировал долгожданный релиз версии Sandbox Agent на TypeScript, которая теперь доступна наряду с версией на Python .
🛠 Практический демо-кейс: Создание агентского трекера задач 14:08
В ходе живой демонстрации Стив показал процесс автоматизации планирования конференции с помощью агентов.
Шаг 1: Определение агента и Docker-песочницы 16:14
Разработка началась с создания SandboxAgent — подкласса стандартного агента, которому были переданы инструкции по редактированию программных ассетов. В качестве базовой среды использовался локальный Docker-контейнер с образом Python 3.12 . Агент автоматически получил доступ к загруженным файлам и начал их анализ через выполнение консольных команд .
Шаг 2: Использование навыков (Skills) из Git 18:22
Стив продемонстрировал, как подключить к агенту репозиторий GitHub в качестве источника навыков. Это позволяет использовать Git для ревью изменений в инструкциях агента и управления версиями. Благодаря "capability" (способностям) SDK, агент может не только читать файлы навыков, но и использовать специализированные инструменты, такие как apply_patch для точечного редактирования кода .
Шаг 3: Перенос в облако и снапшоты 23:08
Для промышленного использования агент был переведен из Docker в облачную среду Modal. Стив показал, как снимки файловой системы автоматически сохраняются в хранилище Cloudflare R2 . При возобновлении задачи SDK скачивает архив (tarball), разворачивает его в новом контейнере, и агент продолжает работу с того же места, «не замечая» смены инфраструктуры .
Шаг 4: Инструменты и подтверждение действий (Human-in-the-loop) 27:32
Были добавлены функции (function tools) для обновления статуса задач и назначения исполнителей. Для критических действий, таких как перевод задачи в статус "Done", был настроен хук одобрения . Агент приостанавливает выполнение и ждет подтверждения от человека в интерфейсе, прежде чем вызвать функцию .
Шаг 5: Монтирование внешних данных (R2/S3 Mount) 33:08
Для работы с большими объемами данных или часто меняющимися файлами SDK поддерживает прямое монтирование бакетов (R2/S3). По мнению Стива, это критично для соблюдения условий актуальности данных (freshness constraint) . Агент видит внешнее хранилище как локальную папку, что избавляет от необходимости долгого копирования файлов при каждом запуске контейнера .
❓ Ответы на вопросы: Ответственность и масштабирование 37:56
В сессии ответов на вопросы к дискуссии присоединился Ниш, менеджер по продукту в области агентов.
Когда использовать SDK вместо обычного API? Стив считает, что API Responses лучше подходит для быстрых разовых задач (перевод, структурирование данных). SDK же раскрывает свой потенциал в задачах с длинным горизонтом планирования, где важна тесная интеграция с инструментами Codex и средой выполнения .
Как управлять состоянием долгоживущих агентов? Ниш пояснил, что SDK уникален тем, что сохраняет не только историю сообщений, но и состояние всей файловой системы. Это позволяет «замораживать» агентов на дни и возобновлять их работу без потери контекста .
Может ли один «супервизор» управлять сотнями агентов? По мнению Стива, это вполне возможно уже сейчас через механизмы передачи задач (handoffs) или использование общих файловых систем и баз данных для коммуникации . Он ожидает, что массово-параллельная работа агентов станет стандартом в ближайшем будущем .