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基準測試中表現出色,超越多個知名開源專案
- 架構先進:支援多種智能體協作模式和高併發執行
- 擴展性強:支援自定義智能體和工具的靈活集成
- 部署簡便:提供多種部署方式,不依賴特定雲平台生態
該專案為企業和開發者提供了一個強大而靈活的多智能體解決方案,特別適合需要快速建構智能體應用的場景。