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 :

| É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 |
|---|---|
| Conversation initiée ou exécutée par un nœud APP local | |
| Conversation exécutée par un nœud distant | |
| 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é
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 :
- Cliquez sur le bouton Stop en bas du flux de messages (ou appuyez sur
Esc) - L'Agent s'arrête une fois l'exécution de l'outil en cours terminée
- Les opérations déjà effectuées (comme les fichiers déjà créés) ne sont pas automatiquement annulées
- 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
- Entrée et sortie multimodales — capacités d'entrée et de prévisualisation de fichiers
- Sous-agents — décomposition et délégation de tâches
- Moteur de boucle Agent — mécanisme de boucle sous-jacent
- Compression de contexte à 5 niveaux — gestion du contexte des longues conversations
