python from swarm import Swarm
client = Swarm()def transfer_to_agent_b():
return agent_b
agent_a = Agent(
name="Agent A",
instructions="You are a helpful agent.",
functions=[transfer_to_agent_b],)agent_b = Agent(
name="Agent B",
instructions="Only speak in Haikus.",)response = client.run(
agent=agent_a,
messages=[{"role": "user", "content": "I want to talk to agent B."}],)print(response.messages[-1]["content"])
Hope glimmers brightly,
New paths converge gracefully,
What can I assist?
client.run()
Swarm 的 run() 函数类似于 Chat Completions API 中的 chat.completions.create() 函数——它接收消息并返回消息,但在调用之间不保存任何状态。然而,重要的是,它还处理Agent函数执行、交接、上下文变量引用,并且在返回给用户之前可以处理多个回合。
在核心层面,Swarm 的 client.run() 实现了以下循环:
-
从当前agent获取一个完成
-
执行工具调用并追加结果
-
如有必要,切换agent
-
如有必要,更新上下文变量
-
如果没有新的函数调用,返回

智能体(Agent)

python
from swarm import Swarm, Agent
client = Swarm()# 定义一个函数,该函数根据上下文变量生成指令def instructions(context_variables):
user_name = context_variables["user_name"]
return f"Help the user, {user_name}, do whatever they want."# 创建一个智能体,使用动态生成的指令agent = Agent(
instructions=instructions)# 使用client运行智能体,传入用户消息和上下文变量response = client.run(
agent=agent,
messages=[{"role": "user", "content": "Hi!"}],
context_variables={"user_name": "John"})# 打印出最终回复的内容print(response.messages[-1]["content"])
Hi John, how can I assist you today?
多智能体领域的其他参与者
总之,多智能体系统是AI未来的关键组成部分。就像CPU的强大并不能解决所有计算挑战一样,AI模型的规模也不能解决所有问题。专门的智能体将需要处理复杂的工作流程和分布式任务。Swarm虽然是实验性的,但它为我们提供了一个重要的视角,展示了这些系统如何实现。其灵活性和简洁性使其成为尝试不同智能体协作方法的优秀框架。
深圳领驭科技有限公司,作为微软中国南区的核心合作伙伴及HK CSP资质持有者,已成为国内首批获得Azure OpenAI服务授权的服务商之一。我司正积极整合Azure OpenAI的强大功能,包括先进的自然语言处理、分析和推理能力,到其产品和行业解决方案中。
Azure OpenAI服务通过其大规模生成式AI模型,支持企业客户根据特定需求和场景,开发创新应用,涵盖辅助写作、代码编写、多媒体内容生成以及数据分析等多个领域,为互联网、游戏、金融、零售、医药等行业以及自动驾驶和智能制造等前沿技术领域带来深远影响。
联系我们
深圳领驭科技有限公司
电话:0755 8654 3872
电邮:marketing@leinwin.com
网址:ai.leinwin.com
地址:深圳市南山区粤海街道高新科技园中区科技中三路5号国人通信大厦A座902


