你有没有试过用 LangChain 或者 AutoGen 搭一个多 Agent 系统?
依赖装了一堆,抽象层套了一层又一层,最后写了两百行就被各种 Callback 和 Chain 搞得头大。跑起来了,但你已经不知道它在做什么了。
OpenAI 上个月把自家的 Agents SDK 做了一次大更新,顺便公开了一件事——
这个框架的核心,到现在还不到 1000 行代码。
⭐ 目前 GitHub Stars :23.1k,且在持续涨。
它是什么 / 解决什么问题
openai/openai-agents-python 是 OpenAI 官方出品的多智能体工作流构建框架,核心定位:轻量、可见、可信。
三个原语,没有更多:
•Handoff (交接) — Agent 把控制权移交给另一个 Agent•Guardrail (护栏) — 对输入输出做验证和安全检查就这三个。剩下的,用 Python 自己拼。
这个框架不是从零诞生的。它的前身是 Swarm——OpenAI 2024 年底开源的实验性多 Agent 框架,当时定位是"教学用,别上生产"。 Swarm 积累了 21k+ Stars,但 OpenAI 一直没给它转正。
2025 年 3 月, Agents SDK 接棒。 Swarm 的核心设计( Agent + Handoff )保留,加上了 Guardrail 、 Tracing 、 Session 、 MCP 集成……变成了可以在生产环境用的东西。
核心功能拆解
1. Handoff (智能体交接)
这是整个框架最值得说的设计。
一个 Agent 处理不了的任务,可以把控制权 + 完整对话历史一起移交给另一个专门的 Agent 。实现方式非常直接——写一个返回 Agent 对象的函数:
fromagentsimportAgent,handofftriage_agent=Agent(name="分诊 Agent",handoffs=[handoff(billing_agent),handoff(tech_agent)],instructions="判断用户问题属于账单还是技术,转给对应 Agent。")
触发 Handoff 时,新 Agent 接管,带着完整上下文,用自己的 instructions 和工具集继续对话。用户感知不到切换。
2. Guardrail (护栏)
在 Agent 运行时并行执行的验证层。可以在 Agent 主流程跑着的同时,用另一个更轻的模型做输入/输出的安全检查,不阻塞主流程,三次检测异常则终止。
pipinstallopenai-agents
3. Tracing (链路追踪)
内置,不用额外配置。每次运行自动记录完整执行图——工具调用、 Handoff 路径、模型输出——可以在 OpenAI 平台上直接查看。
4. Sandbox Agents (沙箱 Agent )
4 月大更新的重点新功能。 Agent 可以在一个隔离的计算机环境里操作真实文件、执行代码,配合 shell tool 和 apply patch tool 使用,更接近 Codex 那套体验。只在 Python 版本先上, TypeScript 版本后续跟进。
5. 模型无关
SDK 支持所有兼容 Chat Completions API 格式的模型——100+ 非 OpenAI 模型也能用。本地 Ollama 部署、第三方 API ,理论上都能接。
适合谁用 / 使用场景
做客服/售后自动化的工程师:多个业务线(退款、物流、售前)各自一个 Agent ,前面一个 triage Agent 分流, Handoff 机制正好。
构建 Coding Agent 的开发者: Sandbox Agents + shell tool 这套,就是在 SDK 里内置了一个受控的代码执行环境,不用自己搭沙箱。
想用 OpenAI 模型但不想被 LangChain 套牢的团队: SDK 轻量、依赖少、逻辑透明,可以只用你需要的部分,不用接受一整套框架哲学。
注意:如果你在用 Assistants API , OpenAI 官方宣布将在 2026 年中废弃,建议迁移到 Responses API + Agents SDK 这条路线。
快速上手
pipinstallopenai-agents exportOPENAI_API_KEY="sk-..."
最简单的多 Agent 例子(两分钟能跑起来):
fromagentsimportAgent,Runnerspanish_agent=Agent(name="西班牙语 Agent",instructions="只用西班牙语回复。")orchestrator=Agent(name="编排 Agent",instructions="如果用户问西班牙语相关,交给西班牙语 Agent。",handoffs=[spanish_agent])result=Runner.run_sync(orchestrator,"¿Cómo estás?")print(result.final_output)
已知的坑: Sandbox Agents 目前需要 Python 3.10+,且沙箱配置文档相对简略,生产环境用之前建议先跑一遍官方 samples 。
说几句实在话
OpenAI 做这个框架,逻辑很清楚:你的 Agent 要用我的模型,最好也用我的 SDK。这不是技术驱动,是生态锁定。
但从技术角度说,这套设计确实比大多数框架克制得多。少即是多——三个原语,加 Python ,能表达很复杂的 Agent 关系,同时不遮蔽你对执行过程的控制权。
有意思的问题是:随着 Anthropic 的 Agents SDK 、 Google 的 ADK 也相继出来,这个赛道会不会变成"谁的框架最轻、最透明"的竞争,而不是"谁的功能最多"?
这个答案, 2026 年底可能就有了。
项目地址: github.com/openai/openai-agents-python