Multi-Agenten-Guide

12 Min. Lesezeit

Mit Sub-Agenten arbeiten

Meistere die Kunst des Spawnens, Verwaltens und Orchestrierens von Subagenten. Baue ausgefeilte Multi-Agenten-Workflows, die kognitive Last verteilen und Aufgaben parallel ausführen.

Einzelne Agenten stoßen an Grenzen. Sie können nur eine Sache zur Zeit tun. Sie werden in komplexen Aufgaben überlastet. Ihre Kontextfenster füllen sich mit irrelevanten Informationen. Wenn du echte Power brauchst, brauchst du mehrere Agenten, die zusammenarbeiten.

Subagenten sind OpenClaws Lösung. Sie sind Hintergrund-Agenten-Runs, die von einem Parent-Agenten gespawnt werden und in isolierten Sessions mit eigenen Workspaces operieren. Stell sie dir als spezialisierte Worker vor, die dein Hauptagent (der Orchestrator) einstellen, Aufgaben zuweisen und Ergebnisse sammeln kann. Dieser Guide zeigt dir, wie du sie effektiv nutzt.

Was sind Subagenten?

Subagenten sind ephemere Agenten-Instanzen, die bei Bedarf mit dem sessions_spawn-Tool erstellt werden. Im Gegensatz zu deinem Hauptagenten, der persistiert und laufende Konversationen handhabt, existieren Subagenten für spezifische Aufgaben und räumen sich automatisch auf, wenn sie fertig sind.

Kern-Eigenschaften

  • Isolation: Jeder Subagent hat seinen eigenen Workspace, State-Directory und Tool-Zugriff. Was in einem Subagenten passiert, bleibt dort, es sei denn, es wird explizit geteilt
  • Vererbung: Subagenten können Model-Einstellungen, Thinking-Präferenzen und Kontext vom Parent-Agenten erben oder sie nach Bedarf überschreiben
  • Non-blocking: Das Spawnen eines Subagenten gibt sofort eine runId zurück. Der Parent-Agent fährt mit anderer Arbeit fort, während der Subagent seine Aufgabe verarbeitet
  • Auto-Archivierung: Subagenten archivieren sich automatisch nach einem Timeout (Standard 60 Minuten), bewahren Ergebnisse und geben Ressourcen frei
  • Verschachtelungsfähigkeit: Subagenten können ihre eigenen Subagenten spawnen, bis zu einer Tiefe von zwei Ebenen

Wann Subagenten nutzen

Subagenten glänzen in spezifischen Szenarien:

  • Parallele Verarbeitung: Führe mehrere unabhängige Aufgaben gleichzeitig statt sequentiell aus
  • Spezialisierung: Weise verschiedene Agenten-Typen verschiedenen Aufgaben zu (Rechercheur, Autor, Coder, Reviewer)
  • Verteilung kognitiver Last: Zerlege komplexe Probleme in kleinere Teile, die in Kontextfenster passen
  • Sandboxing: Isoliere riskante Operationen (wie das Ausführen nicht vertrauenswürdigen Codes) von deinem Hauptagenten
  • Kostenoptimierung: Nutze billigere Modelle für einfache Subtasks, während du teure Modelle für komplexes Reasoning reservierst

Deinen ersten Subagenten erstellen

Das sessions_spawn-Tool erstellt Subagenten. Hier ist das Basis-Muster:

// Spawn einen Subagenten mit spezifischer Aufgabe
const runId = await sessions_spawn({
  task: "Recherchiere die neuesten OpenClaw-Updates und fasse die Key-Features zusammen",
  model: "claude-sonnet-4-6",  // Optional: Parent-Model überschreiben
  thinking: "low",              // Optional: Thinking-Level
  timeout: 300                  // Optional: Timeout in Sekunden
});

Dies spawnt einen isolierten Agenten, der die Aufgabe unabhängig ausführt. Der Parent-Agent erhält sofort eine runId und kann mit anderer Arbeit fortfahren.

Basis-Beispiel: Einfache Delegation

Hier ist ein komplettes Beispiel für die Delegation einer Recherche-Aufgabe an einen Subagenten:

// Orchestrator-Agent
async function handleUserRequest(userQuery) {
  // Spawne einen Rechercheur-Subagenten
  const researchRunId = await sessions_spawn({
    task: `Recherchiere dieses Thema gründlich: ${userQuery}`,
    model: "claude-sonnet-4-6",
    thinking: "medium"
  });
  
  // Fahre mit anderer Arbeit fort (oder warte auf Ergebnisse)
  await doOtherWork();
  
  // Sammle Ergebnisse, wenn bereit
  const results = await sessions_history({
    sessionKey: researchRunId,
    limit: 50
  });
  
  // Nutze die Recherche, um Antwort zu generieren
  return generateResponse(results);
}

