logo
Développement
Rechercher
Interaction conversationnelle

Interaction conversationnelle

Vue d'ensemble

L'interaction conversationnelle de Work repose sur le moteur Agent Loop. Après que l'utilisateur a envoyé un message, l'Agent entre dans une boucle autonome de raisonnement-exécution : analyse du besoin → appel d'outils → obtention des résultats → poursuite du raisonnement, jusqu'à ce que la tâche soit terminée ou qu'une condition de sortie soit atteinte. L'ensemble du processus est présenté en temps réel dans l'interface au moyen d'événements en streaming.


Types de messages

Le flux de messages de la conversation comprend les types suivants :

Type de message Mode de rendu Description
Message utilisateur Bulle alignée à droite Texte et pièces jointes envoyés par l'utilisateur
Texte de l'assistant Rendu Markdown aligné à gauche Réponse textuelle de l'Agent, avec prise en charge de la coloration syntaxique du code, des formules mathématiques et des tableaux
Appel d'outil Panneau repliable ToolCallGroup Nom de l'outil + paramètres d'entrée + état d'exécution + résultat de sortie
Processus de réflexion Bloc repliable Thinking Processus de raisonnement de l'Agent (modèles à thinking natif, comme Claude)
Gestion des tâches Panneau de tâches TaskPanel Liste structurée de tâches (à faire / en cours / terminées)
Activité des sous-agents SubagentToolRow Processus d'exécution des sous-agents, avec marquage spécial
Interaction par question QuestionWizard Questions structurées posées par l'Agent à l'utilisateur

Affichage des appels d'outils

Lorsque l'Agent appelle un outil, l'interface affiche le composant ToolCallGroup :

Affichage des appels d'outils-CN

Élément affiché Description
Nom de l'outil Identifiant de l'outil appelé (par exemple Bash, Read File)
Paramètres d'entrée Paramètres reçus par l'outil (consultables via repli)
État d'exécution loading (icône en rotation) / success (coche verte) / error (croix rouge)
Résultat de sortie Contenu renvoyé par l'outil (les contenus longs sont repliables)

Plusieurs appels d'outils sont regroupés et affichés dans l'ordre d'exécution. Les outils exécutés simultanément s'affichent dans un même groupe.


Sortie en streaming

Les réponses de l'Agent sont poussées en temps réel vers l'interface au moyen d'événements en streaming :

Type d'événement Description
text_delta Fragment de texte, ajouté caractère par caractère à la zone de message
thinking Fragment du processus de réflexion (prise en charge du thinking natif Anthropic)
tool_use_start Début d'un appel d'outil, affichage du nom de l'outil et des paramètres
tool_result Résultat de l'exécution de l'outil, mise à jour de l'icône d'état
error Message d'erreur
done Tour terminé

L'utilisateur peut voir en temps réel le raisonnement et les opérations de l'Agent pendant la sortie en streaming, ce qui offre une expérience d'exécution transparente.


Gestion des sessions

Créer une nouvelle session

Cliquez sur le bouton « Nouvelle conversation » en haut à gauche ou utilisez un raccourci clavier pour créer une nouvelle session. Une nouvelle session commence par la page d'accueil, ou vous pouvez directement saisir un message pour lancer la conversation.

Opérations sur la liste des sessions

Opération Description
Recherche Filtrer les titres de sessions par mot-clé
Épingler Fixer les sessions importantes en haut de la liste
Regroupement par dossier Organiser les sessions dans des dossiers personnalisés
Suppression Supprimer une session (irréversible)
Renommer Modifier le titre d'une session

Instantané et restauration de session

L'APP prend en charge la persistance des instantanés de session afin d'éviter la perte de conversation en cas d'interruption inattendue :

Stratégie d'instantané Description
every_tool_round (par défaut) Sauvegarde après chaque appel d'outil
every_round Sauvegarde après chaque tour d'interaction LLM
manual Sauvegarde uniquement déclenchée manuellement

Les instantanés sont stockés sous forme de fichiers JSON (écriture atomique, .tmp + rename pour éviter la corruption) et permettent de restaurer une session interrompue via resumeSessionId.


Conversations locales et conversations distantes

Dans les scénarios multi-nœuds, les conversations de la liste des sessions affichent différentes icônes de provenance :

