agency-swarm

像搭团队一样拼多个 AI 智能体,自动分工干活

开源 freemium 智能体
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 4598
维护状态 活跃
是否开源 是
定价模式 freemium

项目预览

项目数据

分类智能体
开发团队VRSEN
所属国家
定价模式freemium
价格说明开源框架免费,官网提供云服务,定价信息待确认
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型
GitHub 星标★ 4598
30天Star增速
HF 下载量
上线时间2023-11-16 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-13
浏览次数0

项目介绍

agency-swarm 是一个基于 OpenAI Assistants API 的多智能体编排框架,目标是让多个 AI 智能体像真实团队一样分工协作。它解决了单智能体在处理复杂任务时容易混乱、无法并行、难以复用的问题:开发者可以定义多个具有独立指令、工具和职责的智能体,再通过一个协调者(Agency)按顺序或层级把任务分派下去,并支持智能体之间互相通信、交接任务。核心能力包括:声明式定义智能体、内置通信与交接机制、支持工具调用与函数、可持久化线程状态、以及可选的层级化编排。相比自己手写多智能体调度逻辑,它把通信协议、上下文传递和任务流转做了封装,适合快速搭建客服、研究、内容生产等需要多角色配合的 AI 应用。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 15 分钟 部署方式:库/依赖 7 步

环境要求

  • Python 环境(用 pip 安装依赖)
  • 有效的 OpenAI API Key(OPENAI_API_KEY)
  • 已安装 agency-swarm 1.x(基于 OpenAI Agents SDK + Responses API)
  • 可访问 OpenAI 网络环境

安装与启动步骤

  1. 1安装 agency-swarm

    用 pip 安装或升级到最新版。v1.x 基于 OpenAI Agents SDK 与 Responses API,旧项目需参考迁移指南。

    pip install -U agency-swarm
  2. 2配置 OpenAI 密钥

    创建 .env 文件写入 OPENAI_API_KEY=your_key(会自动加载),或在 shell 中导出环境变量。

    export OPENAI_API_KEY="sk-xxxxxxxx"
  3. 3定义工具

    推荐用 @function_tool 装饰器定义函数工具,函数需带说明性 docstring,供智能体判断何时调用。

    from agency_swarm import function_tool
    
    
    @function_tool
    def my_custom_tool(example_field: str) -> str:
        """A brief description of what the custom tool does."""
        return f"Result: {example_field}"
  4. 4定义智能体角色

    用 Agent 声明各角色,配置 name、description、instructions、tools、model 等;instructions 可指向 md 文件。

    from agency_swarm import Agent, ModelSettings
    
    ceo = Agent(
        name="CEO",
        description="Responsible for client communication, task planning and management.",
        instructions="You must converse with other agents to ensure complete task execution.",
        files_folder="./files",
        schemas_folder="./schemas",
        tools=[my_custom_tool],
        model="gpt-6-luna",
        model_settings=ModelSettings(max_tokens=25000),
    )
  5. 5定义通信流

    用 Agency 组装智能体,第一个参数是面向用户的入口;用 > 定义有方向的通信关系,左侧可主动发起对话。

    from agency_swarm import Agency
    
    from Developer import Developer
    from VirtualAssistant import VirtualAssistant
    
    dev = Developer()
    va = VirtualAssistant()
    
    agency = Agency(
        ceo,
        communication_flows=[
            ceo > dev,
            ceo > va,
            dev > va,
        ],
        shared_instructions="agency_manifesto.md",
    )
  6. 6运行演示

    可选 Web UI(copilot_demo)、终端(tui)或异步程序化调用 get_response;首次运行会自动配置终端应用。

    agency.copilot_demo()
  7. 7程序化异步调用

    异步方式更推荐;也可用 agency.get_response_sync(...) 做同步调用。resp.final_output 为最终输出。

    import asyncio
    
    
    async def main():
        resp = await agency.get_response("Create a project skeleton.")
        print(resp.final_output)
    
    
    asyncio.run(main())

关键配置

配置项必填说明示例
OPENAI_API_KEY是OpenAI 接口密钥,写入 .env 或导出为环境变量sk-xxxxxxxx
model否Agent 使用的模型名称gpt-6-luna
model_settings.max_tokens否模型最大输出 token 数25000
files_folder否会上传到 OpenAI 的本地文件目录./files
schemas_folder否自动转换为工具的 OpenAPI schema 目录./schemas
shared_instructions否所有智能体共享的指令文件agency_manifesto.md

如何确认成功

运行 agency.copilot_demo() 或 agency.tui() 后出现终端应用与简短设置提示;异步调用能打印 resp.final_output 即成功。

常见问题

Q:从旧版 v0.x 升级要注意什么?

A:v1.x 改用 OpenAI Agents SDK + Responses API,接口有变化,请按官网 Migration Guide(agency-swarm.ai/migration/guide)逐项调整现有项目。

Q:终端运行时首次会做什么?

A:首次运行 Agency Swarm 会自动配置终端应用并显示一段简短设置提示,之后再次运行会直接复用该配置。

Q:如何用 OpenAPI schema 批量生成工具?

A:用 ToolFactory.from_openapi_schema(),可读取本地 JSON 文件内容,也可传入 requests.get 获取的远程 OpenAPI 文档。

Q:只能用异步调用吗?

A:官方推荐异步 get_response;同时也提供 get_response_sync 同步方法,但异步是更推荐的方式。

Q:有可参考的示例项目吗?

A:仓库 ./examples 目录有可运行示例;官方建议先使用 Agency Starter Template 模板再自行定制。

注意事项

  • 智能体之间的通信流是有方向的,> 左侧才能主动发起与右侧的对话。
  • 工具推荐用 @function_tool 装饰器编写,也可继承 BaseTool(基于 Pydantic 字段校验)保持兼容。
  • v1.x 目标平台是 OpenAI Agents SDK 与 Responses API,旧版接口不保证兼容。
  • 官方推荐先克隆 Agency Starter Template 起步,并可用仓库根目录 .cursorrules 配合 AI 编码工具。

核心亮点

  • 基于 OpenAI Assistants API,直接复用官方线程、工具调用和文件能力,接入成本低
  • 提供 Agency 协调者与智能体交接机制,多角色任务流转有现成抽象,不用自己写调度
  • 声明式定义智能体,指令、工具、职责分离清晰,便于复用和替换单个角色

不足之处

  • 强依赖 OpenAI Assistants API,换模型或本地部署时迁移成本高
  • 项目较新,复杂生产场景下的稳定性和边界情况文档仍待完善

适用场景

  • 搭建多角色客服系统,售前、售后、技术支持智能体自动交接
  • 构建研究助手团队,检索、分析、写作智能体分工完成报告
  • 内容生产流水线,选题、撰写、审核智能体按流程协作

替代项目

AutoGen、CrewAI

上一篇:Grader-agent

下一篇:uni-agent

同类项目推荐

xinchao-dynamic-mind 开源

给 AI 装上疲惫和欲望,让交互更真实

独立、可自托管的 AI 动态心智状态引擎:驱动力、念头池、疲惫、睡眠与意图。

★ 213 2026-08-09
goutoujunshi 开源

先哄情绪再出招,恋爱难题给可执行方案

一个先接住情绪、再分析关系并给出可执行策略的 Codex 恋爱军师,内置心理、法律、社会、人···

★ 7731 2026-09-25
geo-sleuth 开源

给 AI 装上地理侦探技能,一张照片顺藤摸瓜找到拍摄地

An agent skill that finds where a photo was taken — OpenStreetMap geometry, elevati···

★ 2102 2026-09-25
deepseek-harness 开源

把 AI 能力拆成乐高积木,拼出你的专属智能体。

DeepSeek Harness: Everything is a Plugin.

★ 248163 2026-08-15