20 points par GN⁺ 2025-10-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Guide structuré couvrant tout le processus, du choix des bonnes fonctionnalités à leur implémentation puis leur amélioration, fondé sur l’expérience concrète acquise par PostHog en développant pendant 12 mois sa fonctionnalité d’IA Max AI
  • Une fonctionnalité IA peut détériorer le produit si elle résout un problème trop lent, peu fiable ou sans réel intérêt ; il faut s’appuyer sur des schémas éprouvés (recherche/résumé de données, générateurs, usage d’outils)
  • Lors de l’implémentation, le contexte de l’application et la gestion d’état sont essentiels ; il faut orienter l’IA dans la bonne direction avec une planification des requêtes et un routage conditionnel, puis prévoir l’échec avec du monitoring et des garde-fous
  • Pour optimiser la vitesse, il faut suivre en continu les benchmarks des modèles, combiner modèles rapides et lents selon la tâche, et recourir au traitement asynchrone
  • Pour évaluer et améliorer en continu, il faut ajouter des evals dès le début, mener des tests A/B, éviter la création de silos de connaissance autour de l’IA et diffuser l’expertise IA dans toute l’équipe

Choisir quoi construire

  • Il faut reconnaître que l’IA peut dégrader un produit et éviter de construire de mauvaises fonctionnalités qui résolvent des problèmes trop lents, peu fiables ou dont personne ne se soucie

1. Apprendre les schémas dans lesquels l’IA excelle

  • Copier des schémas IA éprouvés afin de combiner des UX familières pour l’utilisateur avec des fonctions que l’IA sait réellement bien exécuter
    • Premier schéma : « dialoguer avec des documents/données/PDF » — l’IA excelle dans la recherche et le résumé, ce qui permet de générer des rapports et des recommandations (ex. : Fin d’Intercom, chat documentaire de Mintlify)
    • Deuxième schéma : divers types de générateurs — titres, code, documentation, SQL, images, filtres, etc. (ex. : Lovable, Bolt.new, Figma, Rippling, Notion)
    • Troisième schéma : l’utilisation d’outils — l’IA s’appuie sur des outils bien définis pour automatiser et améliorer des workflows (ex. : serveurs MCP, Zapier, Atlassian, Asana)
  • Max AI de PostHog exploite plusieurs schémas
    • Dialoguer avec les données et la documentation
    • Générer des insights SQL et des filtres
    • Utiliser des outils comme la génération d’enquêtes et les insights d’analyse
    • À l’avenir, extension de l’usage d’outils pour regarder automatiquement des enregistrements de session et les analyser

2. Identifier les problèmes que l’IA peut résoudre

  • Examiner les tâches dans tout le produit en se concentrant sur la valeur que l’IA peut apporter
    • Tâche unique claire qui prend plus de 30 secondes — remplir de longs formulaires, saisie manuelle de données, configuration d’intégrations, installation de SDK, etc.
    • Cas où il faut utiliser un langage ou une interface que l’utilisateur ne comprend pas — UI complexe, requêtes SQL, création d’applications, etc.
    • Tâches répétées plus de 20 fois — rédaction de descriptions, résumés, création d’éléments, etc.
  • Conseil de Stephen Whitworth d’incident.io : se concentrer non pas sur « les nouvelles choses cool que l’IA peut faire », mais sur « ce qu’elle peut améliorer dans une tâche que l’utilisateur fait 100 fois par jour »
    • Exemple : les utilisateurs préfèrent largement un résumé d’incident généré automatiquement au fait de l’écrire eux-mêmes, et aujourd’hui 75 % des résumés d’incident sont générés par l’IA
  • Cas d’usage chez PostHog
    • Assistant d’installation IA : réduction du temps d’installation de PostHog d’environ 10 minutes à 90 secondes
    • Traduction SQL de Max AI : permet d’écrire facilement des requêtes SQL complexes en langage naturel, afin que même des utilisateurs peu familiers avec SQL puissent créer des insights personnalisés

3. Vérifier que le problème est spécifique et utile

  • Il faut restreindre le périmètre à un problème spécifique et utile
  • Pièges à éviter
    • Appliquer un schéma existant à un problème sans valeur : sur un produit simple en phase initiale, une fonctionnalité « dialoguer avec la documentation » est inutile et peut masquer des problèmes fondamentaux d’utilisabilité
    • Tenter de résoudre un problème trop vaste avec l’IA : l’IA ne vous fera pas gagner un milliard de dollars ; mieux vaut d’abord résoudre un problème étroit puis élargir
  • En construisant Max, l’équipe a rapidement compris que des questions trop larges comme « comment augmenter le chiffre d’affaires ? » n’étaient pas efficaces
    • À la place, elle s’est concentrée sur des fonctions spécifiques intégrées à PostHog et exploitant le contexte PostHog de l’utilisateur
    • Exemple : Max écrit de meilleures requêtes SQL parce qu’il sait quelles tables sont disponibles, et comme il comprend les outils intégrés, il peut répondre à des questions produit avec des visualisations natives

