Zum Hauptinhalt springen
Lektion 12 von 18 · Mistral Agents: Aufbau autonomer KI

Einführung in Multi-Agenten-Übergaben

Lektion 12 von 18 Aktualisiert am 3. November 2026 Entwickler
Auf dieser Seite
  1. Warum mehrere Agenten orchestrieren?
  2. Funktionsweise von Übergaben
  3. Typische Architektur
  4. Ausführungsmodi
  5. Ausgabe-Ereignisse
  6. Kernaussagen

Warum mehrere Agenten orchestrieren?

Bisher haben Sie mit einzelnen Agenten gearbeitet: ein Agent, seine Anweisungen, seine Werkzeuge. Dieses Modell stößt schnell an Grenzen, wenn eine Aufgabe heterogene Fähigkeiten erfordert. Nehmen Sie eine Anfrage zur Marktforschung: Sie müssen Daten suchen, diese numerisch analysieren und anschließend einen lesbaren Bericht erstellen. Sie könnten versuchen, alles einem einzigen Agenten zu übergeben, wobei die Anweisungen mit jeder neuen Anforderung anwachsen, bis sie zu einem widersprüchlichen Textblock werden, den das Modell zunehmend weniger effektiv anwendet. Die Mistral API bietet eine Alternative: Ketten spezialisierter Agenten, die das Zepter weiterreichen.

Dies ist das Konzept einer Übergabe (Handoff): Ein Agent überträgt die Kontrolle über das Gespräch an einen anderen Agenten, der besser für die aktuelle Teilanfrage gerüstet ist. Das Gespräch selbst ändert sich nicht – nur die Hand, die die Zügel führt.

Funktionsweise von Übergaben

Der Mechanismus spiegelt genau wider, was eine menschliche Organisation tut, wenn sie mit einer zusammengesetzten Anfrage konfrontiert ist. Ein Router-Agent empfängt die initiale Anfrage, ähnlich wie ein Vermittler am Telefon. Er analysiert die Anfrage, identifiziert den Spezialisten-Agenten, der am besten positioniert ist, um sie zu bearbeiten, und überträgt das Gespräch an diesen Spezialisten. Der Spezialist bearbeitet seine Teilanfrage und kann, wenn er auf Bedürfnisse stößt, die über seinen Bereich hinausgehen, an einen dritten Agenten weitervermitteln. Die finale Antwort fließt zurück zum Benutzer, der nur einen einzigen Gesprächspartner wahrnimmt.

Daraus ergeben sich vier Vorteile, die sich gegenseitig verstärken. Erstens Spezialisierung: Jeder Agent hat einen begrenzten Umfang und präzise Anweisungen. Der Web-Such-Agent führt keine Berechnungen durch, und umgekehrt. Dies verbessert die Antwortqualität, da keine Anweisung einer anderen widerspricht. Zweitens Wartbarkeit: Eine Änderung des Verhaltens eines Spezialisten wirkt sich nicht auf andere aus. Sie können sein Modell, seine Anweisungen oder seine Werkzeuge austauschen, ohne den Rest des Systems zu berühren. Drittens Skalierbarkeit folgt direkt daraus – das Hinzufügen einer Fähigkeit bedeutet, einen neuen Spezialisten-Agenten zu erstellen und ihn als Übergabeziel zu registrieren. Der Router wählt ihn dann aus, wenn die Anfrage dazu passt. Schließlich Nachvollziehbarkeit: Jede Übergabe erzeugt ein agent.handoff-Ereignis in den Ausgaben, sodass Sie nachträglich rekonstruieren können, welcher Agent welchen Teil der Anfrage bearbeitet hat, ohne selbst Instrumentierung vornehmen zu müssen.

Typische Architektur

User
    │
    ▼
Router Agent (Orchestrator)
    ├── Web Search Agent (web_search)
    ├── Calculator Agent (code_interpreter)
    ├── Writer Agent (spezifische Anweisungen)
    └── Document Agent (document_library)

