1. 项目定位与用途
OpenAI Agents SDK 是 OpenAI 官方推出的轻量级 Python 框架,定位为构建多智能体工作流的开发工具包。它提供与 LLM 无关的统一抽象层,使开发者能够用一致的 API 对接 OpenAI 及 100+ 其他大语言模型提供商。框架核心用途是简化复杂 AI 系统的编排,通过智能体(Agent)、工具(Tools)、交接(Handoffs)等抽象,帮助开发者构建可靠、可观测、可维护的多智能体应用,避免重复实现底层 orchestration 逻辑。
openai/openai-agents-python:OpenAI Agents SDK 是一个轻量级 Python 框架,用于构建多智能体协作工作流,提供与 LLM 无关的抽象层,支持 OpenA本页整理它解决什么问题、适用场景、安装方式和使用方法。
OpenAI Agents SDK 是一个轻量级 Python 框架,用于构建多智能体协作工作流,提供与 LLM 无关的抽象层,支持 OpenAI 及 100+ 模型提供商,简化复杂 AI 系统的编排与维护。
OpenAI Agents SDK 是 OpenAI 官方推出的轻量级 Python 框架,定位为构建多智能体工作流的开发工具包。它提供与 LLM 无关的统一抽象层,使开发者能够用一致的 API 对接 OpenAI 及 100+ 其他大语言模型提供商。框架核心用途是简化复杂 AI 系统的编排,通过智能体(Agent)、工具(Tools)、交接(Handoffs)等抽象,帮助开发者构建可靠、可观测、可维护的多智能体应用,避免重复实现底层 orchestration 逻辑。
框架主要解决构建多智能体系统时的三大难题:一是 orchestration 复杂性,提供标准化的智能体定义、协作和流转机制;二是工具集成与调用的一致性,统一管理函数工具、MCP 工具和托管工具;三是可观测性与状态管理,内置追踪(Tracing)和会话(Sessions)功能,支持调试、优化和对话历史维护。此外,通过防护栏(Guardrails)和人机协作(Human in the loop)机制,解决了生产环境中的安全与人工干预需求。
该框架适用于多种 LLM 应用场景:自动化工作流编排,如客服系统、数据处理流水线;多专家智能体协作,例如研究助手、代码审查系统;带人工审核的业务流程,如贷款审批、内容审核;实时语音交互应用,基于 gpt-realtime-1.5 构建语音代理;以及需要结构化输出和工具调用的复杂推理任务。无论是初创项目还是企业级应用,都能从中受益。
根据仓库信息,安装需满足 Python 3.10+ 环境。核心包安装命令为:`pip install openai-agents`。若需语音支持,安装可选依赖:`pip install 'openai-agents[voice]'`;若需 Redis 会话存储,使用:`pip install 'openai-agents[redis]'`。使用 uv 工具的用户可执行:`uv add openai-agents`。安装后需设置 `OPENAI_API_KEY` 环境变量以访问 OpenAI API。仓库中未明确给出其他 LLM 提供商的特定配置步骤。
基本使用流程如下:从 `agents` 模块导入 `Agent` 和 `Runner` 类;创建 `Agent` 实例并配置 `name` 和 `instructions` 属性;通过 `tools` 参数添加函数工具或其他工具;使用 `Runner.run_sync()` 同步运行或 `Runner.run()` 异步运行智能体;通过 `handoffs` 参数实现多智能体任务交接;利用 `input_guardrails` 和 `output_guardrails` 添加安全校验。详细示例可参考 `examples/` 目录和官方文档。
框架包含八大核心模块:Agents(智能体定义与配置)、Tools(工具调用系统,支持函数、MCP、托管工具)、Handoffs(智能体间任务交接机制)、Guardrails(输入输出安全校验)、Human in the loop(人机协作流程)、Sessions(会话状态管理与持久化)、Tracing(执行追踪与可视化)、Realtime(实时语音交互)。这些模块共同提供流式执行、结构化输出、多模型支持等能力,形成完整的多智能体工作流开发栈。
框架设计为与 LLM 无关,原生支持 OpenAI 的 Responses 和 Chat Completions API,同时通过适配器支持 100+ 其他大语言模型提供商,具体配置参考文档中的 Models 部分。
语音功能作为可选依赖提供。安装时使用命令 `pip install 'openai-agents[voice]'` 即可添加语音支持,该依赖会自动安装所需的 numpy 和 websockets 库。
支持。Runner 类提供 `run()` 异步方法和 `run_sync()` 同步方法,开发者可根据应用场景选择。异步模式适用于高并发场景,同步模式适合简单脚本和 Jupyter 环境。
通过 Handoffs(交接)机制实现。在 Agent 定义中配置 `handoffs` 参数,传入其他 Agent 实例,即可将对话委托给 specialist agents。也可使用 Agents as tools 模式,将智能体作为工具调用。
框架内置 Sessions 模块管理对话历史。默认使用内存存储,也可配置持久化方案:通过 `sqlalchemy` 可选依赖使用 SQLAlchemy 存储,或通过 `redis` 可选依赖使用 Redis 存储。详细配置见 Sessions 文档。