Subagenten-Kommunikationsmuster

Subagenten müssen Ergebnisse an ihren Parent zurückkommunizieren. OpenClaw bietet dafür mehrere Mechanismen.

Muster 1: Direkter Session-Verlauf

Der einfachste Ansatz: Lese den Nachrichten-Verlauf des Subagenten, wenn er fertig ist.

// Warte auf Subagenten-Abschluss und lese Ergebnisse
const history = await sessions_history({
  sessionKey: subagentRunId,
  includeTools: true,
  limit: 100
});

// Extrahiere das Endergebnis aus dem Verlauf
const finalResult = history.messages[history.messages.length - 1].content;

Dieses Muster funktioniert gut für einfache Aufgaben mit klaren Outputs. Der Parent-Agent pollt oder wartet, bis der Subagent fertig ist, und extrahiert dann Ergebnisse aus seinem Session-Verlauf.

Muster 2: Gemeinsame Workspace-Dateien

Für komplexe Workflows können Subagenten Ergebnisse in gemeinsame Dateien schreiben:

// Subagent schreibt Ergebnisse in eine Datei
await fs.writeFile('/workspace/results/research.json', JSON.stringify({
  topic: userQuery,
  findings: researchResults,
  sources: sourceList,
  confidence: confidenceScore
}));

// Parent-Agent liest die Datei später
const results = JSON.parse(
  await fs.readFile('/workspace/results/research.json', 'utf8')
);

Dieses Muster glänzt, wenn mehrere Subagenten zu gemeinsamen Outputs beitragen oder wenn Ergebnisse über die Lebenszeit des Subagenten hinaus persistieren müssen.

Muster 3: Nachrichten-Passing

Für Echtzeit-Koordination nutze sessions_send für direkten Agent-zu-Agenten-Nachrichtenaustausch:

// Sende eine Nachricht an die Session eines anderen Agenten
await sessions_send({
  sessionKey: targetAgentRunId,
  message: "Recherche abgeschlossen. Starte Phase 2.",
  timeoutSeconds: 30
});

Hinweis: Direktes Messaging muss explizit in der Konfiguration aktiviert werden. Für die meisten Workflows wird das Routing über den Orchestrator für einfacheres Auditing und Debugging bevorzugt.

Multi-Subagenten-Orchestrierung

Die echte Power entsteht, wenn du mehrere Subagenten zusammen orchestrierst. Hier sind bewährte Muster.

Muster 1: Parallele Map

Spawne mehrere Subagenten gleichzeitig, um unabhängige Aufgaben zu verarbeiten:

// Verarbeite 10 Artikel parallel
const articles = await fetchArticleList();
const runIds = await Promise.all(
  articles.map(article => 
    sessions_spawn({
      task: `Fasse diesen Artikel zusammen: ${article.url}`,
      model: "claude-haiku-4-6"  // Billiges Model für einfache Aufgabe
    })
  )
);

// Warte auf alle Abschlüsse und sammle Ergebnisse
const summaries = await Promise.all(
  runIds.map(id => sessions_history({ sessionKey: id, limit: 20 }))
);

Dieses Muster reduziert die Gesamtverarbeitungszeit von der Summe individueller Aufgaben auf die Dauer des langsamsten Tasks.

Muster 2: Sequentielle Pipeline

Kette Subagenten, bei der der Output jedes Schritts in den nächsten fließt:

// Recherche -> Schreiben -> Editieren Pipeline
const researchRunId = await sessions_spawn({
  task: "Recherche: Vorteile von Multi-Agenten-Systemen",
  model: "claude-sonnet-4-6"
});

const research = await waitForCompletion(researchRunId);

const writingRunId = await sessions_spawn({
  task: `Schreibe Artikel basierend auf dieser Recherche: ${research}`,
  model: "claude-opus-4-6"
});

const draft = await waitForCompletion(writingRunId);

const editingRunId = await sessions_spawn({
  task: `Editiere diesen Artikel für Klarheit: ${draft}`,
  model: "claude-sonnet-4-6"
});

Dieses Muster sorgt für Qualität in jeder Phase, bevor es weitergeht. Nutze es, wenn Schritte klare Abhängigkeiten und Qualitäts-Gates haben.

Muster 3: Hub and Spoke

