Інтеграція OpenAI Agents SDK
OpenAI Agents SDK — офіційний Python SDK для побудови агентів на основі моделей OpenAI. Надає абстракції над Assistants API та Responses API: Agent (обгортка над моделлю з інструментами), Runner (виконання агента), Handoffs (делегування між агентами), Guardrails (перевірки), tracing. SDK замінює прямі виклики Assistants API більш типізованим та тестованим інтерфейсом.
Базовий агент
# pip install openai-agents
import asyncio
from openai import AsyncOpenAI
from agents import Agent, Runner, function_tool, RunConfig
client = AsyncOpenAI()
# Інструменти через декоратор
@function_tool
def get_weather(city: str, unit: str = "celsius") -> str:
"""Отримати поточну погоду в місті."""
data = weather_api.get(city=city, unit=unit)
return f"Погода в {city}: {data['temp']}°, {data['description']}"
# Створити агента
assistant = Agent(
name="Corporate Assistant",
instructions="Ти — корпоративний ассистент. Допомагай сотрудникам з мітингами та завданнями.",
model="gpt-4o",
tools=[get_weather],
)
# Запуск
async def main():
result = await Runner.run(
assistant,
input="Запланюй мітинг команди на завтра о 14:00",
)
print(result.final_output)
asyncio.run(main())
Handoffs: Делегування між спеціалізованими агентами
from agents import Agent, handoff, Runner
# Спеціалізовані агенти для різних доменів
triage_agent = Agent(
name="Triage",
instructions="Класифікуй запит та делегуй відповідному агенту.",
model="gpt-4o-mini",
)
billing_agent = Agent(
name="Billing Support",
instructions="Допомагай з питаннями щодо виставлення рахунків, платежів, підписок.",
model="gpt-4o",
tools=[get_invoice, process_refund, update_payment_method],
)
tech_agent = Agent(
name="Technical Support",
instructions="Розв'язуй технічні проблеми: API, інтеграції, помилки.",
model="gpt-4o",
tools=[check_api_status, get_error_logs, create_bug_report],
)
# Налаштування handoffs для triage
triage_agent.handoffs = [
handoff(billing_agent, tool_name_override="transfer_to_billing"),
handoff(tech_agent, tool_name_override="transfer_to_technical"),
]
# Triage автоматично делегує відповідному агенту
result = await Runner.run(
triage_agent,
input="Мене списали два рази в минулому місяці",
)
Часові рамки
- Базовий агент із інструментами: 2–4 дні
- Handoff-архітектура з 3–5 агентами: 1–2 тижні
- Guardrails та security checks: 3–5 днів
- Tracing та мониторинг: 3–5 днів
- Production-деплой: 1 тиждень