Implémenter l’idée

  • Pour vérifier que ce que l’on construit fonctionne réellement, il faut se concentrer sur les éléments clés

4. Le contexte et l’état de l’application sont centraux

  • Tout le monde peut appeler l’API d’OpenAI, mais le contexte de l’application est unique
  • Données que l’on peut inclure
    • Ce que l’utilisateur essaie de faire
    • Qui exécute l’action
    • L’état du compte
    • L’emplacement dans l’application
    • Le schéma de données de l’application
  • Informations reçues par l’API lorsque l’on demande à Max « pourquoi les inscriptions ont diminué la semaine dernière »
    • Page actuelle (dashboard, insights affichés, filtres appliqués, rôle utilisateur)
    • Schéma de données (événements disponibles, propriétés d’événement, propriétés de personne)
    • Compte (niveau d’organisation, fuseau horaire, durée de rétention)
  • Mise en forme du contexte UI via des exemples de code
    • Informations sur le dashboard (nom, insights affichés, filtres appliqués, plage de dates)
    • Informations sur les insights (nom, type de requête, événements analysés, ventilation)
  • Il est aussi essentiel de gérer le « contexte » (état) dans le workflow
    • Il faut éviter que le contexte ne se perde au fil de la conversation, surtout quand plusieurs sous-agents interviennent
    • Stocker et inclure le contexte dans toutes les parties du workflow
  • L’optimisation du contexte et le choix du modèle sont plus efficaces et plus utiles que le fine-tuning du modèle

5. Guider l’IA vers le succès avec une planification des requêtes et un routage conditionnel

  • Si on laisse l’IA sans contraintes, elle adoptera toutes sortes de comportements inattendus ; elle a donc besoin d’être guidée vers la réussite
  • Implémenter en orchestrant et reliant plusieurs étapes : planification de requête → récupération de données → visualisation
  • En plus de la gestion d’état, il faut
    • que l’IA connaisse les outils et les données à sa disposition
    • qu’elle puisse sélectionner les bons outils et les bonnes données selon la tâche visée
    • vérifier que des outils comme l’exécution de requêtes et le formatage fonctionnent réellement
  • Exemple de routeur de haut niveau chez PostHog
    • Déterminer s’il faut générer un insight
    • Déterminer s’il faut rechercher de la documentation
    • Déterminer si la demande concerne la facturation
  • Chaque nœud de routage possède ses propres conditions pour connecter la tâche aux bonnes données et aux bons outils
    • Cela augmente les chances de réussite en garantissant que l’IA dispose bien des composants nécessaires pour accomplir la tâche

6. Prévoir l’échec avec monitoring, garde-fous et gestion d’erreurs

  • La structure mise en place prévient les échecs, mais l’IA finira malgré tout par heurter les garde-fous ; il est donc indispensable d’en fournir

Monitoring

  • Implémenter le monitoring dès le départ pour savoir quand des problèmes apparaissent
  • Conseils de Georgiy, de l’équipe Max AI
    • Le monitoring des traces en production est indispensable
    • L’équipe a construit des outils de monitoring pour le dogfooding et aurait aimé les avoir dès le départ
    • Il devient plus difficile de surveiller les traces à grande échelle ; une évaluation en ligne serait donc utile (prochaine priorité)
    • Examiner 100 conversations est difficile, en examiner 1 000 par jour est impossible
    • Pourtant, ces conversations reflètent les vraies questions et difficultés des utilisateurs, et fournissent tous les insights nécessaires à la construction d’agents

Prévenir les hallucinations

  • Tout ce que l’IA peut halluciner, elle l’hallucinera ; il faut donc expliciter les données à définir directement et les règles à respecter
  • Exemples de règles pour l’assistant d’installation IA
    • Ne jamais halluciner une clé API. À la place, toujours utiliser la clé API renseignée dans le fichier .env
    • Interdiction d’ajouter des commentaires fictifs comme « // dans une vraie application... »
    • Interdiction de modifier la logique métier existante ou d’ajouter du code simulé
    • Interdiction d’importer de nouveaux packages ou bibliothèques qui ne sont pas déjà utilisés
    • Interdiction de supposer que des bibliothèques d’authentification (Clerk, Auth.js, etc.) sont disponibles

Garde-fous côté utilisateur

  • Face à une zone de texte vide, les gens ont peur et oublient tout
  • Solution : ajouter des suggestions sur la manière d’utiliser la fonctionnalité IA, orienter l’utilisateur dans la bonne direction et lui rappeler ce qu’il peut faire

Gestion des erreurs

  • Les workflows s’interrompent parfois ; il faut donc les gérer proprement avec des retries et une limitation de débit
  • Pour les utilisateurs avancés, on peut mettre en place analyse LLM, suivi d’erreurs et feature flags
    • PostHog propose les trois (heureux hasard pratique)

Améliorer la fonctionnalité

  • Les modèles d’IA évoluent vite et de façon imprévisible, donc les fonctionnalités IA nécessitent plus de maintenance et d’amélioration continue qu’on ne l’imagine