Der Router entscheidet dynamisch, an welchen Agenten er die Übergabe vornimmt, basierend auf der Anfrage. Er ist nicht auf eine einzige Übergabe beschränkt: Er kann auch sequenzielle Abläufe orchestrieren, wie z. B. zuerst suchen, dann berechnen und schließlich schreiben, wobei jeder Schritt den Kontext für den nächsten bereichert.

Verfolgen wir eine echte Anfrage: „Finden Sie den aktuellen Zinssatz der EZB und berechnen Sie den Zinseszinseffekt über 10 Jahre für eine Investition von 100.000 €.” Der Finanz-Agent, der als Router fungiert, empfängt die Anfrage und erkennt, dass sie zwei distincte Bedürfnisse enthält. Er überträgt zunächst an den Web-Such-Agenten, der den aktuellen EZB-Zinssatz holt – ein Datum, das kein Modell aus dem Gedächtnis kennt. Eine zweite Übergabe überträgt die Kontrolle an den Rechen-Agenten, der die Formel für den Zinseszins auf den gerade gefundenen Zinssatz anwendet. Der Benutzer erhält ein einziges Ergebnis, begleitet von den Suchquellen und den Berechnungsdetails.

Ausführungsmodi

Die Mistral API bietet zwei Modi für Übergaben, die Sie beim Starten eines Gesprächs auswählen. Der Server-Modus ist der Standard.

response = client.beta.conversations.start(
    agent_id=router_agent.id,
    inputs="Komplexe Anfrage",
    handoff_execution="server"
)

Mistral übernimmt dann alles automatisch: Übergaben, Agenten-Ausführung und Antwortzusammenfassung. Sie erhalten nur das Endergebnis, was praktisch und ausreichend ist, solange Sie nichts zwischen den Schritten einfügen müssen.

response = client.beta.conversations.start(
    agent_id=router_agent.id,
    inputs="Komplexe Anfrage",
    handoff_execution="client"
)

Im Client-Modus erhalten Sie Übergabe-Ereignisse und entscheiden in jedem Schritt, was zu tun ist. Wählen Sie diesen Modus aus, wenn ein Mensch eine sensible Übergabe genehmigen muss, wenn Sie jede Übergabe zur Prüfung protokollieren müssen, oder wenn Ihre Geschäftslogik eine Routing-Entscheidung erfordert, die das Modell nicht ableiten kann. Die Lektion, die sich diesen beiden Modi widmet, erläutert die Abwägungen im Detail.

Ausgabe-Ereignisse

Wenn eine Übergabe stattfindet, erscheinen drei Arten von Ereignissen in den Ausgaben:

  • agent.handoff — Agent A überträgt an Agent B (enthält beide Agenten-IDs)
  • tool.execution — Agent B führt seine Werkzeuge aus
  • message.output — Antwort von Agent B
for entry in response.outputs:
    if entry.type == "agent.handoff":
        print(f"Transfer: {entry.previous_agent_id} → {entry.next_agent_id}")
    elif entry.type == "tool.execution":
        print(f"Werkzeug ausgeführt: {entry.tool_name}")
    elif entry.type == "message.output":
        print(f"Antwort: {entry.content}")

Schreiben Sie diesen Loop während Ihrer ersten Versuche, noch bevor das System vollständig ist. Ein Multi-Agenten-System, das korrekt antwortet, dessen Weg aber nicht nachvollziehbar ist, wird am Tag, an dem es falsch antwortet, unmöglich zu reparieren sein: Sie werden nicht wissen, ob der Router falsch geleitet hat, ob der Spezialist schlecht gearbeitet hat oder ob die Übergabe unterwegs verloren ging. Drei gut platzierte print-Anweisungen sparen Sie diese Blindheit.

Kernaussagen

  • Übergaben ermöglichen es einem Agenten, die Kontrolle an einen anderen spezialisierten Agenten zu übertragen
  • Typische Architektur: Router-Agent → Spezialisten-Agenten
  • Server-Modus = vollständig automatisch; Client-Modus = manuelle Steuerung der Übergaben
  • Jede Übergabe erzeugt ein nachvollziehbares Ereignis in den Ausgaben
  • Es gibt keine Obergrenze für die Verkettungstiefe zwischen Agenten