Passer au contenu principal
Le ReplyAgent est l’agent central du moteur V2 de réponse automatique. Il remplace à lui seul la chaîne d’agents du moteur V1 (classification d’intention, contexte, réflexion, rédaction) : c’est lui qui analyse la conversation, décide de la marche à suivre et construit la réponse, en appelant ses outils au fil de sa réflexion (boucle ReAct).

Fonctionnement

  1. Le ReplyAgent reçoit la conversation (fenêtre des 15 derniers messages), le profil de l’utilisateur, la persona du créateur et le bloc stratégie (injections des règles qui ont matché).
  2. Il réfléchit, puis appelle les outils nécessaires : rechercher un média, interroger la mémoire, déposer des messages…
  3. Chaque message déposé devient un message candidat : rien n’est envoyé pendant la réflexion.
  4. Quand il estime sa réponse complète, il s’arrête. La validation de rédaction relit alors l’ensemble des candidats : en cas d’erreur, l’agent reçoit un retour précis et corrige (passes limitées).
  5. Le job AutoReply reprend la main pour la fenêtre de contrôle opérateur et l’envoi.
Les outils en lecture seule (get_media, search_rag) peuvent être appelés en parallèle dans une même itération, ce qui réduit le temps de réponse.

Les outils

OutilRôle
send_messageDépose un message texte candidat. Validé immédiatement par les contrôles locaux (mots interdits, quotas, longueur) : une bulle refusée n’est pas ajoutée et l’agent doit la reformuler.
send_vocalDépose un message vocal candidat. La synthèse vocale réelle est différée après la décision finale (aucun coût audio si la réponse est finalement abandonnée).
send_imageEnvoie gratuitement une photo/vidéo identifiée au préalable avec get_media.
send_paymentGénère un lien de paiement embarquant un ou plusieurs médias, livrés à l’utilisateur après paiement. Le prix par défaut est la somme des prix des médias, mais l’agent peut le surcharger (offres, négociations).
get_mediaRecherche un média adapté dans la galerie : gratuit (recherche sémantique sur les préférences du fan) ou payant (sélection et prix automatiques, adaptés au dernier achat du fan). Ne propose jamais un média déjà acheté par cet utilisateur ; en revanche un contenu payant déjà proposé mais non payé reste proposable (négociation possible).
search_ragInterroge la mémoire long-terme du créateur (RAG).
set_planNote un plan stratégique pour la suite de la conversation. Ce plan est relu par l’agent au job suivant (visible dans la trace comme [PLAN]).
leave_on_readLaisse le dernier message du fan sur « vu » : aucune réponse n’est envoyée ce tour. Une relance est planifiée à l’heure de contact optimale pour reprendre contact naturellement.
conversation_pauseMet la conversation en pause jusqu’à une date de reprise. Le fan est aussi laissé sur « vu ».
clear_messagesVide entièrement la file d’attente d’envoi (toutes les bulles : textes, vocaux, médias, liens de paiement). Affordance de récupération : l’agent s’en sert pour repartir de zéro si sa file contient une erreur (ex. un doublon), puis reconstruit sa réponse.

Continuité d’album

Lors de l’envoi de plusieurs médias, l’agent privilégie la continuité d’album (paramètre PreferAlbumContinuity):
  • Un deuxième média gratuit est choisi de préférence dans le même album que le précédent, pour une cohérence visuelle.
  • Le premier média payant ouvre volontairement un nouvel album (l’utilisateur paie pour du contenu inédit), puis les médias payants suivants poursuivent ce nouvel album.
Ce paramètre est désactivable dans Admin > Chatting Auto > Chatting > Paramètres AutoReply

Limite de médias gratuits

L’outil send_image est plafonné par le paramètre global MAX_FREE_MEDIA (défaut : 4). Le compteur additionne les médias gratuits déjà envoyés à l’utilisateur et ceux mis en file dans la réponse en cours. Au-delà, l’outil refuse l’envoi et oriente l’agent vers le contenu payant. Ce plafond s’applique désormais sur une fenêtre glissante, définie par le paramètre MAX_FREE_MEDIA_WINDOW (défaut : 24 h), et non sur tout l’historique. Passé ce délai, les anciens envois gratuits ne sont plus comptés : un utilisateur peut donc recevoir à nouveau des médias gratuits le lendemain. Laissez la fenêtre vide pour compter l’historique complet. Configurable dans Admin > Chatting Auto > Chatting > champ Limite de PPV gratuit par utilisateur

Restrictions par la stratégie

Quand une action de stratégie force ou reroute une intention, une politique d’outils restreint dynamiquement la palette. Par défaut (HardRemoveDisabledTools activé), les outils restreints sont retirés de la palette de l’agent. Décochez ce paramètre pour les conserver visibles : ils refusent alors poliment leur exécution avec un message expliquant la restriction à l’agent (ex. « Les paiements sont désactivés par la stratégie pour cette réponse »).

Garde-fous

  • Plafond d’itérations (MaxIterations, défaut 12) : au-delà, le job échoue avec la référence AR-550.
  • Anti-boucle (MaxRefusedToolCalls, défaut 6) : trop d’appels d’outils refusés consécutivement arrête l’agent (AR-551).
  • Timeout global (TimeoutSeconds, défaut 150 s).
  • Arrêt sans réponse : si l’agent s’arrête sans avoir produit de candidat envoyable, le job échoue visiblement (AR-552) avec l’indicateur d’attention — jamais de réponse vide envoyée à l’utilisateur.
  • Validation critique : si la validation finale détecte une erreur grave (ex. aveu d’être une IA), la réponse entière est supprimée et le job échoue (AR-530), même si des candidats média subsistaient.
Le ReplyAgent peut légitimement décider de ne rien répondre via leave_on_read ou conversation_pause : le job se termine alors en succès, sans envoi (le fan est laissé sur « vu »). Un message système l’indique dans la conversation.

Configuration

Rendez-vous dans Admin > Chatting Auto > Agents > carte ReplyAgent :
ParamètreDéfautEffet
EnableActivéSi désactivé alors que le moteur V2 est sélectionné, AutoReply bascule automatiquement sur le moteur V1.
MaxIterations12Nombre maximal d’itérations de la boucle réflexion/outils. Augmenter donne plus de latitude (réponses complexes multi-outils) mais accroît coût et latence.
TimeoutSeconds150Durée maximale de l’exécution complète de l’agent.
MaxRefusedToolCalls6Tolérance d’appels d’outils refusés avant arrêt anti-boucle.
MaxValidationPasses2Nombre de passes de correction accordées après la validation finale. Au-delà, la meilleure version disponible est conservée (best-effort), sauf erreur critique.
UseRedactionValidationActivéDésactive entièrement la validation de rédaction (inline et finale) si décoché. À réserver aux tests.
HardRemoveDisabledToolsActivéRetire physiquement les outils restreints par la stratégie. Décochez pour les conserver visibles : ils refusent alors leur exécution avec une explication.
PreferAlbumContinuityActivéActive la logique de continuité d’album décrite ci-dessus.
Le modèle IA du ReplyAgent se choisit au même endroit. Privilégiez un modèle performant avec cache de tokens : le prompt de l’agent est conçu pour être mis en cache entre les itérations, ce qui réduit fortement les coûts.

Voir aussi