7. Éviter les silos de connaissance autour de l’IA

  • La construction de fonctionnalités IA ne doit pas devenir la responsabilité d’une seule « personne IA » dans l’équipe
  • L’IA doit être profondément intégrée au produit, ce qui suppose l’expertise de ceux qui parlent aux utilisateurs et construisent pour eux
  • Approches recommandées
    • Construire des primitives et rendre les fonctionnalités IA composables : ainsi, les équipes n’ont pas à réinventer prompts, streaming, consentement, evals et analytics, et peuvent se concentrer sur des fonctions IA uniques à forte valeur ajoutée
    • Maintenir des schémas UX cohérents dans toute l’application : chez PostHog, c’est le rôle de Max, afin d’éviter la confusion causée par des milliers de widgets IA
    • Intégrer temporairement des spécialistes IA dans les équipes : pour aider à construire plus vite des fonctionnalités IA et diffuser la connaissance IA dans toute l’organisation (ce qu’a fait l’équipe Max AI)

8. Se concentrer sur la vitesse

  • L’un des grands défis des fonctionnalités IA, surtout des plus complexes, est la lenteur
  • Un workflow implique souvent plusieurs appels à des fournisseurs de LLM, ce qui peut entraîner beaucoup de latence
  • Cela peut être particulièrement frustrant lorsqu’il existe une autre manière d’accomplir la tâche dans l’application ou sur le site web
  • Conseil de Rahul Vohra, fondateur de Superhuman : « la vitesse gagne »
    • Exemples : Instant Reply ou Auto Summarize
    • Gmail et Outlook proposent aussi des fonctions similaires, mais doivent générer la réponse ou le résumé à la demande, et l’utilisateur doit attendre que ce soit terminé
    • Chez Superhuman, ces résultats sont pré-calculés et donc toujours instantanés ; cette différence simple a un impact énorme sur l’expérience utilisateur

Comment s’améliorer

  • Suivre les benchmarks des modèles et les nouvelles sorties : lorsqu’un meilleur modèle plus rapide arrive, on peut le tester et l’utiliser pour obtenir les gains les plus importants à la fois en fonctionnalité et en vitesse (en utilisant l’analyse LLM)
  • Mixer modèles rapides et modèles lents selon la tâche
    • Utiliser des modèles rapides (gpt-4.1-mini, gpt-4.1-nano) pour la génération de titres, les filtres de replay de session, les résumés d’enquête et la recherche d’insights
    • Utiliser des modèles lents (gpt-4.1) pour la génération de schémas, le traitement des conversations et la gestion du contexte
  • Utiliser le traitement asynchrone : des tâches IA complexes comme les résumés de session et l’extraction de patterns s’exécutent de manière asynchrone via des workflows Temporal, sans bloquer l’interaction utilisateur. Elles sont ensuite mises en cache dans Redis pour permettre les retries sans recalcul

9. Monitorer et évaluer l’efficacité en continu

  • Une nouvelle fonctionnalité ne doit pas être jugée moins rigoureusement sous prétexte qu’elle est ✨ IA ✨
  • Une mauvaise idée peut détériorer le produit, et les changements de modèle peuvent affecter négativement l’expérience sans que les utilisateurs s’en rendent compte

Comment évaluer l’efficacité

  • Ajouter des evals tôt : même de petits jeux de données golden ou synthétiques apportent d’énormes gains de performance par rapport à un cycle de développement classique. À grande échelle aussi, l’implémentation s’est révélée plus simple que prévu et accélère ensuite la création de nouvelles fonctionnalités
  • Tests A/B : comparer la fonctionnalité IA à l’expérience classique, tester différents prompts, contextes, workflows, etc.
  • Vérifier le taux d’usage de l’IA selon les types de clients (ex. : utilisateurs gratuits vs enterprise, produit vs commercial)
    • Le constat que les product managers et les marketeurs utilisent Max plus souvent que les ingénieurs produit, pourtant profil client idéal, a conduit à repenser la roadmap
  • Permettre aux utilisateurs d’évaluer les réponses IA comme bonnes/mauvaises : si un utilisateur juge une réponse mauvaise, demander plus de détails pour ajuster le contexte, les prompts et le workflow
  • Comparer l’usage IA et non-IA : utiliser les métriques existantes d’activation et de rétention pour comprendre où l’IA s’insère idéalement dans le produit et le cycle de vie utilisateur, et si elle a un impact positif

Conclusion

  • Ces 9 leçons ne sont pas indépendantes : elles fonctionnent ensemble
  • Penser que l’on peut sauter directement à la fin et qu’optimiser les evals suffit à construire un excellent produit est une erreur
  • L’objectif est de construire quelque chose qui a de la valeur pour les utilisateurs, pas une démonstration technique spectaculaire
  • Ce n’est pas parce qu’il s’agit d’IA que les utilisateurs y trouveront forcément de la valeur
  • Toutes les leçons apprises sur la construction de grands produits restent valables
    • Parler aux utilisateurs
    • Lancer rapidement
    • Mener des expérimentations
    • Itérer

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.