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.
Überblick
Alle Methodensend() / sendAndWait() / sendAndStream() / Copilot::run() verfügen über den Parameter $mode.
| Modus | Verhalten |
|---|---|
"enqueue" (Standard) | Wird nach Abschluss des aktuellen Turns aus der Queue verarbeitet |
"immediate" (Steering) | Unterbricht den aktuell laufenden Turn und wird sofort eingespeist |
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.
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 mitCopilot::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.
"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?
| Situation | Muster |
|---|---|
| Der Agent geht in die falsche Richtung | Steering ("immediate") |
| Ihnen ist die nächste Aufgabe eingefallen | Queueing ("enqueue") |
| Mehrere Aufgaben nacheinander ausführen | Queueing ("enqueue") |
| Normale Laravel-Anwendung | Standard ($mode nicht nötig) |
Best Practices
- Standard ist Queueing – In den meisten Fällen ist es sinnvoll,
$modewegzulassen (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.