delegate_to_agent
delegate_to_agent ist ein eingebautes Tool, mit dem ein Agent ein Gespräch an einen anderen Agenten übergeben kann. Dadurch werden Workflows mit mehreren Agenten möglich, bei denen ein allgemeiner Assistent spezialisierte Fragen an Fachagenten weiterreicht.
So funktioniert es
Abschnitt betitelt „So funktioniert es“Wenn das LLM delegate_to_agent aufruft:
- pausiert der Orchestrator die Session des aktuellen Agenten
- aktiviert er den Zielagenten mit dem bestehenden Gesprächskontext
- antwortet der Zielagent dem Nutzer
- je nach Konfiguration kehrt die Kontrolle danach zum ursprünglichen Agenten zurück oder bleibt beim Zielagenten
Aus Sicht des Nutzers wirkt die Übergabe nahtlos. Das Gespräch läuft einfach natürlich weiter.
Tool-Signatur
Abschnitt betitelt „Tool-Signatur“name: delegate_to_agentparameters: - name: agent type: string required: true description: The name of the target agent (as defined in its agent.yaml). - name: message type: string required: true description: Context message passed to the target agent explaining why the handoff is happening. - name: new_session type: boolean required: false default: false description: If true, start a fresh session. If false, continue the existing conversation context. - name: return_after type: boolean required: false default: true description: If true, control returns to the delegating agent after the target finishes.Beispiel in agent.md
Abschnitt betitelt „Beispiel in agent.md“Ein persönlicher Assistent kann so an Spezialisten delegieren:
## Delegation rules- If the user asks about weather, delegate to `weather-agent`.- If the user asks about calendar or scheduling, delegate to `calendar-agent`.- For everything else, handle it yourself.
When delegating, use `delegate_to_agent` with a clear `message` explaining the user's request.Beispiel für einen Tool-Call
Abschnitt betitelt „Beispiel für einen Tool-Call“{ "tool": "delegate_to_agent", "parameters": { "agent": "weather-agent", "message": "The user is asking about the weather forecast for Berlin this weekend.", "new_session": false, "return_after": true }}Delegationsmuster
Abschnitt betitelt „Delegationsmuster“Ein zentraler Assistent delegiert an Spezialisten und bekommt danach immer die Kontrolle zurück:
return_after: truenew_session: falseGut geeignet für persönliche Assistenten, die Anfragen vorsortieren.
Der delegierende Agent übergibt das Gespräch dauerhaft:
return_after: falsenew_session: trueGut geeignet für Onboarding-Abläufe oder Eskalation an einen menschlich unterstützten Agenten.
Der Zielagent arbeitet in derselben Session weiter und sieht den kompletten Verlauf:
return_after: truenew_session: falseGut geeignet für Fachexperten, die den Gesprächskontext brauchen.
Der Parameter message
Abschnitt betitelt „Der Parameter message“Das Feld message ist zentral. Es wird als Handoff-Notiz auf Systemebene in den Kontext des Zielagenten eingefügt. Schreib es so, als würdest du einen Kollegen kurz briefen:
- Gut: „Der Nutzer möchte wissen, wie das Wetter dieses Wochenende in Berlin wird. Bevorzugt Celsius.“
- Schlecht: „weather berlin“
Eine klare Nachricht hilft dem Zielagenten, präzise zu antworten, ohne dass der Nutzer sich wiederholen muss.
Grenzen
Abschnitt betitelt „Grenzen“| Grenze | Wert |
|---|---|
| Maximale Delegationstiefe | 3 (A → B → C → D, aber nicht weiter) |
| Maximale Delegationen pro Session | 10 |