|
@@ -1,3 +1,93 @@
|
|
|
|
|
+# agency-swarm
|
|
|
|
|
+
|
|
|
|
|
+基于OpenAI Agents SDK构建的可靠多Agent编排框架。提供专业化功能用于创建、编排和管理协作式AI Agent群体,已生产级就绪。
|
|
|
|
|
+
|
|
|
|
|
+## (一)项目简介
|
|
|
|
|
+
|
|
|
|
|
+agency-swarm填补了"单Agent demo"到"生产级多Agent系统"之间的鸿沟,让团队能够用声明式方式定义Agent角色、工具和通信流。
|
|
|
|
|
+
|
|
|
|
|
+**核心优势:**
|
|
|
|
|
+- **角色化Agent设计**:CEO(协调者)、Developer(开发者)、Assistant(助手)等自定义角色,每个Agent有独立指令和行为模式
|
|
|
|
|
+- **完全Prompt控制**:开发者对每个Agent的Prompt/指令拥有完全控制权
|
|
|
|
|
+- **类型安全工具**:基于Pydantic定义工具,自动类型校验,避免运行时错误
|
|
|
|
|
+- **编排的Agent通信**:通过send_message工具实现Agent间消息传递,支持同步/异步通信
|
|
|
|
|
+- **灵活状态持久化**:支持多种状态存储后端,满足不同部署需求
|
|
|
|
|
+- **生产级就绪**:经过生产环境验证,稳定性有保障
|
|
|
|
|
+- **多模型支持**:支持OpenAI原生模型(GPT-5/4o等)和LiteLLM路由(Claude/Gemini/Grok/Azure/OpenRouter等)
|
|
|
|
|
+
|
|
|
|
|
+## (二)环境前置要求
|
|
|
|
|
+
|
|
|
|
|
+- **Python**:3.12+
|
|
|
|
|
+- **依赖**:OpenAI Agents SDK(pip安装自动处理)
|
|
|
|
|
+- **API密钥**:OpenAI API Key 或 LiteLLM 兼容的 API 端点
|
|
|
|
|
+
|
|
|
|
|
+## (三)快速开始/安装部署
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# 安装
|
|
|
|
|
+pip install -U agency-swarm
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## (四)基础使用示例
|
|
|
|
|
+
|
|
|
|
|
+### 第一步:设置API密钥
|
|
|
|
|
+
|
|
|
|
|
+```python
|
|
|
|
|
+import os
|
|
|
|
|
+os.environ["OPENAI_API_KEY"] = "your-api-key"
|
|
|
|
|
+# 或使用LiteLLM路由
|
|
|
|
|
+os.environ["LITELLM_MODEL"] = "claude-3-5-sonnet"
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 第二步:定义工具
|
|
|
|
|
+
|
|
|
|
|
+```python
|
|
|
|
|
+from agency_swarm import function_tool
|
|
|
|
|
+from pydantic import Field
|
|
|
|
|
+
|
|
|
|
|
+@function_tool
|
|
|
|
|
+def send_email(to: str, subject: str, body: str = Field(...)) -> str:
|
|
|
|
|
+ """发送邮件"""
|
|
|
|
|
+ # 实现邮件发送逻辑
|
|
|
|
|
+ return f"邮件已发送至 {to}"
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 第三步:定义Agent角色
|
|
|
|
|
+
|
|
|
|
|
+```python
|
|
|
|
|
+from agency_swarm import Agent, Agency
|
|
|
|
|
+
|
|
|
|
|
+ceo = Agent(
|
|
|
|
|
+ name="CEO",
|
|
|
|
|
+ instructions="你是公司CEO,负责协调各部门Agent完成战略任务。",
|
|
|
|
|
+ tools=[]
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+developer = Agent(
|
|
|
|
|
+ name="Developer",
|
|
|
|
|
+ instructions="你是资深开发工程师,负责代码审查和技术决策。",
|
|
|
|
|
+ tools=[send_email]
|
|
|
|
|
+)
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 第四步:定义Agency并运行
|
|
|
|
|
+
|
|
|
|
|
+```python
|
|
|
|
|
+agency = Agency(
|
|
|
|
|
+ ceo=ceo,
|
|
|
|
|
+ agents=[developer],
|
|
|
|
|
+ shared_instructions="所有Agent共同目标是高效完成任务。"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+# CEO向Developer委派任务
|
|
|
|
|
+result = agency.run("帮我审查最近提交的代码")
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## (五)开源许可证
|
|
|
|
|
+
|
|
|
|
|
+本项目采用 **MIT** 开源许可证。
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
# 🐝 Agency Swarm
|
|
# 🐝 Agency Swarm
|
|
|
|
|
|
|
|
.jpg?alt=media&token=8c681331-2a7a-4a69-b21b-3ab1f9bf1a23)
|
|
.jpg?alt=media&token=8c681331-2a7a-4a69-b21b-3ab1f9bf1a23)
|