Steering et mise en file
Dans un flux typique d’application Laravel, vous utiliserez rarement le steering directement. Le modèle synchrone de Laravel en tire peu de bénéfices ; la mise en file par défaut convient dans la plupart des cas.
Vue d’ensemble
Tous les appelssend() / sendAndWait() / sendAndStream() / Copilot::run() acceptent un paramètre $mode.
| Mode | Comportement |
|---|---|
"enqueue" (défaut) | Traité en file d’attente une fois le tour courant terminé |
"immediate" (steering) | Injecté immédiatement dans le tour en cours d’exécution |
Steering ("immediate")
Injecte le message directement dans le tour en cours de l’agent. Celui-ci reçoit le message en temps réel et ajuste sa réponse. À utiliser lorsque vous souhaitez rediriger sans interrompre le travail en cours.
Queueing ("enqueue")
Ajoute le message à la file, traité séquentiellement après la fin du tour courant. Chaque message en file s’exécute comme un tour indépendant. C’est le comportement par défaut si $mode est omis.
Approche pratique dans Laravel
Dans Laravel, le style dominant est synchrone viaCopilot::run() ou sendAndWait(). Ces méthodes envoient un message et attendent l’état inactif ; il n’y a donc pas d’occasion d’interrompre l’agent, et $mode n’a pas vraiment de sens.
"immediate") prend son sens lorsque vous envoyez send() de façon asynchrone et que vous pouvez intervenir en parallèle dans le tour courant depuis un autre message. Dans le flux synchrone de Laravel, il est difficile de créer une telle fenêtre : il est en général approprié de ne pas spécifier $mode et de conserver le défaut.
Lequel utiliser ?
| Situation | Modèle |
|---|---|
| L’agent part dans la mauvaise direction | Steering ("immediate") |
| Vous avez une nouvelle tâche pour ensuite | Queueing ("enqueue") |
| Exécuter plusieurs tâches à la suite | Queueing ("enqueue") |
| Application Laravel classique | Défaut (pas de $mode) |
Bonnes pratiques
- Par défaut, mise en file — omettre
$mode(ou passer"enqueue") convient à la plupart des cas et donne un comportement prévisible. - Steering pour corriger — n’utilisez
"immediate"que quand l’agent fait manifestement fausse route. - Messages de steering concis — courts et compréhensibles dans le contexte courant. Un steering long et complexe peut aggraver la confusion.
- Évitez le steering en rafale — plusieurs steerings rapprochés peuvent dégrader la qualité du tour. Si un changement important s’impose, il peut être préférable d’interrompre le tour et de recommencer.
Voir aussi
Pour les dernières informations, consultez le dépôt GitHub.