Guide de l'agent IA chercheur de forum

:bookmark: Ce guide explique l’agent Forum Researcher dans Discourse AI, son fonctionnement et comment le configurer pour une analyse approfondie du contenu des forums.

:person_raising_hand: Niveau utilisateur requis : Administrateur (pour activer et configurer), Tous les utilisateurs (pour interagir, si l’accès est accordé)

Comprendre et utiliser l’agent Forum Researcher

Le plugin Discourse AI inclut l’agent Forum Researcher, un outil puissant conçu pour mener des recherches approfondies sur le contenu de votre forum. Cet agent peut vous aider à découvrir des insights, à résumer des discussions et à analyser les tendances au sein de votre communauté.

Résumé

Ce document couvrira :

  • Le fonctionnement de l’agent Forum Researcher.
  • Les étapes pour configurer le Forum Researcher.
  • Les meilleures pratiques pour interagir avec l’agent.
  • La distinction entre le Forum Researcher et les outils d’aide standard du forum.
  • Des conseils pour sélectionner un modèle de langage à grande échelle (LLM) approprié.
  • Des astuces de débogage pour les tâches de recherche.
  • Les limitations actuelles de l’agent.

Comment cela fonctionne

L’agent Forum Researcher utilise un outil Researcher dédié. Cet outil est conçu pour :

  1. Accéder au contenu du forum : Il peut parcourir diverses sections de votre forum.
  2. Appliquer des filtres avancés : Un système de filtres flexible permet à l’outil de cibler précisément les informations pertinentes. Vous pouvez spécifier le contenu par :
    • Catégories spécifiques (par exemple, category:support ou categories:support,feedback)
    • Étiquettes (par exemple, tag:bug ou tags:bug,regression)
    • Utilisateurs ou groupes (par exemple, username:sam, usernames:sam,jane, group:moderators, groups:moderators,admins)
    • Mots-clés dans les messages ou les titres des sujets (par exemple, keywords:regression,bug, topic_keywords:feature,request)
    • Plages de dates pour les messages (par exemple, after:2024-01-01 before:2024-06-30)
    • Plages de dates pour les sujets (par exemple, topic_after:2024-01-01 topic_before:2024-06-30)
    • Sujets spécifiques par ID (par exemple, topic:123 ou topics:123,456)
    • Statut du sujet (par exemple, status:open, status:closed, status:archived, status:noreplies, status:single_user)
    • Type de message (par exemple, post_type:first, post_type:reply)
    • Ordre de tri (par exemple, order:latest, order:oldest, order:latest_topic, order:oldest_topic, order:likes)
    • Limite de résultats en ligne (par exemple, max_results:50)
    • Sujets assignés (si le plugin Assign est activé, par exemple, assigned_to:username, assigned_to:user1,user2, assigned_to:*, assigned_to:nobody)
    • Les filtres peuvent être combinés en utilisant la logique ET (séparés par des espaces) ou la logique OU (en utilisant OU entre les groupes de filtres). Par exemple : category:bugs status:open after:2024-05-01 OR tag:critical usernames:sally.
  3. Analyser le contenu avec des modèles de langage à grande échelle (LLM) : Après avoir récupéré le contenu filtré, il utilise un LLM pour analyser les informations, extraire des insights et répondre à vos questions spécifiques ou atteindre vos objectifs de recherche.
  4. Suivre un processus structuré : Pour garantir l’efficacité et la précision, surtout compte tenu des coûts potentiels, le Forum Researcher est conçu pour :
    • Comprendre : Il travaillera avec vous pour clarifier vos objectifs de recherche au début.
    • Planifier : En fonction de vos objectifs, il conçoit une approche de recherche complète en utilisant les filtres disponibles.
    • Tester (Exécution à blanc) : Avant d’exécuter l’analyse complète, l’agent effectue généralement une « exécution à blanc ». Cela consiste à calculer le nombre de messages correspondant à vos critères de filtre sans les traiter immédiatement avec le LLM. L’agent vous informera ensuite de ce nombre.
    • Affiner : En fonction des résultats de l’exécution à blanc, si le nombre de messages est trop élevé (risquant des coûts élevés ou des résultats trop larges) ou trop faible (risquant de manquer des informations clés), l’agent peut vous aider à ajuster les filtres.
    • Exécuter : Une fois que vous avez confirmé que la portée est appropriée (après l’exécution à blanc), l’agent lance l’analyse finale, envoyant le contenu au LLM.
    • Résumer : Il présente les résultats, généralement en utilisant le Markdown de Discourse, avec des liens vers les messages et les sujets d’origine du forum comme preuves de soutien.

