openai/openai-agents-python

A lightweight, powerful framework for multi-agent workflows

Агенты⭐ 29 591Pythonпоследний релиз: v0.22.3
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

OpenAI Agents SDK — это легковесный фреймворк на Python для создания многоагентных рабочих процессов, поддерживающий более 100 LLM.

Зачем нужен

Инструмент позволяет строить сложные цепочки взаимодействий между агентами, делегируя задачи специализированным модулям через handoffs. Он полезен для разработки надежных приложений, требующих контроля безопасности, отладки через tracing и участия человека в процессе выполнения.

Что можно реализовать

  • Создание многоагентных систем с делегированием задач (handoffs) между специализированными агентами
  • Разработка голосовых агентов в реальном времени с использованием gpt-realtime-2
  • Выполнение агентами действий в изолированной среде (Sandbox Agents) с доступом к файловой системе
  • Внедрение механизмов Human in the loop для контроля решений агента человеком
  • Отладка и оптимизация сложных рабочих процессов с помощью встроенного tracing

Ключевые возможности

  • Поддержка 100+ LLM и провайдеров (provider-agnostic) через API Chat Completions и Responses
  • Встроенная поддержка Sandbox Agents для работы с файлами и выполнением команд в контейнерах
  • Гибкая система guardrails для валидации входных и выходных данных
  • Автоматическое управление историей диалога через Sessions
  • Поддержка MCP (Model Context Protocol) и интеграция с LiteLLM/any-llm

👤 Кому подойдёт: разработчики Python, создающие сложные AI-приложения и многоагентные системы

Релизы

v0.22.3patch
🕐 3 дн назад · релиз на GitHub ↗

Исправления в ядре, песочнице, сессиях и трейсинге, а также обновление зависимостей и документации.

  • Fixed: Исправлена синхронизация условных согласований с валидированными аргументами инструментов.
  • Fixed: Устранена ошибка доставки результата tool-not-found при восстановлении сессии на сервере.
  • Fixed: Исправлена обработка путей команд POSIX в песочнице на хостах Windows.
  • Fixed: Решена проблема конкурентного запуска SQLite в сессиях и исправлено ограничение лимита сессий.
  • Fixed: Исправлено кэширование отсутствующего ключа OPENAI_API_KEY в модуле трассировки.
  • Fixed: Обновлены зависимости, включая FastAPI, SQLAlchemy, cryptography и другие пакеты безопасности.
v0.22.2patch
🕐 12 дн назад · релиз на GitHub ↗

Исправлены гонки в файловом API sandbox, сброс цепочки ответов в сессиях и добавлена поддержка параметров генерации изображений.

  • Fixed: Исправлены гонки синтаксических ссылок в UnixLocal файловом API sandbox.
  • Fixed: В сессиях теперь корректно сбрасывается цепочка ответов после операции pop.
  • Added: Добавлена поддержка текущих параметров инструментов генерации изображений.
  • Обновлена документация с описанием изменений поведения версии v0.22.1.
v0.22.1minor
🕐 13 дн назад · релиз на GitHub ↗

Добавлена поддержка изображений в веб-поиске, глобальные guardrails для MCP и улучшена изоляция песочницы.

  • Added: Web search tools теперь поддерживают результаты в виде изображений.
  • Added: Для инструментов MCP добавлены глобальные guardrails на уровне сервера.
  • Added: Песочница Unix-local получила настраиваемую изоляцию, а Docker-контейнеры — поддержку лейблов.
  • Added: В голосовом модуле (voice) стали доступны опции потоковой транскрипции.
  • Fixed: Исправлена ошибка, при которой max_turns перезаписывал исключения guardrails при потоковой обработке.
  • Fixed: Устранены проблемы с кэшированием инструментов MCP, очисткой серверов и сохранением состояний.
v0.22.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

v0.22.0: усиление безопасности, исправление ошибок и перенос конфигурации organization/project в AsyncOpenAI.

  • Breaking: Параметры organization и project теперь нужно передавать в клиент AsyncOpenAI, если используется явный openai_client.
  • Fixed: Заблокированные guardrailsми выводы инструментов теперь скрываются из состояния для воспроизведения (replay).
  • Fixed: Непотоковые запросы с терминальным статусом failed или incomplete теперь вызывают ModelBehaviorError.
  • Fixed: Устранено конфликтующее поведение при передаче явного клиента в OpenAIProvider.
  • Fixed: Учет использования ресурсов теперь изолирован между независимыми чекпоинтами RunState.
v0.21.1minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлены таймауты вызовов моделей, изолированные директории и настройка сети для Docker-песочниц, а также исправлены ошибки в сессиях и Realtime.

  • Added: Добавлены таймауты для вызовов моделей и изолированные рабочие директории для песочниц.
  • Added: В Docker-песочницах появилась возможность отключать сеть, добавлена поддержка ресурсов Modal.
  • Fixed: Исправлена обработка решений об одобрении вызовов, подсчет запросов Responses и закрытие дочерних провайдеров.
  • Fixed: Устранены проблемы с Replay в Chat Completions, обрезанием аудио в Realtime и конфликтами структуры SQLite.
  • Fixed: Исправлена нормализация путей в POSIX-формате для песочниц и обновлена зависимость cffi для Python 3.14.
