OpenAI Agents SDK:多代理工作流开发框架
openai/openai-agents-python 在 GitHub 上已经拿到 26079 Star 了。 OpenAI 开源了这个 Python SDK,用于构建多代理工作流。它支持 OpenAI 官方 API,也兼容其他 100 多种大语言模型。
核心功能
这个 SDK 包含多个核心模块,覆盖多代理开发的主要场景。 Agents 模块支持配置大模型的指令、工具、护栏和任务交接。 Sandbox Agents 模块提供预配置的容器环境,支持代理在隔离环境中执行长时间任务,包括文件操作、命令执行、代码修改等操作。 工具模块支持函数调用、MCP 协议、托管工具等多种工具类型,代理可以通过工具完成实际操作。 护栏模块提供可配置的输入输出校验,确保代理执行符合安全规范。 人在回路模块内置人工介入机制,支持在代理执行过程中引入人工干预。 会话模块自动管理对话历史,跨代理执行过程保留上下文信息。 追踪模块内置执行记录功能,支持查看、调试和优化工作流。 实时代理模块支持基于 gpt-realtime-2 构建语音代理,保留完整的代理功能特性。
安装使用
使用这个 SDK 需要 Python 3.10 或更高版本。 venv 环境安装命令:
python -m venv .venv
source .venv/bin/activate # Windows 环境执行 .venv\Scripts\activate
pip install openai-agents
需要语音支持可安装可选组件:pip install 'openai-agents[voice]'。需要 Redis 会话支持可安装对应组件:pip install 'openai-agents[redis]'。
使用 uv 安装更便捷:
uv init
uv add openai-agents
同样支持可选组件安装,按需选择即可。
快速上手
沙箱代理是 0.14.0 版本新增的功能,支持代理在可控的计算机环境中执行任务。示例代码如下:
from agents import Runner
from agents.run import RunConfig
from agents.sandbox import Manifest, SandboxAgent, SandboxRunConfig
from agents.sandbox.entries import GitRepo
from agents.sandbox.sandboxes import UnixLocalSandboxClient
agent = SandboxAgent(
name="Workspace Assistant",
instructions="Inspect the sandbox workspace before answering.",
default_manifest=Manifest(
entries={
"repo": GitRepo(repo="openai/openai-agents-python", ref="main"),
}
),
)
result = Runner.run_sync(
agent,
"Inspect the repo README and summarize what this project does.",
run_config=RunConfig(sandbox=SandboxRunConfig(client=UnixLocalSandboxClient())),
)
print(result.final_output)
运行前需要设置 OPENAI_API_KEY 环境变量。示例执行后会输出项目的功能说明。 项目的 examples 目录包含更多使用示例,官方文档提供完整的功能说明。
适用场景
- 需要构建多代理协作系统的开发者
- 开发 AI 工作流、自动化处理任务的团队
- 搭建语音代理、实时交互系统的场景
- 需要代理执行代码、操作文件的应用开发