Ein zentraler Orchestrator delegiert an spezialisierte Subagenten basierend auf Aufgabentyp:

// Orchestrator analysiert Anfrage und routed entsprechend
async function routeTask(userRequest) {
  const intent = await classifyIntent(userRequest);
  
  switch(intent) {
    case 'code':
      return sessions_spawn({ 
        task: userRequest, 
        model: "claude-opus-4-6",
        context: "Du bist ein Experten-Programmierer."
      });
    case 'research':
      return sessions_spawn({ 
        task: userRequest, 
        model: "claude-sonnet-4-6",
        context: "Du bist ein gründlicher Rechercheur."
      });
    case 'creative':
      return sessions_spawn({ 
        task: userRequest, 
        model: "gpt-4",
        context: "Du bist ein kreativer Autor."
      });
  }
}

Dieses Muster matcht Aufgabentypen mit optimalen Agenten-Konfigurationen. Es ist das häufigste Produktions-Muster für Multi-Agenten-Systeme.

Verschachtelte Subagenten

Für komplexe Workflows können Subagenten ihre eigenen Subagenten spawnen. Dies ermöglicht hierarchische Aufgabendekomposition.

Beispiel: Hierarchische Recherche

Ein Meta-Rechercheur-Subagent kann an spezialisierte Rechercheur-Sub-Subagenten delegieren:

// Level 1: Meta-Rechercheur (Subagent des Orchestrators)
async function metaResearch(topic) {
  // Zerlege Thema in Sub-Themen
  const subTopics = await analyzeTopic(topic);
  
  // Spawne Spezialisten-Rechercheure (Level 2 Subagenten)
  const researchRuns = await Promise.all(
    subTopics.map(st => 
      sessions_spawn({
        task: `Deep-Recherche zu: ${st}`,
        model: "claude-sonnet-4-6",
        timeout: 600
      })
    )
  );
  
  // Synthetisiere Ergebnisse
  const findings = await Promise.all(
    researchRuns.map(r => sessions_history({ sessionKey: r }))
  );
  
  return synthesizeReport(findings);
}

Dieses Muster skaliert zu beliebiger Komplexität, während jeder Agent seinen Kontext fokussiert und handhabbar hält.

Fehlerbehandlung und Recovery

Subagenten können fehlschlagen. Deine Orchestrierung muss dies elegant handhaben.

Muster: Retry mit Fallback

async function resilientSpawn(task, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const runId = await sessions_spawn({
      task: task,
      model: i === 0 ? "claude-sonnet-4-6" : "claude-opus-4-6"
      // Eskaliere Model bei Retry
    });
    
    try {
      const result = await waitWithTimeout(runId, 300);
      if (result.success) return result;
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      // Logge und versuche erneut
    }
  }
}

Dieses Muster versucht fehlgeschlagene Subagenten mit stärkeren Models erneut, maximiert Erfolgsraten und minimiert Kosten.

Kostenoptimierungsstrategien

Subagenten ermöglichen ausgefeiltes Kostenmanagement.

Strategie 1: Gestufte Model-Auswahl

Nutze billigere Modelle für einfache Subtasks:

  • Haiku/GPT-3.5: Zusammenfassung, Formatierung, einfache Extraktion
  • Sonnet/GPT-4: Recherche, Analyse, moderate Komplexität
  • Opus/GPT-4 Turbo: Komplexes Reasoning, Coding, finale Qualitätsprüfung

Strategie 2: Parallelisierungs-Einsparungen

Parallele Subagenten reduzieren die Echtzeit-Verarbeitungszeit, was in zeitbasierten Umgebungen die Gesamtkosten senken kann. Sie verhindern auch Kontextfenster-Überlauf, der teure Neustarts von Konversationen erfordern würde.

Strategie 3: Frühe Terminierung

Überwache Subagenten-Fortschritt und breche früh ab, wenn Qualitätsschwellen nicht erreicht werden:

// Prüfe Zwischenergebnisse und brich bei Bedarf ab
const intermediate = await sessions_history({ 
  sessionKey: runId, 
  limit: 10 
});

if (detectLowQuality(intermediate)) {
  await process_kill({ sessionId: runId });
  return fallbackApproach();
}

Best Practices

Lektionen aus Produktions-Multi-Agenten-Systemen:

Halte Subagenten fokussiert

Gib jedem Subagenten eine einzelne, klar definierte Aufgabe. Vage Anweisungen produzieren vage Ergebnisse. Spezifische Aufgaben produzieren spezifische Outputs.

