Framework multi-agents généraliste de bout en bout de qualité production, open source par JD.com, prenant en charge le développement d'applications d'agents intelligents prêtes à l'emploi.

NOASSERTIONJavajoyagent-jdgeniejd-opensource 2.0k Last Updated: July 28, 2025

Présentation détaillée du projet JoyAgent-JDGenie

Aperçu du projet

JoyAgent-JDGenie est un cadre d'agents multiples générique de niveau produit de bout en bout, open source par JD.com, conçu spécifiquement pour résoudre le problème du "dernier kilomètre" dans la construction rapide de produits multi-agents. Contrairement aux SDK ou aux cadres d'agents open source existants, JoyAgent-JDGenie est un produit multi-agents de bout en bout qui peut directement répondre ou résoudre les requêtes ou les tâches saisies.

Caractéristiques principales

1. Produit complet prêt à l'emploi

  • Solution de bout en bout : L'utilisateur obtient directement les résultats après avoir saisi une requête ou une tâche, sans développement supplémentaire.
  • Prise en charge de la sortie multiformat : Prend en charge la génération de documents de rapport au format web et PowerPoint.
  • Déploiement léger : Ne dépend pas d'un écosystème de plateforme cloud spécifique, contrairement à d'autres produits.

2. Performances exceptionnelles

Atteint une précision de 75,15 % sur le classement GAIA, dépassant des produits renommés de l'industrie tels que OWL (CAMEL), Smolagent (Huggingface), LRC-Huawei (Huawei), xManus (OpenManus) et AutoAgent (Université de Hong Kong).

3. Architecture technique complète

Modes de collaboration multi-agents

  • Exécution multi-niveaux : Prend en charge deux niveaux : le niveau de travail et le niveau de tâche.
  • Modes multi-modèles : Inclut les modes "plan and executor" et "react".
  • Moteur d'exécution DAG à haute concurrence : Offre une efficacité d'exécution maximale.

Sous-agents principaux

  • Agent de génération de rapports (Report Agent)
  • Agent de code (Code Agent)
  • Agent PPT
  • Agent de fichiers
  • Agent de recherche (Search Agent)

Caractéristiques techniques

1. Protocole de cadre d'agent

  • Prend en charge plusieurs modèles de conception d'agents.
  • Gestion du contexte multi-agents.
  • Conception enfichable pour les sous-agents et les outils.

2. Fonctionnalités avancées

  • Optimisation itérative basée sur les outils existants : Génère de nouveaux outils par itération à partir d'outils existants, plutôt que de les créer directement de zéro.
  • Combinaison automatique d'outils atomiques : Décompose implicitement les outils existants en outils atomiques et les combine automatiquement en de nouveaux outils via un grand modèle.
  • Sortie en flux continu sur toute la chaîne : Prend en charge la réponse en temps réel et la diffusion en continu des résultats.
  • Optimisation RL du plan et de l'appel d'outils : Optimise le processus de décision par l'apprentissage par renforcement.

3. Livraison de fichiers diversifiée

Prend en charge plusieurs formats de sortie :

  • Format HTML
  • Présentation PowerPoint
  • Document Markdown

Exigences environnementales

Exigences système

  • Environnement Java : JDK 17
  • Environnement Python : Python 3.11

Préparation de l'environnement Python

pip install uv
cd genie-tool
uv sync
source .venv/bin/activate

Installation et déploiement

Méthode 1 : Déploiement à partir des sources

1. Cloner le projet

git clone https://github.com/jd-opensource/joyagent-jdgenie.git
cd genie-tool

2. Configurer l'environnement

Modifiez le fichier .env.example pour configurer les paramètres pertinents utilisés par l'outil d'exécution.

3. Démarrer le service

Première exécution :

sh start_genie_init.sh

Démarrages ultérieurs :

sh start_genie.sh

Méthode 2 : Déploiement Docker

1. Construire l'image

cd genie-tool
docker build -t genie:latest .

2. Exécuter le conteneur

# -v configure le stockage local -e configure le modèle de conversation
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

Développement d'extensions

Développement d'outils personnalisés

1. Implémenter l'interface BaseTool

/**
 * Interface de base de l'outil
 */
public interface BaseTool {
    String getName();           // Nom de l'outil
    String getDescription();    // Description de l'outil
    Map<String, Object> toParams(); // Paramètres de l'outil
    Object execute(Object input);   // Appeler l'outil
}

2. Créer un exemple d'agent personnalisé

// Exemple d'agent météo
public class WeatherTool implements BaseTool {
    @Override
    public String getName() {
        return "agent_weather";
    }

    @Override
    public String getDescription() {
        return "这是一个可以查询天气的智能体"; // C'est un agent qui peut consulter la météo
    }

    @Override
    public Map<String, Object> toParams() {
        return "{\"type\":\"object\",\"properties\":{\"location\":{\"description\":\"地点\",\"type\":\"string\"}},\"required\":[\"location\"]}";
    }

    @Override
    public Object execute(Object input) {
        return "今日天气晴朗"; // Le temps est ensoleillé aujourd'hui
    }
}

3. Enregistrer l'agent personnalisé

Ajouter dans com.jd.genie.controller.GenieController#buildToolCollection :

WeatherTool weatherTool = new WeatherTool();
toolCollection.addTool(weatherTool);

Intégration du service MCP

Configurer dans genie-backend/src/main/resources/application.yml :

mcp_server_url: "http://ip1:port1/sse,http://ip2:port2/sse"

Comparaison avec d'autres cadres

Catégorie Agent Open source ? Produit complet open source ? Dépend d'un écosystème ?
Type SDK SpringAI-Alibaba Partiel Non, seul le SDK est open source Oui (Plateforme Alibaba Cloud Bailian)
Type SDK Coze Partiel Non, seul une partie du SDK Nieo est open source Oui (Plateforme Volcengine)
Type Cadre Fellow Oui Non, seul le cadre d'agent Eko est open source Non
Type Cadre Dify Oui Non, seul le cadre d'agent est open source Non
Type Cadre OpenManus Oui Non, seul le cadre d'agent est open source Non
Type Produit JoyAgent-JDGenie Oui Oui, produit Agent complet de bout en bout open source Non

Résultats du test de référence GAIA

Agent Score Score_niveau1 Score_niveau2 Score_niveau3 Organisation
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

Résumé

JoyAgent-JDGenie, en tant que cadre d'agents multiples de bout en bout open source par JD.com, présente les avantages clés suivants :

  1. Haut degré de produitisation : Offre une solution complète de bout en bout, prête à l'emploi.
  2. Performances excellentes : Se distingue dans les tests de référence GAIA, surpassant plusieurs projets open source renommés.
  3. Architecture avancée : Prend en charge divers modes de collaboration multi-agents et une exécution à haute concurrence.
  4. Forte extensibilité : Prend en charge l'intégration flexible d'agents et d'outils personnalisés.
  5. Déploiement simple : Offre plusieurs méthodes de déploiement et ne dépend pas d'un écosystème de plateforme cloud spécifique.

Ce projet offre aux entreprises et aux développeurs une solution multi-agents puissante et flexible, particulièrement adaptée aux scénarios nécessitant la construction rapide d'applications basées sur des agents.

Star History Chart