OpenAI Agents SDK:3分钟跑通你的第一个多智能体工作流
【免费下载链接】openai-agents-pythonA lightweight, powerful framework for multi-agent workflows项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-python
OpenAI Agents SDK 是一个面向 Python 的多智能体框架:用Agent定义智能体(指令 + 工具 + 交接),由Runner自动驱动"模型调用 → 工具执行 → 智能体交接"的循环。如果你的 Python LLM 应用开始超出单智能体能处理的任务边界,这个库值得一看。它官方支持 OpenAI 的 Responses 与 Chat Completions API,装可选依赖litellm(版本锁定>=1.83.0)后可接入 100+ 其他模型提供商。
🚀 3分钟跑通第一个文本智能体
环境要求 Python 3.10 及以上(pyproject.toml中requires-python为>=3.10),包名openai-agents,当前版本 0.22.0:
pip install openai-agents设置好OPENAI_API_KEY后,四行代码就是一个完整智能体:
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 in programming.") print(result.final_output)Runner.run_sync(异步版为Runner.run)返回的RunResult里除了final_output,还有完整消息历史、每次调用的用量和原始响应。你不用自己写那个循环:模型响应里带工具调用就执行并回填结果,带交接就换智能体继续,直到产出最终输出或触及max_turns上限。
🛠 给智能体装上手:函数工具与 MCP
普通 Python 函数套上@function_tool装饰器即可被模型调用——类型标注生成参数 schema,docstring 变成模型看到的工具说明,连参数怎么传都不用额外配置。
已有服务端工具则不必逐个包装:agents/mcp/内置 MCP 客户端,指向一个 MCP 服务(stdio、SSE 或 streamable HTTP 传输均可),服务端暴露的工具就并入智能体的工具集。下面的追踪截图里,Filesystem Server 的read_file()、write_file()、search_files()等十几个工具就是这样被逐个调用并留痕的。
🔀 多智能体交接怎么设计:分诊智能体
Handoff 本质上是一种特殊的工具调用:模型判断"这事该交给更专业的智能体"时,触发一次控制权转移。典型形态是分诊智能体(Triage)——它只负责路由,不干具体活:
spanish = Agent(name="Spanish", instructions="Only speak Spanish") english = Agent(name="English", instructions="Only speak English") triage = Agent(name="Triage", instructions="Hand off by request language", handoffs=[spanish, english]) result = await Runner.run(triage, "Hola, ¿cómo estás?")交接可以完全交给模型判断,也可以写成确定性代码路由(examples/agent_patterns/routing.py里两种模式都有现成示例)。需要程序化判断时,给路由智能体配output_type结构化输出,路由决策就变成可校验的 JSON,而不是只能祈祷的自然语言。更多模式见 handoffs 文档。
🧠 多轮对话记住上下文:会话管理
不传session时每次运行从零开始,智能体对上一轮毫无记忆。传入会话对象后,消息历史的读取与追加由框架接管:
session = SQLiteSession("conversation_123") await Runner.run(agent, "Golden Gate Bridge 在哪个城市?", session=session) await Runner.run(agent, "它在哪个州?", session=session) # 能接上上文,答 CaliforniaSQLiteSession开箱即用;源码还提供 Redis、MongoDB、SQLAlchemy、Dapr、OpenAI Conversations 等实现,分布式部署时换后端不用改业务代码,必要时自己实现Session协议即可。
🔍 智能体跑偏了去哪查:追踪调试
多智能体应用最难的是回答"谁在哪一步说了什么、为什么"。SDK 默认对每次运行全量追踪:智能体间的交接、每次POST /v1/responses请求、每个工具调用的耗时都在界面上按时间轴展开,点任意一个 span 能看到该步的模型、指令原文、输入输出和 token 数。输出不对时,能直接定位到具体哪次调用出了问题。
任务形态再往上走,还有SandboxAgent(容器内长时间工作,支持 Unix 本地与 Docker 客户端)、RealtimeAgent(WebSocket 低延迟语音)和VoicePipeline(语音识别 + 智能体 + 语音合成管线)。适合想快速搭出可控多智能体流程、且需要看清每一步轨迹的 Python 开发者;跑通第一个智能体后,接着读官方文档即可深入。
【免费下载链接】openai-agents-pythonA lightweight, powerful framework for multi-agent workflows项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-python
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考