OpenAI Agents SDK
A lightweight, powerful framework for multi-agent workflows
About
The OpenAI Agents SDK is OpenAI's official Python framework for building agentic AI apps — a production-ready upgrade of its earlier Swarm experiment. It keeps the primitive set deliberately small: Agents (LLMs with instructions and tools), handoffs / agents-as-tools for delegation, and guardrails for input/output validation, all orchestrated Python-first with very few abstractions.
It ships function tools with automatic schema generation and Pydantic validation, built-in MCP server tool calling, sessions for persistent memory, human-in-the-loop mechanisms, realtime voice agents and voice pipelines (STT → agent → TTS), sandbox agents with isolated workspaces, and built-in tracing visualized in OpenAI's Traces dashboard. It uses the Responses API by default for OpenAI models and supports non-OpenAI models via adapters. Note the data posture: tracing is enabled by default and exports run data to OpenAI — disable it with OPENAI_AGENTS_DISABLE_TRACING=1 or set_tracing_disabled(True) if you don't want that.
What it can do
- • Agents with instructions, tools, guardrails, and handoffs, with a built-in run loop • Agents-as-tools / handoffs for multi-agent delegation • Guardrails run in parallel with execution and fail fast • Function tools with automatic schema generation and Pydantic validation • Built-in MCP server tool calling • Sessions: persistent memory across turns • Human-in-the-loop mechanisms • Realtime voice agents (gpt-realtime) and voice pipelines (speech-to-text → agent → text-to-speech) • Sandbox agents with isolated workspaces and resumable sessions • Built-in tracing with Traces dashboard, custom trace processors, and sensitive-data redaction options • Non-OpenAI model adapters (e.g. via LiteLLM)
Setup
- Install:
pip install openai-agents - Set your key:
export OPENAI_API_KEY=<your-key> - Run the hello-world example from the docs:
from agents import Agent, Runner→agent = Agent(name="Assistant", instructions="You are a helpful assistant")→Runner.run_sync(agent, "Write a haiku about recursion in programming.") - Decide on tracing: it is ON by default and sends traces to OpenAI — keep it, scope it per run with
RunConfig, or disable globally viaOPENAI_AGENTS_DISABLE_TRACING=1/set_tracing_disabled(True); useRunConfig(trace_include_sensitive_data=False)to keep sensitive I/O out of traces - Follow the Quickstart for your first text agent, then the Running agents / Tools / Models pages for state, function tools, MCP servers, and non-OpenAI model adapters
Prerequisites
Python 3.9+; pip; an OpenAI API key (non-OpenAI models possible via model adapters, e.g. LiteLLM-based).
Use cases
Works with
Trust score — 9/10
Scored 9/10 (verified tier, metrics-v1). Evidence: 29,988 GitHub stars (log-scaled vs catalog peers); blended with ~12,449,784 monthly package downloads; last push 4d ago; 88 releases/12mo; 21 open issues. Manual review: tracing ON by default exports run data to OpenAI (opt-out); 'production-ready' is marketing. License: MIT.
★ 29,988 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 8.9/10
- Maintenance · recency, releases, issue load
- 10.0/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 8.0/10
- · 29,988 GitHub stars (log-scaled vs catalog peers)
- · blended with ~12,449,784 monthly package downloads
- · last push 4d ago; 88 releases/12mo; 21 open issues
- · manual review: tracing ON by default exports run data to OpenAI (opt-out); 'production-ready' is marketing
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.