OpenAI Agents SDK:多智能体工作流的快速上手指南
2026/9/3 12:56:22 网站建设 项目流程

OpenAI Agents SDK:多智能体工作流的快速上手指南

【免费下载链接】openai-agents-pythonA lightweight, powerful framework for multi-agent workflows项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-python

OpenAI Agents SDK 是一个面向智能体工作流开发的 Python 多智能体框架。它把对话记忆、任务交接、工具调用、运行追踪这四件琐事统一装进了一个执行循环:你只需要传入一个智能体加一句消息,框架自己转完整个循环,再把最终结果交回来。它也不绑死 OpenAI 模型,Responses、Chat Completions 两大接口以及 100 多家其他 LLM 都能直接跑。

自己写多智能体时,麻烦到底出在哪

不用框架、直接调模型接口的话,麻烦从第二个智能体出现的那一刻开始。模型本身没有记忆,每次请求都得手动把之前完整的对话历史塞回去,漏一轮,智能体就"忘记"自己聊到哪了;谁主导、谁负责细节、当前智能体干完活后该把控制权移交给谁,都要靠你自己写代码安排;模型说"要调用某个函数"时,解析参数、执行函数、把结果按正确格式喂回去,也得自己接住;更糟的是,几个智能体来回几轮之后出了问题,你只能翻日志猜。

SDK 的做法是把这些事收进一个统一的 Runner 循环:传入智能体和初始消息后,框架自己反复执行"调模型 → 跑工具 → 处理交接 → 直到拿到最终输出",拿到可用结果才返回。

三分钟跑通第一个 Agent 🚀

官方要求 Python 3.10 以上。先建虚拟环境再装包:

python -m venv .venv source .venv/bin/activate 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)

运行后会得到模型写的一首关于递归的俳句。如果以后要用语音流水线或 Redis 会话,还有可选的voiceredis依赖组,届时一并安装即可。

核心机制拆解:谁干活、谁接管、谁兜底

SDK 的概念可以归成三组来记。

"干活的是" Agent 加工具。智能体本质上是一个"带着岗位说明书上岗的模型":instructions 是岗位说明书,tools 是它能上手的工具集,工具既可以是自己用装饰器包起来的 Python 函数,也可以是平台托管工具,或 MCP 服务器提供的整套工具。

"接管的是" Handoffs。交接是一种特殊工具:当前智能体判断"这事不归我管"时调用它,下一轮开始由另一个智能体接手,模型自己完成了任务路由,你的代码里一行 if/else 都不用写。再配合结构化输出,结果还能是固定格式的数据,方便直接在代码里做程序化调度。

"兜底的是" 护栏、Session 和追踪。护栏在输入输出两端做校验,拦截不符合预期的请求和回复;Session 自动保管对话历史,让下一次运行自动"记得"上一轮;追踪把全过程记下来,事后可逐步回放。

三个典型场景:挂工具、分诊交接、多轮记忆

最常见的组合是"一个智能体加一个工具":把get_weather函数包装成工具挂到智能体上,用户问"东京天气如何"时,模型会自己调用这个函数,最终回复"东京天气晴朗",全程不需要你写调用逻辑。

第二种是分诊式交接:分别造一个"只说西班牙语"和"只用英语"的专家智能体,再把它们的清单交给分诊智能体。用户用西语打招呼后,分诊智能体把话头交出去,此后由西语智能体直接回应——像服务台把人引到对应窗口,只是分诊台本身也是个模型。官方还提供了可视化能力,可以把智能体之间的连接关系导成一张图:

第三种是多轮会话记忆:给 Runner.run 传入 session 对象,比如用 SQLiteSession 把历史存在conversation_123这个键下。先问"金门大桥在哪座城市",再问"它在哪个州",第二次会直接答出加州——历史上下文由框架自动附带,你不需要自己拼接。

调试与观测:看穿一次 Agent 运行的全过程

追踪默认开启,每一次 LLM 生成、工具调用、交接、护栏执行都会写进同一条记录,在 Traces 面板里能看到完整时间线,卡在哪一步、耗时多少,一目了然:

如果数据需要落到自建平台,SDK 留了自定义追踪处理器的扩展点,官方文档中也给出了与 Logfire、AgentOps、Braintrust、Scorecard 等第三方平台对接的现成配置。

踩过的坑:提示词、分工与复盘

最常见的坑是指令写得太含糊:想让模型好好用工具,就要在 instructions 里写明白有哪些工具、怎么用、参数长什么样,行为不对时先迭代提示词,再回头改代码。第二个坑是期望一个智能体全能——实践里拆成几个各司其职的专家,各自只擅长一件事,反而更稳。第三个坑是跑完不复盘:多跑几次、对着追踪找它跑偏的节点再修正,也可以让智能体在循环里多走一轮自我批评,让它自己改进输出。

下一步:从本地跑通到部署扩展

准备部署时,第一个要决定的是会话放哪里:分布式场景用 Redis 会话,想接自己的存储就实现一套自定义 Session 接口;工作流跑得久、又包含人工确认环节时,官方建议用 Temporal 做持久化编排。

想深入的话,可以从本仓库的 docs/quickstart.md 和 docs/sessions.md 起步,再翻一翻 examples 目录里的示例脚本。你会发现,从"跑通一个 hello world"到"让几个智能体配合干活",中间的距离没有想象中那么远。

【免费下载链接】openai-agents-pythonA lightweight, powerful framework for multi-agent workflows项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-python

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询