jd-opensource/joyagent-jdgenieView GitHub Homepage for Latest Official Releases
京东开源的端到端产品级通用多智能体框架,支持开箱即用的智能体应用开发
NOASSERTIONJavajoyagent-jdgeniejd-opensource 2.0k Last Updated: July 28, 2025
JoyAgent-JDGenie 项目详细介绍
项目概述
JoyAgent-JDGenie是京东开源的端到端产品级通用多智能体框架,专门为解决快速构建多智能体产品的最后一公里问题而设计。与现有的SDK或框架类开源agent不同,JoyAgent-JDGenie是端到端的多Agent产品,对于输入的query或者任务,可以直接回答或者解决。
核心特性
1. 开箱即用的完整产品
- 端到端解决方案:用户输入查询或任务后可直接获得结果,无需额外开发
- 多格式输出支持:支持网页版、PPT版报告文档生成
- 轻量化部署:相比其他产品不依赖特定云平台生态
2. 卓越的性能表现
在GAIA榜单准确率达到75.15%,已超越OWL(CAMEL)、Smolagent(Huggingface)、LRC-Huawei(Huawei)、xManus(OpenManus)、AutoAgent(香港大学)等行业知名产品。
3. 完整的技术架构
多智能体协作模式
- Multi-level执行:支持work level和task level两个层级
- Multi-pattern模式:包含plan and executor模式和react模式
- 高并发DAG执行引擎:提供极致的执行效率
核心子智能体
- 报告生成智能体(Report Agent)
- 代码智能体(Code Agent)
- PPT智能体
- 文件智能体
- 搜索智能体(Search Agent)
技术特色
1. 智能体框架协议
- 支持多种智能体设计模式
- 多智能体上下文管理
- 子Agent和工具可插拔设计
2. 高级功能特性
- 基于现有工具的迭代优化:基于已有工具迭代产生新工具,而不是从0-1直接生成
- 原子工具自动组合:基于已有工具隐性拆解为原子工具,并通过大模型自动组合成新工具
- 全链路流式输出:支持实时响应和结果流式传输
- Plan和工具调用RL优化:通过强化学习优化决策过程
3. 多样化文件交付
支持多种输出格式:
- HTML格式
- PowerPoint演示文稿
- Markdown文档
环境要求
系统要求
- Java环境:JDK 17
- Python环境:Python 3.11
Python环境准备
pip install uv
cd genie-tool
uv sync
source .venv/bin/activate
安装部署
方式一:源码部署
1. 克隆项目
git clone https://github.com/jd-opensource/joyagent-jdgenie.git
cd genie-tool
2. 配置环境
修改.env.example
文件,配置执行工具使用的相关参数。
3. 启动服务
首次执行:
sh start_genie_init.sh
后续启动:
sh start_genie.sh
方式二:Docker部署
1. 构建镜像
cd genie-tool
docker build -t genie:latest .
2. 运行容器
# -v 设置本地存储 -e 设置对话模型
docker run -d -p 3004:3000 -p 8080:8080 -p 1601:1601 \
-v /Users/{user}/code/autobots/genie/genie-tool:/data/genie-tool \
-e OPENAI_BASE_URL="" -e OPENAI_API_KEY="" \
--name genie-app genie:latest
扩展开发
自定义工具开发
1. 实现BaseTool接口
/**
* 工具基接口
*/
public interface BaseTool {
String getName(); // 工具名称
String getDescription(); // 工具描述
Map<String, Object> toParams(); // 工具参数
Object execute(Object input); // 调用工具
}
2. 创建自定义智能体示例
// 天气智能体示例
public class WeatherTool implements BaseTool {
@Override
public String getName() {
return "agent_weather";
}
@Override
public String getDescription() {
return "这是一个可以查询天气的智能体";
}
@Override
public Map<String, Object> toParams() {
return "{\"type\":\"object\",\"properties\":{\"location\":{\"description\":\"地点\",\"type\":\"string\"}},\"required\":[\"location\"]}";
}
@Override
public Object execute(Object input) {
return "今日天气晴朗";
}
}
3. 注册自定义Agent
在com.jd.genie.controller.GenieController#buildToolCollection
中添加:
WeatherTool weatherTool = new WeatherTool();
toolCollection.addTool(weatherTool);
MCP服务集成
在genie-backend/src/main/resources/application.yml
中配置:
mcp_server_url: "http://ip1:port1/sse,http://ip2:port2/sse"
与其他框架对比
分类 | Agent | 是否开源 | 是否开源完整产品 | 是否依赖生态 |
---|---|---|---|---|
SDK类 | SpringAI-Alibaba | 部分 | 否,只开源SDK | 是(阿里云百炼平台) |
SDK类 | Coze | 部分 | 否,只开源部分Nieo SDK | 是(火山引擎平台) |
框架类 | Fellow | 是 | 否,只开源了Eko智能体框架 | 否 |
框架类 | Dify | 是 | 否,只开源了智能体框架 | 否 |
框架类 | OpenManus | 是 | 否,只开源了智能体框架 | 否 |
产品类 | JoyAgent-JDGenie | 是 | 是,开源端到端完整的Agent产品 | 否 |
GAIA基准测试结果
Agent | Score | Score_level1 | Score_level2 | Score_level3 | 机构 |
---|---|---|---|---|---|
Alita v2.1 | 0.8727 | 0.8868 | 0.8953 | 0.7692 | Princeton |
Skywork | 0.8242 | 0.9245 | 0.8372 | 0.5769 | 天工 |
AWorld | 0.7758 | 0.8868 | 0.7791 | 0.5385 | Ant Group |
Langfun | 0.7697 | 0.8679 | 0.7674 | 0.5769 | DeepMind |
JoyAgent-JDGenie | 0.7515 | 0.8679 | 0.7791 | 0.4230 | 京东 |
OWL | 0.6424 | 0.7547 | 0.6512 | 0.3846 | CAMEL |
Smolagent | 0.5515 | 0.6792 | 0.5349 | 0.3462 | Huggingface |
总结
JoyAgent-JDGenie作为京东开源的端到端多智能体框架,具有以下核心优势:
- 产品化程度高:提供完整的端到端解决方案,开箱即用
- 性能优异:在GAIA基准测试中表现出色,超越多个知名开源项目
- 架构先进:支持多种智能体协作模式和高并发执行
- 扩展性强:支持自定义智能体和工具的灵活集成
- 部署简便:提供多种部署方式,不依赖特定云平台生态
该项目为企业和开发者提供了一个强大而灵活的多智能体解决方案,特别适合需要快速构建智能体应用的场景。