Skip to main content

Steering und Queueing

Im normalen Ablauf einer Laravel-Anwendung besteht selten Bedarf, Steering direkt einzusetzen. Da synchrone Ausführungsmuster in Laravel wenig davon profitieren, ist grundsätzlich die Standardnutzung mit Queueing angemessen.
Für das Senden von Nachrichten, während der Agent noch verarbeitet, gibt es zwei Muster: Steering und Queueing.

Überblick

Alle Methoden send() / sendAndWait() / sendAndStream() / Copilot::run() verfügen über den Parameter $mode.

Steering ("immediate")

Speist die Nachricht direkt in den vom Agenten gerade bearbeiteten Turn ein. Der Agent empfängt sie in Echtzeit und passt die Antwort an. Nutzen Sie dies, um die Richtung zu korrigieren, ohne die laufende Arbeit abzubrechen.
Steering ist Best-Effort. Wenn der Agent bereits einen Tool-Aufruf initiiert hat, wird die Nachricht erst nach Abschluss dieses Tool-Aufrufs wirksam, jedoch weiterhin innerhalb desselben Turns. Trifft die Steering-Nachricht erst nach Abschluss des Turns ein, wird sie automatisch in die Queue verschoben.

Queueing ("enqueue")

Fügt die Nachricht einer Queue hinzu und verarbeitet sie nach Ende des aktuellen Turns nacheinander. Jede gequeuete Nachricht wird als eigenständiger Turn ausgeführt. Dies ist das Standardverhalten, wenn $mode weggelassen wird.

Praktische Überlegungen für Laravel

In Laravel überwiegen synchrone Muster mit Copilot::run() oder sendAndWait(). Diese senden eine Nachricht und warten, bis der Agent idle wird. Daher gibt es keine Gelegenheit, den laufenden Prozess zu unterbrechen, und $mode ist praktisch bedeutungslos.
Steering ("immediate") entfaltet seinen Nutzen, wenn Sie mit send() Nachrichten asynchron versenden und parallel dazu über eine weitere Nachricht in den laufenden Turn eingreifen können. In Laravels synchronem Fluss ist es schwierig, diese Gelegenheit herzustellen. Grundsätzlich ist es daher angebracht, $mode nicht zu setzen und beim Standard zu bleiben.

Welchen sollten Sie wählen?

Best Practices

  • Standard ist Queueing – In den meisten Fällen ist es sinnvoll, $mode wegzulassen (oder "enqueue" anzugeben). Das Verhalten ist vorhersagbar.
  • Steering nur zur Korrektur – Verwenden Sie "immediate" nur, wenn der Agent offensichtlich etwas Falsches tut.
  • Steering-Nachrichten kurz halten – Wählen Sie kurze Nachrichten, die im aktuellen Kontext verständlich sind. Lange, komplexe Steering-Nachrichten stiften eher Verwirrung.
  • Aufeinanderfolgendes Steering vermeiden – Mehrere Steering-Nachrichten in kurzer Folge können die Qualität des Turns mindern. Bei größerer Richtungsänderung kann es geeigneter sein, den Turn abzubrechen und neu zu beginnen.

Referenzen

Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 13. Juli 2026