v0.21.0minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.21.0: поддержка OpenAI Python v3, новые API для тестирования и улучшения стабильности.

  • Added: Добавлены утилиты тестирования для агентов, Realtime и Voice без запросов к провайдерам.
  • Added: Обновлена совместимость с OpenAI Python v3 (>=3.0.0) и поддержка HTTPX2.
  • Fixed: Улучшена изоляция снимков состояния RunState и исправлена работа рекурсивных утверждений инструментов.
  • Fixed: Добавлена настраиваемая верхняя граница для задержек повторных попыток в MCP.
  • Fixed: Ужесточена валидация аудио в Voice и улучшена безопасность в Sandbox.
v0.20.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Минорный релиз: новая модель gpt-5.6-luna по умолчанию, поддержка MCP SDK v2 и улучшенная работа с состоянием.

  • Added: Модель gpt-5.6-luna стала дефолтной, приоритет сохраняется у явных настроек и переменной OPENAI_DEFAULT_MODEL.
  • Added: Добавлена поддержка MCP Python SDK v2 для локальных соединений через stdio, SSE и Streamable HTTP.
  • Breaking: При кастомных HTTP-транспортах в MCP требуется использовать типы соответствующей версии SDK или зафиксировать mcp<2.
  • Added: RunState.add_input() теперь поддерживает долговременное хранение пользовательского ввода с защитой и сериализацией.
  • Added: Реализованы стабильные настройки транскрипции для gpt-live-transcribe, gpt-transcribe и gpt-realtime-whisper.
  • Fixed: Исправлены ошибки сериализации, блокировки очередей, обработки инструментов и сохранения состояния при возобновлении.
v0.19.4patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления в guardrails, сессиях, sandbox, MCP и realtime, а также улучшение детерминированности тестов.

  • Fixed: Исправлена работа guardrails: сохранение результатов, отложенное сохранение сессий и обработка отказов по фильтрам контента.
  • Fixed: Улучшена стабильность сессий: корректная работа с ветками, историей и состоянием в MongoDBSession.
  • Fixed: Исправления в sandbox: enforced бюджетов токенов и кэширование фабрик зависимостей.
  • Fixed: Улучшена обработка ошибок в MCP (ретраи) и realtime (очистка неудачных подключений).
  • Fixed: Исправлено трассирование: помечены ошибки нестриминговых агентов и сохранены блоки размышлений провайдеров.
v0.19.3patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены коллизии инструментов, потоковая передача, сессии, sandbox, realtime, voice и расширения AnyLLM.

  • Fixed: Исправлены коллизии имен инструментов и согласовано поведение при возобновлении сессий.
  • Fixed: Улучшена обработка потоковых данных: guardrails, порядок вызовов инструментов и ручных переходов.
  • Fixed: Исправлена работа сессий: сохранение данных, транзакции SQLite и предотвращение создания пустых бесед.
  • Fixed: Улучшена стабильность sandbox, realtime-режима, голосовых потоков и трассировки.
  • Fixed: Исправлены расширения AnyLLM: управление потоками, обработка ошибок и сохранение блоков размышлений.
v0.19.2patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления безопасности (MCP), стабильности (Voice, Memory) и мелкие улучшения SDK.

  • Fixed: Устранены утечки учетных данных в логах и ошибках MCP-транспорта.
  • Fixed: Исправлена корректная обработка отмены и завершения потоков в Voice-модуле.
  • Fixed: Улучшена точность подсчета элементов и управления состоянием в модулях памяти.
  • Fixed: Теперь корректно передаются результаты input-guardrails при прерывании триггером.
  • Fixed: Исправлена работа с потоками LiteLLM и сохранение сырых событий Realtime.
v0.18.0minor
🕐 2 мес назад · релиз на GitHub ↗

В версии 0.18.0 модель RealtimeAgent по умолчанию обновлена до gpt-realtime-2.1, добавлена поддержка Unicode в SQLAlchemySession.

  • Added: Модель по умолчанию для RealtimeAgent изменена на gpt-realtime-2.1
  • Added: В SQLAlchemySession добавлена опция хранения Unicode
  • Fixed: Исправлено отображение узлов передачи (handoff) в визуализации: сохранён fillcolor
v0.17.8minor
🕐 2 мес назад · релиз на GitHub ↗

Добавлен обработчик восстановления при невалидном выводе, улучшена валидация Pydantic и исправлены ошибки в realtime-сессиях.

  • Added: Добавлен обработчик восстановления при невалидном финальном выводе (invalid final output recovery handler).
  • Fixed: Строгая валидация Pydantic теперь корректно применяется при использовании strict_json_schema=True и handoffs.
  • Fixed: Исправлено распространение отмены итератора сессии в realtime-режиме.
  • Fixed: Удалены логи ошибок валидации в realtime-сессиях для защиты конфиденциальности.
  • Fixed: Исправлена обработка не-словарных значений Mapping в _to_dump_compatible и экранирование кавычек в DOT-графах.
v0.17.7minor
🕐 2 мес назад · релиз на GitHub ↗

Релиз v0.17.7: добавлено буферизованное стриминговое выполнение инструментов и настройка лимита WebSocket, исправлены ошибки сессий и обработки ошибок.

  • Added: Добавлено буферизованное стриминговое выполнение инструментов (tool-call streaming) для Chat Completions.
  • Added: Появилась возможность настраивать максимальный размер сообщений для WebSocket (max_size limit).
  • Fixed: Исправлена атомарность добавления элементов в AdvancedSQLiteSession и устранена проблема с очисткой сообщений при удалении веток.
  • Fixed: Устранена ошибка, при которой пустые списки или кортежи в ответе инструмента ошибочно отбрасывались.
  • Fixed: Исправлено корректное завершение задач guardrail уsiblings и сбор вывода PTY при завершении процесса в E2B.