点击上方蓝色字“越山集” >右上角...>设为星标 ⭐
OpenAI前两天开源了Agent框架 Swarm。越山的第一反应与海波老师一样,学不过来。昨天抽空了解了下,感觉的确比较轻量。对智能体新手开发者来说,好理解,易上手。对有经验的开发者而言,多了一种可扩展的选择方案。
Swarm是什么
第一眼看到Swarm, 感觉很眼熟。早期有个容器编排工具 Docker Swarm,能够将配置好的 Docker 应用程序组合成一个集群,以便进行管理和部署,后来被Kubernetes替代。
取这个名字,Swarm (蜂群),应该也是借鉴其多体协作的概念。
Swarm框架就像是为搞智能体系统的开发者们准备的一个玩具盒子,它把这些复杂的东西简化了,让咱们建起多智能体系统来轻松不少。这个框架特别轻巧,用起来也挺顺手,而且还可以根据需要随便改改。
Swarm框架,主要就是两块:智能体和交接。
智能体(Agent):这些助手自带指令和工具,随时都能把对话转给另一个智能体,每个都挺能干。 交接(Handoff):这就像智能体之间的接力赛,它们互相传递任务,协同工作。
Swarm框架的好处就是代码简洁,容易上手。如果你的项目智能体多,Swarm框架的扩展性也能帮上忙。而且,它可以根据不同的项目需求来定制。最让人省心的是,Swarm框架基本上都是在客户端跑的,它和Chat Completions API一样,调用之间不会保存状态,这样咱们就不用太担心数据安全问题了。
项目地址:https://github.com/openai/swarm
注意
Swarm Agents 与 Assistants API 中的 Assistants 并无关联。它们名称相似仅出于方便考虑,但实际上完全不相关。Swarm 完全由 Chat Completions API 驱动,因此在调用之间是无状态的。
目前该框架仍处于实验阶段,OpenAI 表示不会提供任何官方支持。
安装和使用也很简单,这里举个客服场景中的栗子🌰
我们有一个客服中心,包含三个智能体:
总客服小李:负责初步接待客户并决定是否需要转接。 订单专员小王:专门处理订单相关问题。 技术支持小张:专门处理技术相关问题。
当客户提出问题时,总客服小李首先接待。
根据客户的问题性质,总客服可以决定:
自己回答简单问题 将客户转接给订单专员小王(使用 transfer_to_order_service
函数)将客户转接给技术支持小张(使用 transfer_to_tech_support
函数)
在这个例子中,客户询问了一个关于订单的问题:"你好,我的手机订单什么时候能到货?"
系统会从总客服小李开始处理这个问题。根据问题的性质(订单相关),小李可能会选择将客户转接给订单专员小王。
最后,系统会打印出对客户问题的最终回复,这个回复可能来自总客服小李,也可能来自订单专员小王。
from swarm import Swarm, Agent
# 创建Swarm客户端
client = Swarm()
# 定义转移函数
def transfer_to_order_service():
return order_service_agent
def transfer_to_tech_support():
return tech_support_agent
# 创建总客服智能体
general_service_agent = Agent(
name="总客服小李",
instructions="你是客服中心的总客服。根据客户的问题,决定是否转接到专门的订单服务或技术支持。",
functions=[transfer_to_order_service, transfer_to_tech_support],
)
# 创建订单服务智能体
order_service_agent = Agent(
name="订单专员小王",
instructions="你是专门处理订单相关问题的客服。请用礼貌和专业的语气回答客户的订单问题。",
)
# 创建技术支持智能体
tech_support_agent = Agent(
name="技术支持小张",
instructions="你是专门处理技术问题的客服。请用通俗易懂的语言解答客户的技术问题。",
)
# 模拟客户询问
customer_query = "你好,我的手机订单什么时候能到货?"
# 运行客服系统
response = client.run(
agent=general_service_agent,
messages=[{"role": "user", "content": customer_query}],
)
# 打印最终回复
print(response.messages[-1]["content"])
Swarm能做什么
Swarm框架就相当于给你一套灵活的工具,帮你把多个AI智能体安排得明明白白的。
比如要打造个人IP,需要一堆技能:定位、选题、写作、私域运营……这些听起来是不是头都大了?但有了Swarm,事情就简单多了。
每个环节你都可以找个智能体来帮忙。比如:
定位:可以设置一个Agent, 拥有洋哥,潘达等大佬的智慧,为我解答个人IP定位和执行方面的疑问。。 选题:选题难?有个智能体专门搞这个,它有一套方法论,还能从知识库里调出精华,帮你找到好选题。 写作:设置一个Agent, 学习小林老师,皮特老师等,用他们的优质课程和经验为我指导,甚至直接帮我创作。 私域运营:设置一个Agent, 拥有私域文姐的私域运营经验,解答或指导在私域运营上的疑惑。 ...
这样一来,Swarm框架就是帮你把多个智能体组合起来,打造一个为你个人IP服务的超级团队。你只需要定义好每个智能体的角色和技能,剩下的就交给Swarm来搞定。这样,你就能更专注于自己的核心工作,让智能体帮你处理那些繁琐的事情。
就像扣子Coze里的多Agent模式,不过扣子平台更友好,不用编码,对新手来说更简单。Swarm框架则给那些喜欢自己动手、喜欢探索的开发者提供了更多可能性。
智能体复杂吗
智能体很简单,借助于开放平台,比如扣子,元器等低代码平台,拖拖拽拽,写点提示词,搭配个插件,就能很方便地搭建好智能体。
智能体也可以有点复杂,搭配工作流,知识库,插件,长期记忆等能力,会让它更像一个能力全面的助手。
做得多了,你会发现,智能体本身不复杂,复杂的是场景和具体的问题。如果你能将场景和问题定义清楚,将解决问题的能力,步骤和标准定义好,搭建智能体,就是很简单的事情。
怎么学习智能体
今天一位破局圈友,问我该怎么学习。
越山认为,在实践中学习是最有效的。
03期破局行动今天开始报名,16个AI行动选题,涉及技能类,变现类,元能力类,以及一个最火爆的加强版行动。
有教练带着,有小伙伴一起打卡学习。有兴趣,时间安排得过来的,建议赶紧报名。
越山是这期AI智能体行动营的教练之一,会带来一些进阶的课程指导,比如 Dify平台,私有化部署等。
相关阅读: 智能体学习路径
通知
如果你想要参加破局行动,学习AI,需要成为破局会员。
如果你对打造个人IP,成为超级个体感兴趣,需要系统的指导和赋能,推荐学习洋哥的商业IP课,即将公开发售。加群听公开课,领取“超级个体从零到百万变现”电子书。
就酱,觉得有用的话,欢迎点赞点个“在看”。也欢迎加我好友, 交流, 围观, 学习。