agency-swarm
Agency Swarm 是一个专为构建多智能体协作应用而设计的可靠编排框架。它基于 OpenAI Agents SDK 进行了深度扩展,旨在将现实世界中的组织架构理念引入 AI 自动化领域,让开发者能够像组建真实公司一样,定义 CEO、助理或开发者等具有特定职责的智能体角色,并让它们高效协同工作。
该工具主要解决了多智能体系统中沟通混乱、状态难以管理以及行为不可控的痛点。通过明确的定向通信流机制,Agency Swarm 确保了智能体之间的交互井然有序;同时,它支持灵活的状态持久化方案,方便用户在不同会话间保存和加载对话历史,非常适合需要长期记忆的生产级应用。
Agency Swarm 特别适合希望打造复杂自动化流程的 AI 开发者和技术研究人员。其独特的技术亮点包括:利用 Pydantic 模型实现类型安全的工具开发,自动验证参数以减少错误;提供对提示词(Prompts)的完全控制权,确保智能体行为精准符合预期;以及兼容多种主流大模型后端(如 Claude、Gemini 等),不仅限于 OpenAI 系列。无论是快速原型验证还是部署企业级服务,Agency Swarm 都能提供直观且强大的基础设施支持。
使用场景
一家中型电商公司的技术团队需要构建一个自动化系统,用于每日监控社交媒体舆情、分析用户反馈并自动生成危机公关报告。
没有 agency-swarm 时
- 角色混乱:开发者需手动编写复杂的条件判断代码来区分“情感分析员”和“报告撰写员”,导致逻辑耦合严重,难以维护。
- 沟通失控:多个 AI 实例之间缺乏标准化的消息传递机制,经常出现信息丢失或重复处理同一任务的情况。
- 状态难持久:一旦程序中断,之前的对话历史和中间分析结果全部丢失,无法跨会话继续执行长流程任务。
- 工具开发繁琐:为每个智能体定制专用工具时,缺乏统一的参数验证机制,经常因输入格式错误导致运行崩溃。
使用 agency-swarm 后
- 架构清晰:利用自定义角色功能,轻松定义 CEO、分析师和写手等独立智能体,各自拥有专属指令和工具集,结构一目了然。
- 流转可控:通过预定义的
communication_flows规范智能体间的单向通信,确保舆情数据按“采集→分析→报告”的顺序精准流转。 - 断点续传:内置的状态持久化回调机制自动将对话线程保存至数据库,即使服务重启也能无缝恢复之前的工作进度。
- 类型安全:基于 Pydantic 模型开发工具,自动校验输入参数,大幅减少了运行时错误,提升了系统的稳定性。
agency-swarm 将原本杂乱无章的脚本堆砌转化为秩序井然的虚拟组织,让多智能体协作像管理真实团队一样高效可靠。
运行环境要求
- macOS
- Linux
- Windows
未说明
未说明