Cette approche méthodique signifie que vous pouvez demander à l’analyste d’effectuer des tâches telles que :

  • « Résumez les bugs non résolus les plus fréquemment discutés dans la catégorie ‘mobile-app’ du dernier trimestre et identifiez toutes les solutions ou contournements proposés mentionnés dans les discussions. »
  • « Aidez-moi à identifier les principaux arguments pour et contre le sujet de proposition ‘New User Onboarding’ (lien), et listez les principaux partisans de chaque camp. »
  • « Examinez l’activité du groupe ‘documentation-team’ au cours de la dernière année et fournissez un rapport sur leurs contributions clés aux articles how-to, en mettant en évidence tout tutoriel ayant reçu des retours positifs significatifs. »

Configuration du Forum Researcher

Le Forum Researcher est désactivé par défaut car son utilisation peut engendrer des coûts LLM.

  1. Activer l’agent : Activez-le en naviguant vers Admin → AI → Agents.
  2. Contrôler l’accès : Il est fortement recommandé de limiter cet agent à des groupes spécifiques pour gérer les coûts LLM. Vous pouvez également utiliser des quotas AI pour un contrôle plus fin.

Une fois activé, l’outil dispose de plusieurs options de configuration :

  • LLM : Sélectionnez un LLM spécifique pour la recherche. Cela est défini par défaut sur le LLM de l’agent actuel. Cette option vous permet d’équilibrer la qualité et le coût.
  • Nombre maximum de résultats : Cela limite le nombre de messages traités par requête pour contrôler les coûts. La valeur par défaut est 1000.
  • Inclure les privés : Cela permet de rechercher dans des catégories sécurisées, en utilisant les permissions de l’utilisateur interagissant.
  • Nombre maximum de jetons par message : Cela tronque les longs messages pour économiser les coûts de jetons. Il est défini par défaut à 2000 jetons, avec un minimum de 50.
  • Nombre maximum de jetons par lot : Cela contrôle la taille des morceaux de données envoyés au LLM. C’est utile pour les LLM avec de grandes fenêtres de contexte ou pour maintenir la concentration. Si défini à 8000 ou moins, il est défini par défaut sur le nombre maximum de jetons de prompt du LLM moins une marge tampon de 2000 jetons.

Meilleures pratiques pour l’interaction

Pour tirer le meilleur parti du Forum Researcher tout en gérant les coûts :

  • Soyez précis avec vos objectifs : Définissez clairement ce que vous voulez découvrir avant de commencer. L’agent fonctionne mieux lorsqu’il a des objectifs précis.
  • Confirmez la portée après l’exécution à blanc : L’agent effectuera généralement une « exécution à blanc » en premier et vous informera du nombre de messages trouvés en fonction de votre demande. Faites très attention à ce nombre. S’il est trop élevé (risquant des coûts élevés ou des résultats peu ciblés) ou trop faible (risquant de manquer des informations cruciales), discutez de l’affinement de vos filtres avec l’agent avant de vous engager dans l’analyse complète.
  • Itérez sur les filtres : Si l’exécution à blanc initiale ne cible pas les bonnes informations, travaillez avec l’agent pour ajuster les critères de filtre. Ajoutez des mots-clés plus spécifiques, rétrécissez les plages de dates ou spécifiez des catégories/étiquettes.
  • Regroupez les requêtes : L’agent est conçu pour gérer plusieurs objectifs liés dans une seule exécution de recherche. Essayez de regrouper des questions liées dans une seule demande de recherche complète à l’agent.

Relation avec l’assistant de forum standard et les outils connexes

