多智能体系统架构设计与代码级落地实现 原创

发布于 2025-7-1 08:09
浏览
0收藏

多智能体系统(Muti-Agents)是能够自己思考、计划、找出相关信息来源并从中提取信息、采取行动,甚至在出错时还能自我纠正的自动系统。

多智能体系统架构设计与代码级落地实现-AI.x社区

OpenAI 推出了Swarm 开源框架,用来以一种非常灵活的方式来管理和协调多智能体系统。

本文我们基于 OpenAI 推出的 Swarm 开源框架,来实现多智能体系统。内容包括:多智能体案例架构设计;多智能体案例代码级实现。

下文我们详细剖析之。

1、多智能体案例架构设计

今天,我们来做个实际的操作演示。我们要做一个网上研究助手多智能体应用,这个应用包括以下功能:

  • 接收用户的查询请求。
  • 在网上搜索相关信息。
  • 然后把它变成一篇精心撰写的文章。

我们会用到:

  • OpenAI Swarm 来协调多个智能体。
  • Streamlit 来做用户界面。

网上研究助手多智能体应用架构设计如下:

多智能体系统架构设计与代码级落地实现-AI.x社区

如上图所示,我们有三个智能体:

智能体1 → 接收用户的查询并在网页上搜索。 

智能体2 → 接收智能体1找到的网页结果,然后进行优化。

智能体3 → 一个技术写作智能体,它接收优化后的结果,起草一篇文章,然后发送回给用户。


2、多智能体案例代码实现

第一、准备工作

首先,我们从一些基础的导入开始:

多智能体系统架构设计与代码级落地实现-AI.x社区

我们使用 OpenAI 的 Swarm 来构建我们的多智能体应用。

我们用 duckduckgo_search 来在网上搜索。

接下来,我们定义大模型名称,并初始化 Swarm 客户端和搜索客户端:

多智能体系统架构设计与代码级落地实现-AI.x社区

第二、网络搜索智能体1 架构设计和代码实现

智能体1需要接收用户的查询,在网上搜索,然后返回原始的网页结果。

多智能体系统架构设计与代码级落地实现-AI.x社区

为了实现这个功能,我们首先编写一个函数,该函数接收查询并返回原始结果。

多智能体系统架构设计与代码级落地实现-AI.x社区

第7行:在网上搜索。

第9-16行:将所有网页结果(标题+网址+正文)收集到一个字符串中并返回。

接下来,我们定义一个网络搜索智能体,它将使用上述函数,我们还在下面为这个智能体指定了指令:

多智能体系统架构设计与代码级落地实现-AI.x社区

第1行:我们指定角色。

第6-11行:我们定义了一个来自 OpenAI Swarm 的 Agent 类的对象,指定上述函数、指令和 LLM(大语言模型)。

第三、网络过滤智能体2 架构设计和代码实现

智能体1 返回的结果可能会相当混乱,并且可能包含很多不相关的信息。我们需要另一个智能体来筛选出合适的信息。

多智能体系统架构设计与代码级落地实现-AI.x社区

和智能体1一样,我们再定义一个 Agent 类的另一个对象,并且传递指令:

多智能体系统架构设计与代码级落地实现-AI.x社区

第四、写作智能体3 架构设计和代码实现

最后,我们创建另一个智能体3,它接收上面筛选过的结果并起草一篇文章。

多智能体系统架构设计与代码级落地实现-AI.x社区

第五、多智能体架构和代码实现整合

虽然我们已经定义了上述三个智能体,但多智能体应用并不知道这些智能体应该按什么顺序运行,以及谁的输出应该传递给下一个智能体。

因此,我们需要在一个工作流程中把它们串联起来。

为了简单起见,我们一步一步来做。

首先,我们将用户查询传递给网络搜索智能体1,它生成原始响应:

多智能体系统架构设计与代码级落地实现-AI.x社区

接下来,我们将原始响应传递给网络过滤智能体2:

多智能体系统架构设计与代码级落地实现-AI.x社区

最后,我们将筛选后的结果传递给写作智能体3:

多智能体系统架构设计与代码级落地实现-AI.x社区

run_worwflow(query) 运行工作流程方法的完整代码如下:

多智能体系统架构设计与代码级落地实现-AI.x社区

执行运行工作流程方法会生成预期的输出,如下图所示:

多智能体系统架构设计与代码级落地实现-AI.x社区

当然,我们本文没有涉及 Streamlit 前端部分,完整的代码已放在 Github 上。

第六、多智能体应用案例完整代码获取地址:

​https://github.com/patchy631/ai-engineering-hub/tree/main​


本文转载自​玄姐聊AGI​  作者:玄姐

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-7-1 08:09:34修改
收藏
回复
举报
1条回复
按时间正序
/
按时间倒序
lindaye123
lindaye123

​j56.cc​​ 首冲一百送一百 真人足球体育 流水不限制

回复
2025-7-1 15:35:40
回复
相关推荐