Benutzerdefinierte Agenten
Wenn Sie benutzerdefinierte Agenten definieren, können Sie eine Sub-Agenten-Struktur mit jeweils spezifischen Rollen aufbauen. In der Laravel-Version erfolgt die Konfiguration übercustomAgents in SessionConfig.
Für die Orchestrierung mehrerer parallel laufender Sub-Agenten siehe Fleet Mode.
Grundlegende Verwendung
Konfigurationsoptionen
| Eigenschaft | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | ✅ | Bezeichner des Agenten |
displayName | string | Anzeigename | |
description | string | Beschreibung, anhand derer die Runtime das Delegationsziel auswählt | |
tools | ?array | Verfügbare Tools. Bei null / Weglassen sind alle verfügbar | |
prompt | string | ✅ | Agentenspezifischer System-Prompt |
mcpServers | array | Agentenspezifische MCP-Server-Konfiguration | |
infer | bool | Ob der Agent für die automatische Auswahl in Frage kommt (Standard: true) | |
skills | array | Liste der beim Start zu ladenden Skill-Namen |
Je konkreter description formuliert ist, desto genauer wird die automatische Auswahl.
Beim Sessionstart einen bestimmten Agenten wählen
Mitagent können Sie ab dem ersten Turn einen bestimmten benutzerdefinierten Agenten aktivieren.
Automatische Auswahl deaktivieren (infer: false)
Für Agenten, die risikobehaftete Operationen ausführen, ist es sicherer, die automatische Auswahl zu deaktivieren und sie explizit zu verwenden.
Tools vom Standard-Agenten ausblenden
MitdefaultAgent.excludedTools können Sie bestimmte Tools nur vor dem Haupt-Agenten verbergen.
Dadurch fällt die Delegation an einen benutzerdefinierten Agenten, der diese Tools nutzen darf, leichter.
Sub-Agenten-Ereignisse überwachen
Während der Ausführung von Sub-Agenten werdensubagent.*-Ereignisse gesendet.
Sie können sie über onEvent oder $session->on() überwachen.
Best Practices
- Trennen Sie
researcher(lesegetrieben) undeditor(Änderungen) - Halten Sie
toolsauf das Nötigste beschränkt und schränken Sie Rechte ein - Formulieren Sie
descriptionkonkret, um die automatische Delegation zu verbessern - Fangen Sie
subagent.failedab und implementieren Sie Retry- oder Fallback-Strategien