L’agent Forum Researcher est distinct d’un assistant de forum général utilisant des outils standard comme Search et Read.

  • Outils standard Search et Read :

    • L’outil Search identifie principalement les sujets pertinents. Il le fait en faisant correspondre des mots-clés avec le contenu des messages et d’autres critères (étiquettes, catégories, etc.). Pour chaque sujet correspondant, il renvoie un lien et un bref extrait d’un message pertinent, pas le contenu complet du message.
    • L’outil Read est utilisé pour accéder au contenu complet d’un sujet spécifique (ou de messages sélectionnés à l’intérieur) que Search a identifié.
    • Ces outils fonctionnent de concert pour une récupération ciblée : Search trouve les sujets, Read digère leur contenu.
  • Outil researcher du Forum Researcher :

    • Analyse directe et approfondie du contenu : L’outil researcher ne se contente pas d’identifier les sujets ; il traite et analyse directement le contenu complet de nombreux messages potentiels (jusqu’à son Nombre maximum de résultats configuré) qui correspondent à ses critères de filtre complets.
    • Filtrage et synthèse avancés : Il utilise un langage de filtrage plus complexe pour construire un ensemble de données de messages provenant de tout le forum (potentiellement couvrant des centaines de sujets), puis synthétise les informations de cet ensemble de données entier pour répondre à des questions complexes. Cela est fondamentalement différent de lire des sujets individuels un par un.

En essence, tandis qu’un assistant de forum utilise Search pour identifier des sujets (présentant des extraits) et Read pour approfondir un sujet, le Forum Researcher mène une analyse large sur le texte réel de nombreux messages simultanément pour découvrir des insights plus profonds et synthétisés.

Quel LLM devrais-je utiliser ?

La technologie LLM évolue rapidement, les modèles s’améliorant continuellement en capacité et en rentabilité. Au cours du développement du Forum Researcher, des modèles comme Gemini 2.5 Flash, Gemini 2.5 Pro, GPT-4.1 et Claude 4 Sonnet ont fourni d’excellents résultats pour des plans de recherche complexes.

Le meilleur choix dépend de vos besoins spécifiques :

  • Analyse de haute qualité et nuancée : Des modèles plus avancés peuvent être préférables, bien qu’ils soient généralement plus coûteux.
  • Aperçus généraux ou tâches sensibles aux coûts : Des modèles plus rapides et plus économiques peuvent être très efficaces.

Voici quelques exemples ponctuels issus de tests internes chez Discourse pour une requête très spécifique et complexe :

Regardez les 1000 premiers sujets ouverts dans la catégorie fonctionnalités - classés par nombre de likes (premier message uniquement) - tous temps confondus … faites-moi un rapport exécutif sur :

  • Les 20 meilleures fonctionnalités que CDCK devrait construire
  • Les 20 fonctionnalités les plus faciles que CDCK pourrait construire
  • Les doublons évidents
  • Les choses très mal définies

ne me posez plus de questions, lancez simplement la recherche

  1. Exemple Gemini 2.0 Flash
  2. Exemple Gemini 2.5 Flash (avec réflexion)
  3. Exemple GPT-4.1
  4. Exemple Claude 4 Sonnet
  5. Exemple Gemini 2.5 Pro

Exemple hybride : Pilote Gemini 2.5 Pro et LLM Researcher Gemini 2.0 Flash
Exemple hybride

Débogage de la recherche

Dans Discourse, vous pouvez activer le débogage AI avancé en ajoutant des groupes au paramètre de site ai_bot_debugging_allowed_groups. Avec cela en place, vous pouvez voir les charges utiles réelles envoyées au LLM.

Limitations

Actuellement, il n’y a pas d’option pour envoyer des images au LLM de recherche. Cela sera considéré dans les versions futures.

FAQ

  • Le Forum Researcher est-il disponible sur tous les plans Discourse ?
    Le Forum Researcher fait partie du plugin Discourse AI, disponible pour les sites auto-hébergés et sur notre plan d’hébergement Entreprise.

  • Le Forum Researcher peut-il accéder au contenu de catégories sécurisées ?
    Oui, si l’option « Inclure les privés » est activée dans sa configuration et que l’utilisateur interagissant avec l’agent dispose des permissions nécessaires pour accéder à ces catégories.

  • Comment puis-je contrôler le coût d’utilisation du Forum Researcher ?

    • Limitez l’accès à des groupes spécifiques et de confiance.
    • Utilisez les paramètres « Nombre maximum de résultats » et « Nombre maximum de jetons par message » pour limiter le traitement.
    • Choisissez des LLM rentables.
    • Faites très attention aux estimations de l’« exécution à blanc » avant d’exécuter la recherche complète.
    • Utilisez les quotas AI.

Ressources supplémentaires

18 « J'aime »

@sam Excellent travail et merci beaucoup pour les progrès constants sur les personnalités de Discourse AI - un travail vraiment impressionnant.