快速开始
🐝 代理集群
.jpg?alt=media&token=8c681331-2a7a-4a69-b21b-3ab1f9bf1a23)
概述
代理集群是一个用于构建多智能体应用的框架。它基于并扩展了 OpenAI Agents SDK,提供了专门的功能来创建、编排和管理协作性的智能体群。
该框架延续了 Arsenii Shatokhin(又名 VRSEN)的原始愿景,即通过将自动化视为现实世界的组织结构,从而简化 AI 机构的创建过程,使智能体和用户都能直观地理解和使用。
从 v0.x 迁移吗? 请参阅我们的 迁移指南,了解如何将您的项目适配到这个基于 SDK 的新版本。
核心特性
- 可自定义的智能体角色:在代理集群框架中,利用底层的 OpenAI Agents SDK,定义不同的智能体角色(如 CEO、虚拟助理、开发者),并为其配备定制化的指令、工具和能力。
- 完全掌控提示/指令:您可以完全控制每个智能体的引导提示(指令),以实现精确的行为定制。
- 类型安全的工具:使用 Pydantic 模型开发工具,实现自动参数验证,兼容 OpenAI Agents SDK 的
FunctionTool格式。 - 协调的智能体通信:智能体通过专用的
send_message工具进行通信,交互由Agency上明确、定向的communication_flows规则管理。 - 灵活的状态持久化:通过为
Agency提供load_threads_callback和save_threads_callback,管理对话历史,实现跨会话的持久化存储(如数据库或文件存储)。 - 多智能体编排:在 OpenAI Agents SDK 的基础上构建智能体工作流,并通过代理集群的结构化编排层进一步增强。
- 面向生产环境:专为可靠性设计,易于部署于实际环境中。
安装
pip install -U agency-swarm
v1.x 注意事项: 该框架针对的是 OpenAI Agents SDK + Responses API。 从 v0.x 迁移吗?请参阅 迁移指南。
兼容性
- Python:3.12 及以上版本
- 模型后端:
- OpenAI(原生): GPT-5 系列、GPT-4o 等
- 通过 LiteLLM(路由器): Anthropic(Claude)、Google(Gemini)、Grok(xAI)、Azure OpenAI、OpenRouter(网关) 等
- 操作系统:macOS、Linux、Windows
如果您遇到环境问题,请参阅 安装指南。
开始使用
推荐:在自定义任何内容之前,请先从 Agency Starter Template 开始。
设置 OpenAI API 密钥:
- 创建一个包含
OPENAI_API_KEY=your_key的.env文件(自动加载),或者在你的 shell 中导出它:
export OPENAI_API_KEY="YOUR_API_KEY"- 创建一个包含
创建工具: 使用现代的
@function_tool装饰器定义工具(推荐),或扩展BaseTool(兼容):from agency_swarm import function_tool @function_tool def my_custom_tool(example_field: str) -> str: """自定义工具的简要描述。""" return f"结果:{example_field}"或者使用
BaseTool:from agency_swarm.tools import BaseTool from pydantic import Field class MyCustomTool(BaseTool): """ 自定义工具的简要描述。 文档字符串应清晰说明工具的目的和功能。 代理将根据此文档决定何时使用该工具。 """ # 使用 Pydantic Field 定义带有描述的字段 example_field: str = Field( ..., description="示例字段的描述,解释其用途及对代理的意义。" ) def run(self): """ run 方法的实现,执行工具的主要功能。 """ # 在这里编写自定义工具的逻辑 # do_something(self.example_field) # 返回工具操作的结果 return "MyCustomTool 操作的结果"或者从 OpenAPI 模式转换:
from agency_swarm.tools import ToolFactory # 使用本地文件 with open("schemas/your_schema.json") as f: tools = ToolFactory.from_openapi_schema( f.read(), ) # 使用 requests import requests tools = ToolFactory.from_openapi_schema( requests.get("https://api.example.com/openapi.json").json(), )定义代理角色:首先定义你的代理角色。例如,一个 CEO 代理用于管理任务,一个开发者代理用于执行任务。
from agency_swarm import Agent, ModelSettings ceo = Agent( name="CEO", description="负责客户沟通、任务规划与管理。", instructions="您必须与其他代理对话,以确保任务的完整执行。",# 可以是像 ./instructions.md 这样的文件 files_folder="./files", # 将上传到 OpenAI 的文件 schemas_folder="./schemas", # 将转换为工具的 OpenAPI 模式 tools=[my_custom_tool], # 由 @function_tool 返回的 FunctionTool(或通过 ToolFactory 转换 BaseTool) model="gpt-5.4-mini", model_settings=ModelSettings( max_tokens=25000, ), )从示例入手:
- 浏览
./examples查看可运行的演示和模式,以便进行调整。 - 使用仓库根目录下的
.cursorrules文件,配合你的 AI 编码代理(Cursor、Claude Code 等)。 - 参阅 Cursor IDE 指南:https://agency-swarm.ai/welcome/getting-started/cursor-ide
- 浏览
定义机构通信流程: 确定你的代理之间如何相互沟通。
from agency_swarm import Agency # 如果从本地文件导入 from Developer import Developer from VirtualAssistant import VirtualAssistant dev = Developer() va = VirtualAssistant() agency = Agency( ceo, # CEO 将作为与用户沟通的入口点 communication_flows=[ ceo > dev, # CEO 可以发起与开发者之间的沟通 ceo > va, # CEO 可以发起与虚拟助理之间的沟通 dev > va # 开发者可以发起与虚拟助理之间的沟通 ], shared_instructions='agency_manifesto.md', # 所有代理共享的指令 )在 Agency Swarm 中,通信流程是单向的。
>运算符定义了允许的发起方(左侧可以发起与右侧的对话)。运行演示
Web UI:
agency.copilot_demo()
终端:
agency.tui()
首次运行时,Agency Swarm 会自动设置终端应用,显示简短的设置信息,并在后续运行中重复使用。
查看终端工作流指南:https://agency-swarm.ai/core-framework/agencies/agent-swarm-cli
程序化(异步):
import asyncio
async def main():
resp = await agency.get_response("创建一个项目框架。")
print(resp.final_output)
asyncio.run(main())
需要同步吗?agency.get_response_sync(...) 也存在,但建议使用异步方式。
文件夹结构
推荐的代理文件夹结构如下:
/your-specified-path/
│
├── agency_manifesto.md 或 .txt # 机构的指导原则(如不存在则会创建)
└── AgentName/ # 特定代理的目录
├── files/ # 将上传到 OpenAI 的文件目录
├── schemas/ # 将转换为工具的 OpenAPI 模式的目录
├── tools/ # 默认导入工具的目录
├── AgentName.py # 主代理类文件
├── __init__.py # 初始化代理文件夹为 Python 包
├── instructions.md 或 .txt # 代理的指令文档
└── tools.py # 专属于该代理角色的自定义工具。
这种结构确保每个代理都有独立的空间,包含开始执行特定任务所需的所有文件。tools.py 可以根据代理的角色定制工具和功能。
了解更多
- 安装:https://agency-swarm.ai/welcome/installation
- 从零开始指南:https://agency-swarm.ai/welcome/getting-started/from-scratch
- Cursor IDE 工作流:https://agency-swarm.ai/welcome/getting-started/cursor-ide
- 工具概述:https://agency-swarm.ai/core-framework/tools/overview
- 代理概述:https://agency-swarm.ai/core-framework/agents/overview
- 机构概述:https://agency-swarm.ai/core-framework/agencies/overview
- 通信流程:https://agency-swarm.ai/core-framework/agencies/communication-flows
- 运营机构:https://agency-swarm.ai/core-framework/agencies/running-agency
- Agent Swarm CLI:https://agency-swarm.ai/core-framework/agencies/agent-swarm-cli
- 可观测性:https://agency-swarm.ai/additional-features/observability
贡献
有关如何为 Agency Swarm 做贡献的详细信息,请参阅 贡献指南。
许可证
Agency Swarm 是开源项目,采用 MIT 许可证。
需要帮助吗?
如果您需要帮助为您的企业创建自定义智能体集群,请查看我们的智能体即服务订阅计划,或通过 https://calendly.com/vrsen/ai-readiness-call 预约与我进行咨询。
版本历史
v1.1.02025/10/08v1.0.22025/09/23v1.0.12025/09/13v1.0.02025/09/03v1.0.0-beta.62025/08/26v0.7.22025/07/29v1.0.0-beta.52025/07/17v1.0.0-beta.42025/07/05v1.0.0-beta.32025/07/01v1.8.12026/04/14v1.8.02026/02/25v1.7.02026/01/20v1.6.02025/12/24v1.5.02025/12/01v1.4.12025/11/15v1.4.02025/11/12v1.3.12025/10/31v1.3.02025/10/28v1.2.12025/10/15v1.2.02025/10/14常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器