ИИ-агенты становятся неотъемлемой частью современных программных систем. Они принимают пользовательский ввод, анализируют цели и взаимодействуют с внешними сервисами для выполнения реальных задач.
11 марта 2025 года OpenAI представила Agents SDK — фреймворк для создания агентов, которые могут подключаться к внешним инструментам через стандартный интерфейс MCP (Model Context Protocol).
Что такое OpenAI Agents SDK
OpenAI Agents SDK — это Python-фреймворк, выпущенный в марте 2025 года. Он помогает разработчикам создавать агентов, которые используют большие языковые модели для решения задач путем анализа целей и применения инструментов. SDK построен на нескольких базовых принципах:
- Минимальное количество абстракций при максимальной функциональности
- Готовое решение с возможностью кастомизации
- Python-ориентированный подход без сложных концепций
Фреймворк включает встроенную поддержку памяти агентов, потоковый вывод, повторные попытки выполнения и трассировку. Также поддерживается вызов функций со структурированными входами и выходами.
Основные компоненты SDK
Agent (Агент)
Класс Agent
определяет поведение ИИ-агента и включает:
- Name — идентификатор агента
- Instructions — инструкции для ответов и действий
- Tools — функции или API, которые может использовать агент
- Handoffs — передача задач другим агентам при необходимости
Tool (Инструмент)
Инструменты — это внешние функции или API, которые агенты могут вызывать. Каждый инструмент определяется через:
- Уникальный идентификатор
- Описание назначения
- Схему входных параметров
- Функцию-обработчик
Runner (Исполнитель)
Класс Runner
управляет выполнением агентов:
run()
— асинхронное выполнениеrun_sync()
— синхронное выполнениеrun_streamed()
— потоковые ответы в реальном времени
Composio MCP: платформа для инструментов
MCP (Model Context Protocol) — это стандарт, который определяет, как агенты могут обнаруживать и использовать инструменты через общий интерфейс. Он описывает инструменты через структурированные метаданные: названия, типы входов и форматы выходов.
Composio MCP — полностью управляемая платформа, построенная на основе этого стандарта. Она предоставляет доступ к более чем 100 инструментам, каждый из которых представлен как отдельный MCP-сервер со встроенными схемами, конечными точками выполнения и безопасной аутентификацией.
Преимущества Composio MCP
- Мгновенный доступ к 100+ инструментам — готовые интеграции, совместимые с MCP
- Не нужно оборачивать API — Composio обрабатывает настройку, валидацию и форматирование
- Безопасность по умолчанию — встроенная аутентификация и управление токенами
- Единообразный интерфейс — все инструменты следуют одной структуре
- Хостинг и мониторинг — инструменты актуальны и готовы к продакшену
Создание MCP-агентов: пошаговое руководство
Шаг 1: Подготовка окружения
Требования:
- Python 3.8 или выше
- API-ключ OpenAI
Шаг 2: Настройка проекта
Создание виртуального окружения:
macOS/Linux:
python3 -m venv env
source env/bin/activate
Windows:
python -m venv env
.\env\Scripts\activate
Установка пакетов:
pip install openai-agents python-dotenv
Шаг 3: Настройка API-ключа
Создайте файл .env
в корне проекта:
OPENAI_API_KEY=sk-...
Шаг 4: Получение URL MCP-сервера
- Перейдите на mcp.composio.dev
- Выберите нужный инструмент
- Скопируйте URL MCP-сервера (формат:
https://mcp.composio.dev/<tool>/<instance-id>
)
Шаг 5: Создание и запуск агента
Создайте файл main.py
:
import asyncio
import os
from dotenv import load_dotenv
import openai
from agents import Agent, Runner
from agents.mcp import MCPServerSse# Загрузка переменных окружения
load_dotenv()# Установка API-ключа
openai.api_key = os.getenv("OPENAI_API_KEY")# URL MCP-инструмента
TOOL_URL = "https://mcp.composio.dev/<tool-name>/<instance-id>"async def main():
mcp_server = MCPServerSse({"url": TOOL_URL})
try:
await mcp_server.connect()
agent = Agent(
name="MCP Agent",
instructions="Помогаю пользователю выполнять задачи с подключенным инструментом.",
mcp_servers=[mcp_server]
)
task = "Выполни задачу с помощью подключенного инструмента."
result = await Runner.run(agent, task)
print(result.final_output)
finally:
await mcp_server.cleanup()if __name__ == "__main__":
asyncio.run(main())
Практические примеры
Пример 1: Управление GitHub репозиториями
Агент для работы с GitHub через интеграцию Composio MCP может:
- Создавать GitHub issues на основе пользовательского ввода
- Обновлять описания репозиториев
- Помогать с pull request'ами и рабочими процессами
- Автоматизировать планирование проектов и отслеживание багов
import asyncio
import os
from dotenv import load_dotenv
import openai
from agents import Agent, Runner
from agents.mcp import MCPServerSseload_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")GITHUB_MCP_URL = "https://mcp.composio.dev/github/<your-tool-id>"
async def main():
github_server = MCPServerSse({"url": GITHUB_MCP_URL})
try:
await github_server.connect()
agent = Agent(
name="GitHub Agent",
instructions="Помогаю управлять GitHub: создаю issues, обновляю репозитории и работаю с PR через подключенный GitHub-инструмент.",
mcp_servers=[github_server]
)
task = "Создай issue в репозитории 'username/repo-name' с заголовком 'Баг: не работает авторизация' и описанием 'Кнопка входа выдает ошибку 500.'"
result = await Runner.run(agent, task)
print(result.final_output)
finally:
await github_server.cleanup()if __name__ == "__main__":
asyncio.run(main())
Пример 2: Управление страницами Notion
Агент для работы с Notion может автоматизировать:
- Создание страниц с заголовками, контентом и разметкой
- Добавление задач или планов проектов
- Обновление статусов и командных чек-листов
- Планирование мероприятий, спринтов или повесток встреч
import asyncio
import os
from dotenv import load_dotenv
import openai
from agents import Agent, Runner
from agents.mcp import MCPServerSseload_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")NOTION_MCP_URL = "https://mcp.composio.dev/notion/<your-tool-id>"
async def main():
notion_server = MCPServerSse({"url": NOTION_MCP_URL})
try:
await notion_server.connect()
agent = Agent(
name="Notion Agent",
instructions="Помогаю управлять рабочим пространством Notion: создаю страницы, организую контент и отслеживаю задачи через подключенный Notion-инструмент.",
mcp_servers=[notion_server]
)
task = "Создай страницу Notion с названием 'План недельного спринта' и содержимым '1. Исправить баг авторизации\\n2. Обновить дашборд\\n3. Подготовить демо на пятницу.'"
result = await Runner.run(agent, task)
print(result.final_output)
finally:
await notion_server.cleanup()if __name__ == "__main__":
asyncio.run(main())
Заключение
ИИ-агенты — это не концепция будущего, а реальный инструмент сегодняшнего дня. С OpenAI Agents SDK и Composio можно создавать умных агентов, которые понимают задачи и используют инструменты вроде GitHub, Notion или Gmail для выполнения реальной работы.
Composio предоставляет готовые к использованию инструменты, поэтому не нужно беспокоиться о настройке API или сложном коде. Просто подключите инструмент, дайте агенту задачу, и он позаботится об остальном.