Mon agent de codage a terminé la tâche. Pourquoi le fil de discussion meurt-il ?

Le pire bug d'un agent de codage n'est pas un crash.

C'est quand la première tâche réussit, mais que le message suivant donne l'impression d'une amnésie. Vous demandez une tâche. L'agent termine. Puis vous dites : « rendez le bouton vert ».

Pour vous, il s'agit de la même conversation. Pour le système, une tâche terminée signifie souvent que la session est close. Le système repart de zéro.

En développant CliGate, j'ai réalisé que je mélangeais trois couches différentes :

Ce ne sont pas les mêmes choses.

Une conversation est un espace pérenne pour discuter. Une session d'exécution est le fil de travail de cette conversation. Un tour est une exécution unique au sein de cette session.

Lorsqu'une tâche se termine, seul le tour devrait s'arrêter. La session doit rester active.

Le flux défectueux ressemble à ceci : L'utilisateur demande une tâche -> La session d'exécution démarre -> La tâche se termine -> La conversation efface la session active -> Le suivi suivant démarre une toute nouvelle session.

Cela casse les suivis courts comme :

Si le système détache la session immédiatement, vous devez tout réexpliquer. L'agent fonctionne, mais la conversation semble artificielle.

J'ai corrigé cela en rendant le modèle explicite :

J'ai cessé de traiter la fin d'une tâche comme la fin de la session. Ce petit changement améliore considérablement l'expérience utilisateur globale.

Dans CliGate, une nouvelle session ne démarre que si :

Cela correspond à la façon dont les humains pensent. Un utilisateur s'attend à ce qu'un onglet de chat se comporte comme un fil de discussion continu. C'est essentiel sur les applications mobiles comme Telegram ou Feishu.

La nouvelle logique est simple :

Cela donne à l'agent l'impression d'être un collègue plutôt qu'un simple lanceur de commandes.

Si vous construisez des agents de codage, souvenez-vous de ceci : La conversation est l'unité durable. La session d'exécution est l'ouvrier réutilisable. Le tour est l'élément qui se termine en cas de succès ou d'échec.

Séparez ces trois couches. Vos questions de suivi sembleront enfin conversationnelles.

Source : https://dev.to/codekingai/my-coding-agent-finished-the-task-why-did-the-thread-die-2jk2

Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi