openai-agents-python
OpenAI 官方多智能体开发框架,几行代码让大模型主动规划、调用工具、团队协作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
OpenAI 官方多智能体开发框架,几行代码让大模型主动规划、调用工具、团队协作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你一定见过这样的场景:花了大价钱买了 GPT-4 或 Claude API,调出来的回复却像个"话痨助手"——问什么答什么,永远不会主动查资料、调用工具、或者在遇到问题时把你的指令转交给更专业的"同事"。问题的根源在于:大多数 LLM 只是被动响应,而 AI Agent 的精髓在于让模型主动规划、调用工具、在多轮对话中追踪状态。
OpenAI Agents SDK 就是来解决这个问题的。它是 OpenAI 官方推出的 Python 开发框架,专门用于构建多智能体(Multi-Agent)工作流。简单来说,它让你用几行代码,就能让 AI 完成"查资料 → 分析 → 写报告"这类需要多步骤协作的任务,而不只是简单地一问一答。
想象一下,一个正常的公司团队是怎么工作的:有人负责接单(前台 Agent),有人负责写代码(开发 Agent),有人负责检查质量(审查 Agent),遇到不确定的问题还要请教专家(专家 Agent)。OpenAI Agents SDK 就是把这套逻辑搬到了 AI 世界里。
每个 Agent 本质上是一个"带工具的 LLM"。你可以给它绑定三个核心能力:工具集(Tools)——让 AI 能执行代码、搜索网络、读写文件;防护栏(Guardrails)——在输入输出阶段做安全校验;以及交接(Handoffs)——把当前任务转给更合适的另一个 Agent。
这套架构设计得非常优雅:开发者不需要写复杂的状态机逻辑,只需要定义好每个 Agent 的职责和工具,剩下的调度工作交给 SDK 自己处理。
Sandbox Agents 是这个框架最有意思的能力之一。普通的 Agent 执行工具调用时,代码直接跑在宿主机上,存在安全风险。Sandbox Agent 则把工具调用隔离在容器环境中执行——你可以放心让 AI 读写文件、执行 shell 命令,不用担心它把系统搞乱。这对于需要长时间运行、需要访问敏感资源的任务特别有用。
Tracing(链路追踪) 借鉴了微服务监控的思路。SDK 内置了完整的执行链路记录,包括每个 Agent 思考了什么、调用了什么工具、工具返回了什么、交接给了谁。开发者可以在 Web UI 中直观看到整个工作流的执行路径和时间消耗,像调试后端接口一样调试 AI Agent。
Realtime Agents 让你构建语音交互 Agent。结合 OpenAI 的 gpt-realtime-2 模型,SDK 支持实时语音对话——用户说一句,AI 立刻回应,无需等待整轮对话结束。这为客服机器人、语音助手等场景打开了大门。
框架还内置了 Session 管理(自动维护多轮对话上下文)、Human-in-the-Loop(在关键节点插入人工确认)、以及 Guardrails(输入输出内容安全检查)三个实用模块,覆盖了真实业务场景中的高频需求。

图1:Agents SDK 的多 Agent 协作架构示意图,展示了 Agent 之间的工具调用与交接(handoff)关系
从代码结构来看,SDK 采用了经典的模块化分层设计:src/agents/ 下包含 agent.py(核心 Agent 类)、handoffs/(交接逻辑)、mcp/(MCP 协议支持)、tool.py(工具基类)、guardrail.py(防护栏)、sandbox/(沙箱执行)、tracing/(链路追踪)、realtime/(实时语音)等子模块,每个模块职责清晰。
依赖管理基于 uv workspace,生产依赖非常轻量——核心只需 openai、pydantic 和 requests 三个包。大量可选依赖(Redis、PostgreSQL、Docker、Temporal、Kubernetes 等)全部通过 optional groups 按需引入,保持了核心体积的精简。
MCP(Model Context Protocol)支持 是近年 AI 工具生态的重要标准,SDK 从 1.19 版本开始原生集成,支持连接外部 MCP 服务器获取工具资源。这让 Agents SDK 可以无缝接入各类外部工具生态,而不只是依赖内置的函数调用能力。
代码质量方面,项目使用了 mypy 严格模式(虽然部分模块设置了 disallow_untyped_defs = false 以保持灵活性)、ruff 做 linting、以及 pytest + pytest-asyncio + pytest-xdist 的完整测试套件,并集成了覆盖率统计。文档通过 MkDocs + Material 主题 构建,CI/CD 由 GitHub Actions 驱动,整体工程化水平属于头部开源项目水准。
最适合使用这个框架的场景有三类:自动化工作流——比如自动化的市场调研、内容审核、代码审查;多角色协作系统——比如一个"前台接待 → 技术评估 → 法务审核"的分层处理流程;以及需要长时间运行的复杂任务——利用 Sandbox Agent 在容器中安全执行多步骤操作。
上手门槛很低:pip install openai-agents 装好后,几行代码就能跑起来一个能调用工具的 Agent。但如果要深度定制(比如写自定义工具、写 Guardrail、写 Handoff 逻辑),需要熟悉 Pydantic 模型定义和 async/await 异步编程模式。
框架的核心局限在于强依赖 OpenAI SDK(openai>=2.26.0),虽然提供了 litellm 和 any-llm-sdk 两个可选桥接层来支持其他模型,但非 OpenAI 模型的功能完整度不如原生。虽然官方文档说支持 100+ LLM,但实际体验中 OpenAI 模型享有最好的集成深度。
另外,项目没有提供 Docker 部署方案,这对想要快速在服务器上运行的团队来说是个门槛。框架本质上是一个 SDK 而非服务,集成它需要一定的 Python 开发能力。
OpenAI Agents SDK 的出现代表了 AI 应用开发的一个趋势:从"调 API"到"编排工作流"。早期的 AI 应用大多停留在单轮问答层面,而 Agents SDK 这类框架推动行业向多步推理、工具调用、长期任务执行的方向演进。它不只是一个技术工具,更是一种 AI 应用架构范式的表达。
GitHub 26,000+ Stars 和持续活跃的版本迭代(当前 v0.17.x)证明了社区对这类框架的真实需求。如果你正在构建需要 AI 主动行动而非被动回答的应用,这个 SDK 值得认真研究。