OpenAI 官方开源的轻量级多智能体工作流框架,支持 Agent 交接、工具调用、护栏与内置追踪,适用于构建生产级 AI Agent 应用。
OpenAI Agents SDK 是 OpenAI 官方开源的轻量级多智能体工作流框架,为构建生产级 AI Agent 应用提供完整解决方案。前身为 Swarm 实验性项目,现已升级为生产级版本。
核心原语#
- Agents:配置了指令、工具、护栏和交接机制的 LLM 封装
- Handoffs:Agent 之间转移控制的专用工具调用机制
- Guardrails:可配置的输入/输出验证安全检查
- Sessions:跨 Agent 运行的自动对话历史管理
- Tracing:内置 Agent 运行追踪,支持可视化调试与优化
关键特性#
| 特性 | 说明 |
|---|---|
| Agent Loop | 内置循环处理工具调用、结果返回,直至任务完成 |
| Python-first | 利用 Python 原生特性编排 Agent,无需学习新抽象 |
| Function Tools | 任何 Python 函数自动转换为工具,支持 Pydantic 验证 |
| MCP Server | 内置 Model Context Protocol 服务器工具集成 |
| Provider-agnostic | 支持 OpenAI API 及 100+ LLM(通过 LiteLLM) |
| Realtime Agents | 构建语音 Agent,支持自动中断检测、上下文管理 |
| Human-in-the-loop | 内置人机交互机制 |
| 加密会话 | 支持加密的持久化会话存储 |
安装方式#
# 基础安装
pip install openai-agents
# 语音支持
pip install 'openai-agents[voice]'
# Redis 会话支持
pip install 'openai-agents[redis]'
快速开始#
from agents import Agent, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion.")
print(result.final_output)
Agent 交接示例#
spanish_agent = Agent(name="Spanish agent", instructions="You only speak Spanish.")
english_agent = Agent(name="English agent", instructions="You only speak English")
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on language.",
handoffs=[spanish_agent, english_agent],
)
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
适用场景#
- 多 Agent 协作系统:通过 Handoffs 实现 Agent 间任务委派与协作
- 对话式 AI 应用:基于 Session 的跨轮次上下文记忆
- 语音交互系统:Realtime Agents 支持实时语音对话
- 复杂工作流编排:确定性流程、迭代循环等多种 LLM 工作流模式
- 生产级 AI 应用:内置追踪、调试、监控能力
项目活跃度#
- 最新版本:v0.10.1
- Commits:1,130+
- 贡献者:218+
- 主要语言:Python (99.8%)
- 运行时要求:Python 3.10+
- 许可证:MIT License