Déclenchement
Un job AutoReply démarre dans trois situations :| Déclencheur | Description |
|---|---|
| Nouveau message | Un utilisateur envoie un message. C’est le cas le plus courant. |
| Relance | Le système de relance (follow-up) planifie une reprise de contact. L’instruction de relance est injectée dans la génération. |
| Demande manuelle | Un opérateur demande explicitement une réponse automatique depuis le chat, avec la possibilité de forcer une intention (texte, photo, contenu payant, vocal). |
- Les services IA et AutoReply sont activés globalement : Admin > Chatting Auto > Chatting, interrupteurs
IA EnabledetAutoReply Enabled. Sinon le job s’annule. - Ils sont activés individuellement pour l’utilisateur : page de l’utilisateur > Settings, propriétés
Enable AIetEnable AutoReply. - La conversation n’est pas suspendue par l’IA : une fin ou pause de conversation bloque tout nouveau job jusqu’à la date de reprise prévue.
Workflow
Voici le cycle de vie complet d’une réponse automatique :Vérifications initiales
BatchMessageCount, 50 par défaut).Attente intelligente
Awaiting) tant que le moment n’est pas opportun pour répondre :- L’utilisateur est en train d’écrire.
- Sa dernière interaction est trop récente (paramètre
RecentInteractionDelay, 20 s par défaut). - Des médias reçus n’ont pas encore de description (transcription/analyse en cours, voir
AllowMissingAlt). - Un job d’enrichissement du profil utilisateur est en cours : ses conclusions (mémoires, scores) doivent être disponibles avant de répondre.
RetryDelay secondes. Cette phase évite de couper la parole à l’utilisateur et garantit que l’IA dispose du contexte complet. Elle peut être contournée ponctuellement via Skip waiting depuis le badge du job.Vérification des accomplissements
Évaluation de la stratégie
- Injecte ses instructions dans le contexte de génération (contexte, objectifs, règles de conduite).
- Exécute ses actions dans l’ordre : envoi direct de message, modification de variables, changement de stratégie, arrêt ou redémarrage du job, modification de l’intention, etc.
- Certaines actions déclenchent une ré-évaluation des règles (jusqu’à 10 passes maximum) : une action peut modifier l’état de l’utilisateur, puis les règles sont relues avec ce nouvel état. Une règle déjà exécutée n’est jamais ré-exécutée dans le même job. Les injections retenues sont celles de la dernière passe.
- Les messages envoyés directement par des actions sont intégrés au contexte : les agents de génération les voient comme déjà envoyés.
- Une action peut interrompre le job ici (ex. arrêt pour réserver la conversation à un opérateur) : aucune réponse IA n’est alors générée.
Génération de la réponse
MaxMessagesPerReply.Le moteur peut aussi décider de ne pas répondre : voir Fin et pause de conversation.Fenêtre de contrôle opérateur
AutoSendDelay, 5 s par défaut) avant l’envoi automatique.Cette fenêtre laisse le temps à un opérateur de superviser : annuler le job depuis son badge pour reprendre la main, ou utiliser Skip waiting pour envoyer immédiatement.Envoi humanisé
- Indicateur d’activité visible par l’utilisateur, renouvelé en continu : « écrit… » pour un texte, « enregistre un audio… » pour un vocal.
- Délai d’écriture simulé avant chaque message, calculé selon la longueur du contenu et la vitesse de frappe configurée dans la persona du créateur. Pour un vocal, le délai correspond à la durée réelle de l’audio.
- En cas d’indisponibilité temporaire du canal (limitation Telegram dite flood wait), le job patiente le délai exigé (avec une marge aléatoire) et réessaie, jusqu’à 5 tentatives par message. Un message n’est enregistré qu’après envoi réussi : les retries ne produisent jamais de doublon.
Les moteurs de génération (frameworks)
La phase de génération est assurée par un moteur interchangeable, aussi appelé framework. Un moteur est un assemblage d’agents IA spécialisés qui collaborent pour produire la réponse. Deux moteurs existent :| Moteur | Approche | Statut |
|---|---|---|
| V1 | Chaîne d’agents spécialisés, routée par une classification d’intention préalable | Historique |
| V2 | Agent central unique (ReplyAgent) équipé d’outils, qui décide lui-même quoi faire | Par défaut |
Framework des paramètres AutoReply, globalement ou par utilisateur.
Moteur V1
Le moteur V1 commence par classifier l’intention du message utilisateur via le Classificateur d’intention : réponse texte, demande de photo, contenu payant ou vocal. Chaque intention emprunte ensuite un chemin dédié d’agents spécialisés : Chaque agent a une mission unique, détaillée sur sa page dédiée :- Le ThinkingAgent réfléchit à la stratégie de réponse et produit une directive de rédaction. Sa réflexion est systématiquement vérifiée par le ValidationAgent (Chain-of-Verification, jusqu’à 3 allers-retours).
- Le RedactionAgent transforme la directive en messages naturels, relus par le Validateur de rédaction (jusqu’à 3 corrections).
- Pour le vocal, le Rédacteur vocal remplace le RedactionAgent et produit des phrases oralisées, ensuite synthétisées.
- Un ContextAgent de pré-analyse existe en amont du ThinkingAgent, mais il est actuellement désactivé.
Moteur V2
Le moteur V2 remplace la chaîne par un agent central unique, le ReplyAgent. Plus de classification d’intention préalable : l’agent analyse lui-même la conversation et choisit ses actions grâce à une palette d’outils. Les avantages de cette approche :- Plus rapide et plus économique : moins d’appels IA successifs, pas d’étape de vérification de réflexion (compensée par un modèle plus performant), outils de recherche parallélisables.
- Plus cohérent : un seul « cerveau » décide du texte, des médias et des paiements dans une même réponse.
- Plus flexible : l’agent peut combiner librement les types de messages (un texte + une photo + un vocal dans la même réponse).
Relances
Les relances (follow-ups) déclenchent un job AutoReply particulier : l’instruction de relance remplace ou complète la réflexion. Le comportement dépend de l’option Thinking de la relance :| Option | Moteur V1 | Moteur V2 |
|---|---|---|
Avec réflexion (Thinking activé) | Workflow complet, l’instruction est injectée dans le ThinkingAgent. | Workflow complet, l’instruction est injectée dans le ReplyAgent. |
| Sans réflexion | L’instruction est transmise telle quelle au RedactionAgent. | Identique au V1 : rédaction directe, le ReplyAgent est court-circuité. |
SkipIfLastMessageFromAI (le dernier message est par définition celui du créateur). Les jetons de l’instruction ({{USER_*}}, {{CREATORPERSONA_*}}…) sont résolus avant injection.
Fin et pause de conversation
Les agents de réflexion (ThinkingAgent en V1, ReplyAgent en V2) partagent deux outils de pilotage,leave_on_read et conversation_pause, qui leur permettent de décider qu’il ne faut pas répondre :
- Laisser sur « vu » (
leave_on_read) : l’échange est arrivé à son terme naturel (objectif atteint, utilisateur hostile, impasse). Le fan est laissé sur « vu », les réponses automatiques sont suspendues, puis une relance est automatiquement planifiée à l’heure de contact optimale de l’utilisateur pour reprendre contact naturellement. - Pause de conversation : suspension temporaire jusqu’à une date de reprise choisie par l’agent (ex. l’utilisateur part travailler), avec une relance planifiée à cette échéance.
Suivi et contrôle en temps réel
Chaque exécution est entièrement traçable et pilotable depuis le chat :- Un badge de job apparaît dans la conversation et affiche l’étape en cours en temps réel. Son bouton « … » donne accès aux actions de contrôle : Afficher (page de détail), Skip waiting (contourner une attente en cours), mettre en pause ou annuler le job — voir Cycle de vie d’un job et Interface.
- Un message de trace (visible uniquement des opérateurs) détaille le raisonnement complet : agents exécutés avec leurs échanges, règles de stratégie déclenchées, actions effectuées, verdicts de validation, plan stratégique retenu pour le prochain tour. Il se met à jour en direct pendant l’exécution.
- La page de détail du job (liste Admin > Jobs ou badge > Afficher) expose la progression par étapes et tous les appels IA effectués, avec leurs durées, tokens et coûts.
Paramètres
Les paramètres AutoReply se configurent à deux niveaux :- Global : Admin > Chatting Auto > Chatting > carte Paramètres AutoReply. S’applique à tous les utilisateurs.
- Par utilisateur : page de l’utilisateur > Settings > carte AutoReply Settings. Surcharge la configuration globale pour cet utilisateur uniquement (bouton Clear override pour revenir au global).
| Paramètre | Défaut | Description et conséquences |
|---|---|---|
Framework | V2 | Moteur de génération : V1 (chaîne d’agents) ou V2 (ReplyAgent). Permet de revenir au comportement historique par utilisateur ou globalement. |
RecentInteractionDelay | 20 s | Durée minimale depuis la dernière interaction de l’utilisateur avant de générer. Trop court : l’IA coupe la parole à un utilisateur qui enchaîne les messages. Trop long : réponses tardives. |
RetryDelay | 10 s | Intervalle entre deux vérifications pendant les phases d’attente. Influe sur la réactivité du job, pas sur son comportement. |
AutoSendDelay | 5 s | Durée de la fenêtre de contrôle opérateur avant envoi automatique. Mettre une valeur haute si vos opérateurs veulent systématiquement relire avant envoi. |
BatchMessageCount | 50 | Nombre de messages récents chargés pour le job. Les agents y puisent ensuite leurs propres fenêtres (typiquement les 15 derniers). |
MaxMessagesPerReply | 3 | Plafond de bulles texte générées par réponse. Les phrases vocales sont plafonnées séparément par MaxVocalsPerReply du Rédacteur vocal. |
SkipIfLastMessageFromAI | Désactivé | Annule le job si le dernier message de la conversation vient déjà de l’IA. Évite que l’IA monologue ; sans effet sur les relances. |
AllowMissingAlt | Activé | Autorise la génération même si des médias reçus n’ont pas encore de description. Si activé, l’IA peut inventer le contenu d’un média qu’elle n’a pas « vu ». Si désactivé, le job attend la description. |
MinIntentScore | 20 | Moteur V1 uniquement. Score de confiance minimal du Classificateur d’intention, sous lequel le job échoue (AR-141) plutôt que de répondre à contresens. |
Cas particuliers et diagnostic
Aucun job ne démarre quand un utilisateur écrit
Aucun job ne démarre quand un utilisateur écrit
AutoReply EnabledetIA Enabledglobaux (Admin > Chatting Auto > Chatting).Enable AutoReplyetEnable AIsur la fiche de l’utilisateur.- Une fin ou pause de conversation est peut-être active : la conversation est suspendue jusqu’à la date de reprise (visible via le dernier message système de la conversation).
- Un job AutoReply est peut-être déjà en cours pour cette conversation.
Le job reste longtemps en statut Awaiting
Le job reste longtemps en statut Awaiting
AllowMissingAlt.Le job s'annule avec « Le dernier message envoyé a déjà été généré par IA »
Le job s'annule avec « Le dernier message envoyé a déjà été généré par IA »
SkipIfLastMessageFromAI est activé et l’IA a déjà répondu en dernier. C’est une protection anti-monologue. Les relances ne sont pas concernées.L'IA ne répond plus du tout depuis un moment
L'IA ne répond plus du tout depuis un moment
AR-900, OpenRouter). Rechargez votre solde. Les jobs échoués avec cette référence activent l’indicateur d’attention.La réponse a été générée mais jamais envoyée
La réponse a été générée mais jamais envoyée
- Un opérateur a annulé le job pendant la fenêtre de contrôle.
- La validation critique a supprimé la réponse (
AR-530, ex. l’IA admettait être une IA) : voir le code en cause dans la trace. - Telegram était indisponible et l’envoi a échoué après 5 tentatives (
AR-182).
Une conversation « terminée » a redémarré toute seule
Une conversation « terminée » a redémarré toute seule
Enable AutoReply sur sa fiche.Le moteur V2 est sélectionné mais la trace montre les agents V1
Le moteur V2 est sélectionné mais la trace montre les agents V1
Enable décoché dans sa configuration) : AutoReply bascule automatiquement sur le moteur V1. Réactivez l’agent pour retrouver le V2.Les réponses sont envoyées en double ou se chevauchent
Les réponses sont envoyées en double ou se chevauchent
Référence des erreurs
Quand un job AutoReply échoue ou s’annule, sa description d’étape affiche un message compréhensible suivi d’un code de référence au formatAR-xxx. Communiquez ce code au support pour un diagnostic immédiat. Les plages de codes :
| Plage | Domaine |
|---|---|
AR-1xx | Initialisation et préconditions (utilisateur introuvable, conversation vide, paramètres globaux manquants…) |
AR-14x | Classification de l’intention (moteur V1) : pas de réponse (AR-140), score trop bas (AR-141), intention inconnue (AR-142) |
AR-16x / AR-18x | Envoi : compte Telegram non lié (AR-180), aucune réponse préparée (AR-181), indisponibilité Telegram persistante (AR-182), échec d’envoi (AR-183) |
AR-5xx | Moteur V2 : validation critique (AR-530), plafond d’itérations (AR-550), anti-boucle (AR-551), arrêt sans réponse (AR-552) |
AR-6xx | Moteur V1 : échec de génération texte (AR-600), photo (AR-610), contenu payant (AR-620), vocal (AR-630) |
AR-900 | Crédits du fournisseur IA épuisés (OpenRouter) — rechargez votre solde |
NeedAttention (voir Cycle de vie d’un job).
Voir aussi
- Job — Concepts généraux des jobs : cycle de vie, statuts, progression, interface.
- Agent — Le fonctionnement des agents IA, leurs modèles et leur configuration.
- ReplyAgent — L’agent central du moteur V2 en détail.
