Skip to main content

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 über customAgents in SessionConfig. Für die Orchestrierung mehrerer parallel laufender Sub-Agenten siehe Fleet Mode.

Grundlegende Verwendung

Die Angabe im Array-Format ist ebenfalls möglich.

Konfigurationsoptionen

Je konkreter description formuliert ist, desto genauer wird die automatische Auswahl.

Deklarative Hooks pro Agent

In hooks eines benutzerdefinierten Agenten können Sie Eventnamen als Schlüssel und Arrays deklarativer Aktionen als Werte angeben. Die Aktionen werden zusammen mit der Definition des jeweiligen Agenten an die CLI übergeben und gelten nur für diesen Agenten. Das ist nützlich, wenn Sie etwa die Tool-Ausführung nur für einen bestimmten Agenten einschränken möchten.
customAgents[*].hooks sind deklarative Aktionen, die an die CLI übergeben werden. Geben Sie die Aktionen in dem Format an, das die Copilot CLI akzeptiert.
  • Das hooks auf oberster Ebene von SessionConfig ist eine separate Funktion zum Registrieren von PHP-Callbacks und gilt für die gesamte Session. Details finden Sie unter Session-Hooks.
  • Das Laden dateibasierter Hooks aus .github/hooks/ wird separat über enableFileHooks gesteuert.

Beim Sessionstart einen bestimmten Agenten wählen

Mit agent 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

Mit defaultAgent.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 werden subagent.*-Ereignisse gesendet. Sie können sie über onEvent oder $session->on() überwachen.

Best Practices

  • Trennen Sie researcher (lesegetrieben) und editor (Änderungen)
  • Halten Sie tools auf das Nötigste beschränkt und schränken Sie Rechte ein
  • Formulieren Sie description konkret, um die automatische Delegation zu verbessern
  • Fangen Sie subagent.failed ab und implementieren Sie Retry- oder Fallback-Strategien

Referenzen

Zuletzt geändert am 19. Oktober 2026