Begrenze Parallelität

Setze maxConcurrentRuns, um APIs oder deine eigene Infrastruktur nicht zu überlasten. Starte mit 3-5 parallelen Subagenten und erhöhe basierend auf Performance.

Versioniere deine Workflows

Speichere Workflow-Definitionen in Versionskontrolle. Subagenten-Orchestrierung ist Code. Behandle sie mit der gleichen Rigorosität wie jede andere Codebase.

Überwache und logge

Logge alle Subagenten-Spawns, Abschlüsse und Fehler. Verfolge, welche Subagenten die besten Ergebnisse produzieren. Diese Daten leiten zukünftige Optimierungen.

Teste isoliert

Teste Subagenten-Aufgaben unabhängig, bevor du sie in komplexe Workflows integrierst. Ein defekter Subagent zerstört die gesamte Pipeline.

FAQ

Was genau ist ein Subagent in OpenClaw?

Ein Subagent ist ein Hintergrund-Agenten-Run, der von einem bestehenden Agenten (dem Orchestrator) gespawnt wird. Er operiert in einer isolierten Session mit eigenem Workspace und kann Einstellungen vom Parent-Agenten erben oder überschreiben. Subagenten ermöglichen parallele Aufgabenausführung und verteilte Kognition.

Wie unterscheiden sich Subagenten von regulären Agenten?

Reguläre Agenten sind persistent und an Kommunikationskanäle gebunden. Subagenten sind ephemer, werden bei Bedarf für spezifische Aufgaben gespawnt und archivieren sich automatisch nach Abschluss oder Timeout. Sie teilen den Kontext des Parent-Agenten, haben aber isolierte Workspaces.

Können Subagenten andere Subagenten spawnen?

Ja, OpenClaw unterstützt verschachtelte Subagenten bis zu einer Tiefe von zwei. Ein Orchestrator kann Subagenten spawnen, und diese Subagenten können wiederum Worker-Sub-Subagenten spawnen. Dies ermöglicht hierarchische Aufgabendekomposition und komplexe Workflow-Muster.

Wie lange leben Subagenten?

Subagenten archivieren sich automatisch nach einer konfigurierbaren Timeout-Periode (Standard 60 Minuten). Du kannst dies basierend auf deinen Workflow-Bedürfnissen anpassen. Archivierte Subagenten bewahren ihre Ergebnisse, verbrauchen aber keine aktiven Ressourcen mehr.

Sind Subagenten sicher?

Ja. Jeder Subagent hat seinen eigenen isolierten Workspace, State-Directory und Authentifizierungs-Scope. Aufgaben können nicht kollidieren, und Credentials bleiben auf den richtigen Job beschränkt. Diese Isolation ist ein Kern-Sicherheitsfeature des Subagenten-Systems.

Häufige Fallstricke

Vermeide diese Fehler:

Over-Subagenting

Nicht jede Aufgabe braucht einen Subagenten. Einfache Operationen, die leicht in den Kontext deines Hauptagenten passen, sind ohne Spawn schneller und billiger. Nutze Subagenten für Parallelisierung, Spezialisierung oder Sandboxing.

Kontextverlust

Subagenten erben nicht automatisch den gesamten Parent-Kontext. Übergib essentiellen Kontext explizit in der Aufgabenbeschreibung oder gemeinsamen Dateien.

Vorzeitige Optimierung

Optimiere Subagenten-Modelle oder Parallelisierung nicht, bevor du Basis-Metriken hast. Messe zuerst, dann optimiere.

Timeouts ignorieren

Setze immer vernünftige Timeouts. Ein hängender Subagent verschwendet Ressourcen und blockiert deinen Workflow. Standardmäßig 5-10 Minuten für die meisten Aufgaben.

Nächste Schritte

Starte einfach. Erstelle einen Subagenten für eine einzelne Aufgabe. Gewöhne dich an Spawnen, Überwachen und Ergebnisse sammeln. Steigere dann schrittweise die Komplexität.

Wenn du bereit bist, erkunde unseren Multi-Agenten-Systeme-Guide für Orchestrierungsmuster, Kommunikationsstrategien und Produktions-Deployment-Ratschläge. Kombiniere Subagenten mit Skills, Model-Routing und Speicherverwaltung für wirklich leistungsstarke KI-Systeme.

Need help from people who already use this stuff?

Brauchst du Hilfe mit Subagenten?

Tritt My AI Agent Profit Lab bei für praktische Hilfe, schnellere Antworten und real-world Multi-Agenten-Beispiele aus der Community.