Ein von JD.com Open Source entwickeltes, durchgängiges, produktionsreifes und allgemeines Multi-Agenten-Framework, das die sofortige Entwicklung von Agentenanwendungen unterstützt.

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

Detaillierte Projektbeschreibung von JoyAgent-JDGenie

Projektübersicht

JoyAgent-JDGenie ist ein von JD Open Source entwickeltes End-to-End-Produkt-Level-Framework für allgemeine Multi-Agenten-Systeme, das speziell dafür konzipiert wurde, das "Last-Mile"-Problem beim schnellen Aufbau von Multi-Agenten-Produkten zu lösen. Im Gegensatz zu bestehenden Open-Source-Agenten, die als SDKs oder Frameworks konzipiert sind, ist JoyAgent-JDGenie ein End-to-End-Multi-Agenten-Produkt, das eingegebene Anfragen (Queries) oder Aufgaben direkt beantworten oder lösen kann.

Kernfunktionen

1. Sofort einsatzbereites Komplettprodukt

  • End-to-End-Lösung: Benutzer erhalten direkt Ergebnisse nach Eingabe einer Anfrage oder Aufgabe, ohne zusätzliche Entwicklung.
  • Unterstützung für mehrere Ausgabeformate: Unterstützt die Generierung von Berichts-Dokumenten im Web- und PPT-Format.
  • Leichte Bereitstellung: Im Vergleich zu anderen Produkten nicht von einem spezifischen Cloud-Plattform-Ökosystem abhängig.

2. Herausragende Leistung

Mit einer Genauigkeit von 75,15 % in der GAIA-Rangliste hat es branchenbekannte Produkte wie OWL (CAMEL), Smolagent (Huggingface), LRC-Huawei (Huawei), xManus (OpenManus) und AutoAgent (University of Hong Kong) übertroffen.

3. Vollständige technische Architektur

Multi-Agenten-Kooperationsmodus

  • Multi-Level-Ausführung: Unterstützt zwei Ebenen: Work-Level und Task-Level.
  • Multi-Pattern-Modus: Umfasst den Plan-and-Executor-Modus und den React-Modus.
  • Hochparalleler DAG-Ausführungs-Engine: Bietet höchste Ausführungseffizienz.

Kern-Sub-Agenten

  • Berichtsgenerierungs-Agent (Report Agent)
  • Code-Agent (Code Agent)
  • PPT-Agent
  • Datei-Agent
  • Such-Agent (Search Agent)

Technische Besonderheiten

1. Agenten-Framework-Protokoll

  • Unterstützt verschiedene Agenten-Designmuster.
  • Multi-Agenten-Kontextverwaltung.
  • Plug-and-Play-Design für Sub-Agenten und Tools.

2. Erweiterte Funktionen

  • Iterative Optimierung basierend auf bestehenden Tools: Neue Tools werden iterativ aus vorhandenen Tools generiert, anstatt direkt von Grund auf neu erstellt zu werden.
  • Automatische Kombination von Atom-Tools: Vorhandene Tools werden implizit in Atom-Tools zerlegt und durch große Modelle automatisch zu neuen Tools kombiniert.
  • End-to-End-Streaming-Ausgabe: Unterstützt Echtzeit-Antworten und Streaming der Ergebnisse.
  • RL-Optimierung für Plan- und Tool-Aufrufe: Optimierung des Entscheidungsprozesses durch Reinforcement Learning.

3. Vielfältige Dateibereitstellung

Unterstützt verschiedene Ausgabeformate:

  • HTML-Format
  • PowerPoint-Präsentation
  • Markdown-Dokument

Systemanforderungen

Systemanforderungen

  • Java-Umgebung: JDK 17
  • Python-Umgebung: Python 3.11

Python-Umgebung vorbereiten

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

Installation und Bereitstellung

Methode 1: Bereitstellung aus dem Quellcode

1. Projekt klonen

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

2. Umgebung konfigurieren

Bearbeiten Sie die Datei .env.example, um die relevanten Parameter für die Ausführung der Tools zu konfigurieren.

3. Dienst starten

Erste Ausführung:

sh start_genie_init.sh

Nachfolgende Starts:

sh start_genie.sh

Methode 2: Docker-Bereitstellung

1. Image erstellen

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

2. Container ausführen

# -v Lokalen Speicher einrichten -e Konversationsmodell einrichten
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

Erweiterte Entwicklung

Benutzerdefinierte Tool-Entwicklung

1. Implementierung des BaseTool-Interfaces

/**
 * Basis-Tool-Interface
 */
public interface BaseTool {
    String getName();           // Tool-Name
    String getDescription();    // Tool-Beschreibung
    Map<String, Object> toParams(); // Tool-Parameter
    Object execute(Object input);   // Tool aufrufen
}

2. Beispiel für die Erstellung eines benutzerdefinierten Agenten

// Beispiel für einen Wetter-Agenten
public class WeatherTool implements BaseTool {
    @Override
    public String getName() {
        return "agent_weather";
    }

    @Override
    public String getDescription() {
        return "Dies ist ein Agent, der das Wetter abfragen kann";
    }

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

    @Override
    public Object execute(Object input) {
        return "Heute ist das Wetter sonnig";
    }
}

3. Benutzerdefinierten Agenten registrieren

Fügen Sie in com.jd.genie.controller.GenieController#buildToolCollection hinzu:

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

MCP-Dienstintegration

Konfigurieren Sie in genie-backend/src/main/resources/application.yml:

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

Vergleich mit anderen Frameworks

Kategorie Agent Open Source? Open Source als komplettes Produkt? Abhängig vom Ökosystem?
SDK-Klasse SpringAI-Alibaba Teilweise Nein, nur SDK ist Open Source Ja (Alibaba Cloud Bailian Plattform)
SDK-Klasse Coze Teilweise Nein, nur Teile des Nieo SDK sind Open Source Ja (Volcano Engine Plattform)
Framework-Klasse Fellow Ja Nein, nur das Eko Agenten-Framework ist Open Source Nein
Framework-Klasse Dify Ja Nein, nur das Agenten-Framework ist Open Source Nein
Framework-Klasse OpenManus Ja Nein, nur das Agenten-Framework ist Open Source Nein
Produkt-Klasse JoyAgent-JDGenie Ja Ja, Open Source als komplettes End-to-End-Agentenprodukt Nein

GAIA Benchmark-Ergebnisse

Agent Score Score_Level1 Score_Level2 Score_Level3 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

Zusammenfassung

JoyAgent-JDGenie, als von JD Open Source entwickeltes End-to-End-Multi-Agenten-Framework, bietet die folgenden Kernvorteile:

  1. Hoher Produktisierungsgrad: Bietet eine vollständige End-to-End-Lösung, sofort einsatzbereit.
  2. Hervorragende Leistung: Zeigt herausragende Ergebnisse in den GAIA-Benchmark-Tests und übertrifft mehrere bekannte Open-Source-Projekte.
  3. Fortschrittliche Architektur: Unterstützt verschiedene Multi-Agenten-Kooperationsmodi und hochparallele Ausführung.
  4. Starke Erweiterbarkeit: Unterstützt die flexible Integration benutzerdefinierter Agenten und Tools.
  5. Einfache Bereitstellung: Bietet verschiedene Bereitstellungsmethoden und ist nicht von einem spezifischen Cloud-Plattform-Ökosystem abhängig.

Dieses Projekt bietet Unternehmen und Entwicklern eine leistungsstarke und flexible Multi-Agenten-Lösung, die sich besonders für Szenarien eignet, in denen Agenten-Anwendungen schnell erstellt werden müssen.

Star History Chart