京東開源的端到端產品級通用多智能體框架,支持開箱即用的智能體應用開發

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作為京東開源的端到端多智能體框架,具有以下核心優勢:

  1. 產品化程度高:提供完整的端到端解決方案,開箱即用
  2. 性能優異:在GAIA基準測試中表現出色,超越多個知名開源專案
  3. 架構先進:支援多種智能體協作模式和高併發執行
  4. 擴展性強:支援自定義智能體和工具的靈活集成
  5. 部署簡便:提供多種部署方式,不依賴特定雲平台生態

該專案為企業和開發者提供了一個強大而靈活的多智能體解決方案,特別適合需要快速建構智能體應用的場景。

Star History Chart