Sage 是一个开源的多代理系统框架,专注于将复杂任务分解为可管理的子任务,通过多个智能代理协作完成。它基于 Python,支持 DeepSeek-V3、GPT-4、Claude-3.5 等多种语言模型,适合企业级应用。Sage 提供深思模式和快速执行模式,适应不同任务需求。用户可通过交互式 Web 界面或命令行操作,享受实时监控和动态工作流管理。项目托管于 GitHub,采用 MIT 许可证,社区活跃,持续更新至版本 0.9.2。
功能列表
- 任务分解:自动将复杂任务拆分为子任务,并跟踪依赖关系。
- 代理协作:多个代理(分析、规划、执行、观察、总结)无缝协作。
- 工具系统:支持插件式工具,自动发现并集成外部 API。
- 双执行模式:提供深思模式(详细分析)和快速执行模式(高效完成)。
- Web 界面:基于 React 和 FastAPI 的现代化界面,支持实时任务可视化。
- 令牌监控:实时跟踪模型使用量,优化成本和性能。
- 自定义工作流:通过可视化编辑器创建和管理复杂工作流。
- 错误处理:内置重试机制和错误恢复,确保系统稳定。
使用帮助
安装流程
Sage 的安装简单,支持 Windows、macOS 和 Linux 系统。以下是基于 GitHub 仓库的安装步骤:
- 克隆仓库
打开终端,运行以下命令获取 Sage 源码:git clone https://github.com/ZHangZHengEric/Sage.git cd Sage
- 安装核心依赖
安装 Sage 核心框架所需的 Python 包:pip install -r requirements.txt
- 确保 Python 版本为 3.10 或更高。
- 核心依赖包括
openai
、pydantic
、python-dotenv
等。
- 安装 Web 界面依赖(可选)
如果需要使用 FastAPI 和 React 的 Web 界面,安装额外依赖:pip install -r examples/fastapi_react_demo/requirements.txt
- 包括
fastapi
、uvicorn
、websockets
等包。
- 包括
- 配置环境变量
创建.env
文件,添加 API 密钥和其他配置。例如:echo "OPENAI_API_KEY=your_openai_key" >> .env echo "SAGE_DEBUG=true" >> .env
- 可参考
mcp_setting_example.json
配置 MCP 服务器连接。
- 可参考
- 运行 Sage
- 命令行模式:直接运行 Python 脚本调用 Sage 功能,例如:
python sagents/main.py
- Web 界面:启动 FastAPI 服务器:
cd examples/fastapi_react_demo uvicorn main:app --host 0.0.0.0 --port 8080
访问
http://localhost:8080
查看 Web 界面。
- 命令行模式:直接运行 Python 脚本调用 Sage 功能,例如:
- 验证安装
运行后,Web 界面应显示交互式任务管理页面。命令行模式会输出 Sage 版本信息(当前为 0.9.2)。
使用主要功能
Sage 通过多代理协作和现代化界面简化复杂任务。以下是核心功能的使用方法:
- 任务分解与代理协作
Sage 将任务分解为子任务,分配给不同代理处理。用户通过 Web 界面或命令行输入任务,例如“分析市场趋势并生成报告”。操作步骤:- Web 界面:在
http://localhost:8080
输入任务描述,点击“提交”。界面会显示任务分解过程,包含分析、规划、执行等阶段。 - 命令行:运行示例脚本:
from sagents import AgentController controller = AgentController() controller.run_task("分析市场趋势并生成报告")
- 代理包括:
- 分析代理:理解任务背景,提供上下文分析。
- 分解代理:将任务拆分为子任务,生成依赖关系图。
- 规划代理:选择合适工具和执行顺序。
- 执行代理:调用工具或 API 执行子任务。
- 观察代理:监控进度,检查完成质量。
- 总结代理:整合结果,生成结构化输出。
- Web 界面:在
- 自定义工作流
Sage 提供可视化工作流编辑器,允许用户设计任务流程:- 访问 Web 界面,点击“工作流编辑器”。
- 使用拖拽界面添加节点(如“分析数据”或“生成图表”)。
- 设置节点间的依赖关系,保存为模板。
- 示例:创建一个工作流,包含“数据收集→分析→报告生成”三个步骤,系统会自动执行。
- 命令行用户可编辑 YAML 文件定义工作流:
workflow: - step: 数据收集 action: call_api params: {url: "https://api.example.com/data"} - step: 数据分析 action: analyze_data depends_on: 数据收集
- 工具系统
Sage 支持插件式工具,自动发现本地或远程工具。例如,连接到 MCP 服务器:- 配置
mcp_setting.json
:{ "mcp_server": "http://example.com:20040", "api_key": "your_api_key" }
- 在 Web 界面中,工具会自动显示在“工具管理”页面,点击启用或禁用。
- 命令行用户可通过脚本调用工具:
from sagents.tools import ToolManager manager = ToolManager() manager.use_tool("excel_parser", file="data.xlsx")
- 配置
- 深思模式与快速执行模式
- 深思模式:适合复杂任务,启用所有代理,生成详细分析和总结。
- Web 界面:选择“深思模式”,输入任务,查看完整执行过程。
- 命令行:设置
mode=deep
:controller.run_task("分析市场趋势", mode="deep")
- 快速执行模式:跳过分析,直接执行任务,适合简单需求。
- Web 界面:选择“快速模式”,输入任务,立即获取结果。
- 命令行:设置
mode=rapid
:controller.run_task("生成图表", mode="rapid")
- 深思模式:适合复杂任务,启用所有代理,生成详细分析和总结。
- 令牌监控
Sage 提供实时令牌使用统计,优化成本:- Web 界面:在“监控”页面查看输入、输出、缓存的令牌使用量。
- 命令行:启用调试模式查看日志:
export SAGE_DEBUG=true python sagents/main.py
- 系统自动压缩消息,减少 30%-70% 的令牌消耗。
- 实时中断
用户可随时中断任务:- Web 界面:点击“停止”按钮,系统在 1-2 秒内暂停,保存中间结果。
- 命令行:按
Ctrl+C
,任务状态会保存至工作空间。
特色功能操作
- Web 界面交互:
- 访问
http://localhost:8080
或在线演示http://36.133.44.114:20040
。 - 使用“深思气泡”查看代理的推理过程,支持展开和折叠。
- 配置规则偏好(
/rules
),调整 AI 行为,如语言风格或代码规范。
- 访问
- 文件查看器:
- 在 Web 界面中,点击文件链接可直接在侧边栏查看内容,无需下载。
- 支持 Markdown、代码等格式,优化了数学公式显示。
- MCP 服务器集成:
- 配置
mcp_setting.json
连接远程服务器,支持 SSE 协议和 API 密钥认证。 - 示例:运行 MCP 服务器并自动发现工具:
python mcp_servers/main.py --config mcp_setting.json
- 配置
应用场景
- 自动化报告生成
Sage 可分解“生成市场分析报告”任务,收集数据、分析趋势、生成图表,最终输出结构化报告,适合企业数据分析。 - 代码开发辅助
开发者使用 Sage 规划代码结构、生成代码片段、验证逻辑,支持自定义代码风格,适合软件开发团队。 - 学术研究支持
研究人员利用深思模式分析复杂问题,调用外部 API 获取数据,生成可视化结果,适合学术论文撰写。 - 内容创作优化
内容创作者通过自定义工作流生成文章大纲、草稿和最终内容,支持多语言输出,适合营销团队。
QA
- Sage 支持哪些语言模型?
Sage 支持 DeepSeek-V3、Qwen-3、GPT-4.1、Claude-3.5 Sonnet 等模型,兼容 OpenAI、Anthropic、Google AI 等提供商的 API。 - 如何访问 Web 界面?
安装后访问http://localhost:8080
,或使用在线演示http://36.133.44.114:20040
。 - Sage 和其他自动化框架有何不同?
Sage 专注于多代理协作和任务分解,支持可视化工作流编辑和实时监控,适合复杂任务的自动化。 - 如何贡献代码?
访问https://github.com/ZHangZHengEric/Sage
,提交 Issue 或 Pull Request,参考docs/CONTRIBUTING.md
。