Lorsque plusieurs personnalités sont activées, la liste déroulante du compositeur peut sembler encombrée et déroutante pour les utilisateurs. Je cherche des conseils sur la meilleure façon de :

  • Est-ce l’utilisation correcte d’avoir de nombreuses personnalités dans la liste déroulante pour que les utilisateurs puissent choisir ?

  • Est-ce qu’une personnalité par défaut peut exploiter des personnalités spécialisées en coulisses ?

  • Je pense que le contrôle de la visibilité par le biais d’autorisations, de sorte que les personnalités d’assistance restent cachées aux utilisateurs réguliers et utilisées avec une automatisation, entraînera plusieurs messages de réponse. Il serait formidable qu’elles puissent être utilisées comme outils.

Tous les conseils de configuration ou exemples de directives de déploiement seraient utiles.

2 « J'aime »

Salut tout le monde,

Tout d’abord, excellent travail ! C’est quelque chose que nous attendions vraiment, de pouvoir organiser toutes les connaissances du forum.

Un petit problème que nous avons constaté :

  • Comme notre forum fonctionne en allemand, il semble que le LLM ait tenté d’effectuer une recherche avec les guillemets allemands qui ressemblent à ceci „comme ça“, ce qui entraîne des résultats de recherche vides. Note : Nous avons traduit l’invite système par défaut du chercheur en allemand.
1 « J'aime »

Quel LLM utilisez-vous ? Il pourrait être utile de copier la persona et de refaire l’invite système en allemand avec des indices

Je l’ai déjà fait, j’ai même ajouté une instruction supplémentaire :

- Pour des paramètres de recherche affinés dans le forum, utilisez exclusivement les guillemets ``"`` et non ``„“``.

Mais le problème persiste. C’est arrivé avec gpt 4.1 et occasionnellement avec gemini 2.5 pro et flash.

Au fait, où puis-je trouver plus d’informations sur l’utilisation des paramètres topic_keywords: et keywords: ? Je n’ai rien trouvé dans meta ni sur ask.discourse.com. Je veux essayer de reproduire la recherche que le LLM essaie d’effectuer. Je n’obtiens aucun résultat de recherche lorsque je les utilise dans la recherche de mon forum (nous sommes sur la version 3.5.0.beta8-dev).

Je viens de rencontrer un comportement étrange avec le chercheur Gemini 2.5 :

Le LLM répond :

Je vais maintenant compiler les informations de ces contributions et d’autres pour créer la description de la souche. Cela prendra un moment. Je vous contacterai à nouveau une fois que j’aurai terminé.

Mais la réponse est en fait terminée et ne continue pas à partir d’ici et doit être redéclenchée manuellement pour continuer

Le persona du chercheur n’utilise pas l’implémentation de recherche principale de Discourse, il utilise une implémentation personnalisée, celle-ci est analysée puis nous appelons directement la recherche plein texte.

Ah, je comprends. Ce serait bien d’avoir quand même de la documentation pour avoir un contrôle plus granulaire sur le comportement de la recherche via les invites.

1 « J'aime »

C’est une hallucination à 1000% d’un LLM.

Dans le corpus de données d’entraînement, c’est une réponse « courante », donc si nous ne faisons pas attention, il peut inventer ce genre de choses :frowning:

2 « J'aime »

Si vous activez le débogage et appuyez sur le bouton (i), il affichera la section de l’invite où nous spécifions la langue complète du chercheur à l’LLM.

Bien que je trouve formidable que le persona du chercheur dispose de paramètres de recherche personnalisés et avancés, cette situation rend difficile la reproduction manuelle des requêtes de recherche, puis la personnalisation ou l’affinage de l’invite système, ou le débogage de la recherche lorsqu’elle ne renvoie aucun résultat, car je ne peux pas utiliser les mêmes paramètres et valeurs de recherche dans l’interface utilisateur.

Existe-t-il un moyen de reproduire la recherche personnalisée, peut-être via l’API ?

1 « J'aime »

Pas pour le moment, mais c’est une excellente idée, essentiellement il s’agit d’un type de filtre

2 « J'aime »

Super article, Sam, et vraiment impressionnant que nous puissions maintenant utiliser Discourse AI pour créer facilement notre propre agent de recherche approfondie !
Il n’y a qu’une chose qui m’inquiète :
image :open_mouth:

3 « J'aime »