Icône Signification
Icône de conversation locale Icône d'ordinateur Conversation initiée ou exécutée par un nœud APP local
Icône de conversation distante Icône de serveur Conversation exécutée par un nœud distant
Icône de canal Icône de plateforme Conversation provenant d'un canal IM (Telegram, WeChat, etc.)

Cela aide l'utilisateur à distinguer rapidement la provenance d'exécution de la conversation.


Capacité de l'Agent Loop pour les tâches complexes

L'Agent Loop permet à Work de traiter des tâches complexes nécessitant des opérations en plusieurs étapes :

Scénario d'exemple : l'utilisateur demande « analyser la structure des répertoires du projet et générer un document d'architecture »

Tour 1 : l'Agent appelle List Directory pour parcourir la structure du projet Tour 2 : l'Agent appelle Glob Files pour rechercher les fichiers de configuration clés Tour 3 : l'Agent appelle Read File pour lire le contenu des fichiers centraux Tour 4 : l'Agent appelle Search Files pour trouver les dépendances entre modules Tour 5 : l'Agent effectue une analyse globale et génère un document d'architecture Markdown Tour 6 : l'Agent appelle Write File pour enregistrer le document au chemin spécifié
                      
                      Tour 1 : l'Agent appelle List Directory pour parcourir la structure du projet
Tour 2 : l'Agent appelle Glob Files pour rechercher les fichiers de configuration clés
Tour 3 : l'Agent appelle Read File pour lire le contenu des fichiers centraux
Tour 4 : l'Agent appelle Search Files pour trouver les dépendances entre modules
Tour 5 : l'Agent effectue une analyse globale et génère un document d'architecture Markdown
Tour 6 : l'Agent appelle Write File pour enregistrer le document au chemin spécifié

                    
Ce bloc de code dans la fenêtre flottante

Tout au long du processus, l'Agent décide de manière autonome quels outils appeler et dans quel ordre les exécuter, sans que l'utilisateur ait à le guider étape par étape. La boucle est limitée par défaut à un maximum de 25 tours, et un mécanisme de coupe-circuit garantit un arrêt automatique en cas d'anomalie.

Pour les détails techniques, reportez-vous à Moteur de boucle Agent.



Astuces : comment dialoguer plus efficacement avec l'Agent

Astuce Exemple Effet
Objectif clair « Aide-moi à refactoriser la fonction formatDate dans utils.ts pour utiliser date-fns » L'Agent localise précisément la cible et la solution
Requête par étapes « Liste d'abord tous les fichiers .tsx, puis dis-moi lesquels utilisent des composants class » L'Agent exécute étape par étape, pour des résultats plus maîtrisés
Outil spécifié « Merci d'utiliser Bash pour exécuter npm test » L'Agent utilise directement l'outil indiqué
Demande de confirmation « Dis-moi d'abord ton plan, puis exécute-le après confirmation » Empêche l'Agent de modifier directement les fichiers
Fournir du contexte « Il s'agit d'un projet React + TypeScript construit avec Vite » L'Agent propose des suggestions plus adaptées

Comment interrompre une tâche en cours d'exécution

Lorsque l'Agent effectue une opération que vous ne souhaitez pas :

  1. Cliquez sur le bouton Stop en bas du flux de messages (ou appuyez sur Esc)
  2. L'Agent s'arrête une fois l'exécution de l'outil en cours terminée
  3. Les opérations déjà effectuées (comme les fichiers déjà créés) ne sont pas automatiquement annulées
  4. Vous pouvez poursuivre la conversation pour demander à l'Agent d'annuler les opérations précédentes

Remarque : la commande Bash en cours d'exécution est terminée (envoi de SIGTERM), mais les effets des commandes déjà achevées ne peuvent pas être annulés automatiquement.


Que faire en cas d'échec d'un appel d'outil

Cause de l'échec Solution
Permissions insuffisantes L'Agent indique les permissions requises ; vous pouvez les accorder dans la fenêtre contextuelle ou ajuster le niveau de sécurité de l'outil
Fichier inexistant Vérifiez que le chemin est correct ; vous pouvez demander à l'Agent d'utiliser d'abord Glob/List Directory pour confirmer l'emplacement du fichier
Erreur d'exécution de commande L'Agent analyse généralement l'erreur de manière automatique et réessaie. En cas d'échec répété, fournissez manuellement plus de contexte
Délai réseau dépassé Les outils réseau comme Web Fetch peuvent échouer en raison de problèmes réseau ; il suffit de réessayer plus tard

Documents connexes