项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- Python 环境(用 pip 安装依赖)
- 有效的 OpenAI API Key(OPENAI_API_KEY)
- 已安装 agency-swarm 1.x(基于 OpenAI Agents SDK + Responses API)
- 可访问 OpenAI 网络环境
安装与启动步骤
-
1安装 agency-swarm
用 pip 安装或升级到最新版。v1.x 基于 OpenAI Agents SDK 与 Responses API,旧项目需参考迁移指南。
pip install -U agency-swarm -
2配置 OpenAI 密钥
创建 .env 文件写入 OPENAI_API_KEY=your_key(会自动加载),或在 shell 中导出环境变量。
export OPENAI_API_KEY="sk-xxxxxxxx" -
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定义智能体角色
用 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定义通信流
用 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运行演示
可选 Web UI(copilot_demo)、终端(tui)或异步程序化调用 get_response;首次运行会自动配置终端应用。
agency.copilot_demo() -
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 动态心智状态引擎:驱动力、念头池、疲惫、睡眠与意图。
goutoujunshi
开源
先哄情绪再出招,恋爱难题给可执行方案
一个先接住情绪、再分析关系并给出可执行策略的 Codex 恋爱军师,内置心理、法律、社会、人···
geo-sleuth
开源
给 AI 装上地理侦探技能,一张照片顺藤摸瓜找到拍摄地
An agent skill that finds where a photo was taken — OpenStreetMap geometry, elevati···
deepseek-harness
开源
把 AI 能力拆成乐高积木,拼出你的专属智能体。
DeepSeek Harness: Everything is a Plugin.
