Steering en queueing
In de normale flow van een Laravel-applicatie zijn er nauwelijks situaties waarin je steering direct gebruikt. Bij de synchrone uitvoeringspatronen van Laravel heb je er weinig baat bij; de standaard queueing-aanpak is meestal de juiste keuze.
Overzicht
send() / sendAndWait() / sendAndStream() / Copilot::run() hebben allemaal een $mode-parameter.
Steering ("immediate")
Injecteert een bericht direct in de turn die de agent aan het verwerken is. De agent ontvangt het bericht in realtime en past zijn respons aan. Gebruik dit als je wilt bijsturen zonder het lopende werk te onderbreken.
Queueing ("enqueue")
Voegt berichten toe aan de queue en verwerkt ze na elkaar zodra de huidige turn is voltooid. Elk gequeued bericht wordt uitgevoerd als een aparte turn. Dit is het standaardgedrag als je $mode weglaat.
Praktische benadering in Laravel
In Laravel draait het vooral om synchrone patronen metCopilot::run() of sendAndWait(). Omdat deze een bericht versturen en wachten tot de idle-status is bereikt, is er geen moment om in te grijpen terwijl de agent bezig is en heeft $mode in feite geen betekenis.
"immediate") komt tot zijn recht wanneer je met send() asynchroon berichten verstuurt en tegelijkertijd met een ander bericht in de lopende turn kunt ingrijpen. In de synchrone verwerkingsflow van Laravel is het lastig om die gelegenheid te creëren, dus is het meestal het beste om $mode niet op te geven en de standaard te laten staan.
Welke moet je gebruiken?
Best practices
- Queueing als standaard —
$modeweglaten (of"enqueue"opgeven) is in vrijwel alle gevallen de juiste keuze. Het gedrag is voorspelbaar. - Steering voor correcties — gebruik
"immediate"alleen wanneer de agent duidelijk iets verkeerds aan het doen is. - Houd steeringberichten beknopt — gebruik korte berichten die in de huidige context begrijpelijk zijn. Lange, complexe steeringberichten veroorzaken juist verwarring.
- Vermijd opeenvolgende steering — meerdere steeringberichten kort na elkaar kunnen de kwaliteit van de turn verlagen. Bij een grote koerswijziging is het soms beter de turn af te breken en opnieuw te beginnen.
Zie ook
Raadpleeg de GitHub-repository voor de meest actuele informatie.