Lancement de produits IA : Leçons pratiques d'une startup échouée
Dans le paysage en évolution rapide de l’intelligence artificielle, où le battage médiatique dépasse souvent l’application pratique, Phil Calçado offre une analyse post-mortem sobre et perspicace de sa startup d’IA échouée, Outropy. S’exprimant lors d’une récente conférence InfoQ, Calçado, un ingénieur logiciel chevronné connu pour avoir été le pionnier des microservices chez SoundCloud, a partagé des leçons franches sur les réalités du déploiement de produits d’IA générative au-delà du simple buzz. Son message central : les clés du succès du développement de l’IA ne résident pas dans la poursuite de visions futuristes, mais dans l’application rigoureuse des principes établis de l’ingénierie logicielle.
Calçado a commencé par reconnaître son propre biais : trois décennies d’expérience dans la construction de logiciels, en particulier de systèmes distribués et de microservices, avec une forte inclination vers le développement agile itératif et orienté vers l’action. Cette perspective, admet-il, façonne ses vues sur l’IA, qui, selon lui, ne devrait pas être exempte de ces pratiques fondamentales.
Outropy, l’entreprise de Calçado, visait à automatiser des aspects des flux de travail de gestion et d’ingénierie à l’aide de l’IA générative, en commençant par un chatbot Slack et en évoluant vers une extension Chrome. Bien qu’étant un acteur précoce dans l’espace de l’IA générative, ayant attiré des milliers d’utilisateurs et même surpassé en qualité des produits de géants technologiques comme Salesforce (selon ses propres critères), la startup a finalement échoué. La révélation surprenante des retours d’utilisateurs fut que beaucoup étaient moins intéressés par l’outil lui-même que par la rétro-ingénierie de la façon dont Outropy, construite par “deux gars et un chien”, avait réussi à créer un système avec un “comportement agentique” si efficace – des capacités autonomes de prise de décision – tandis que les grandes entreprises peinaient. Ce paradoxe a poussé Calçado à analyser en profondeur pourquoi la plupart des produits d’IA, en particulier dans le secteur de la productivité, sont déficients.
Calçado identifie trois approches prédominantes pour construire l’IA aujourd’hui, chacune avec ses propres pièges. La première est le “développement piloté par Twitter”, caractérisé par une obsession des modèles à venir, pas encore publiés, et un mépris des limitations technologiques actuelles, conduisant souvent à des démos flashy qui obtiennent des financements mais ne parviennent pas à apporter une valeur réelle. La seconde traite le développement de l’IA comme un pur “projet de science des données”, généralement observé dans les grandes entreprises. Cette méthode, souvent lente et axée sur la recherche, peut prendre des années pour produire des améliorations marginales, un luxe indisponible lorsque l’IA est sur le chemin critique d’un produit. La troisième, et l’approche préférée de Calçado, est de traiter le développement de l’IA comme un “projet d’ingénierie” traditionnel, en adoptant le développement itératif dès le départ.
Il a ensuite approfondi les blocs de construction fondamentaux des systèmes d’IA générative : les flux de travail et les agents. Les flux de travail, qu’il préfère appeler “pipelines d’inférence”, représentent des séquences d’étapes prédéfinies pour atteindre un objectif d’IA, tel que la synthèse d’un e-mail. Les agents, d’autre part, sont des composants logiciels semi-autonomes où les grands modèles linguistiques (LLM) dirigent dynamiquement leurs propres processus, utilisent des outils et collaborent, exécutant des tâches pour atteindre un objectif donné.
Pour les flux de travail, Calçado met en garde contre le piège courant de ne se fier qu’aux fournisseurs de Génération Augmentée par Récupération (RAG), qui promettent de fournir du contexte directement aux LLM. Il a constaté que les LLM ne sont souvent pas assez intelligents pour cette approche simpliste, nécessitant des étapes supplémentaires pour ajouter de la structure et du sens sémantique. Le succès d’Outropy dans les briefings quotidiens, par exemple, est venu de la décomposition de tâches complexes en transformations plus petites et structurées, très similaires aux pipelines de données. Cela permet l’application d’outils et de méthodologies de pipelines de données existants, ancrant le développement de l’IA dans un territoire d’ingénierie familier.
En ce qui concerne les agents, Calçado fait une affirmation provocatrice : “Les agents ressemblent beaucoup aux objets en programmation orientée objet.” Tout en reconnaissant que les microservices traditionnels ne conviennent pas aux agents en raison de leur état, de leur comportement non déterministe et de leur nature intensive en données, il soutient que le paradigme orienté objet – avec des concepts tels que la mémoire (état), l’orientation vers un but (encapsulation), le dynamisme (polymorphisme) et la collaboration (passage de messages) – fournit un modèle mental utile pour les ingénieurs.
Sur le plan architectural, Calçado déconseille la collaboration d’agents point à point, ce qui peut entraîner un couplage étroit et une réinvention de piles de services web complexes d’il y a deux décennies. Au lieu de cela, il préconise des “événements sémantiques” sur un bus de messages, comme Redis ou Kafka, où les agents enregistrent leur intérêt pour des événements spécifiques et bien définis, favorisant un couplage lâche et une évolutivité. Il met également en garde contre l’adoption de normes émergentes comme le Model Context Protocol (MCP) d’Anthropic pour les produits internes, les considérant comme rappelant les premiers protocoles sur-conçus comme SOAP. Pour les systèmes internes, il suggère de s’en tenir aux méthodes éprouvées empiriquement comme les architectures RESTful ou gRPC.
Concernant la “mémoire agentique”, le défi pour un agent de retenir des connaissances sur un utilisateur, Calçado rejette l’approche courante consistant à stocker toutes les informations dans un long document texte au sein d’une base de données vectorielle. Il soutient qu’une mémoire défectueuse est pire que pas de mémoire. Sa solution recommandée est l’“event sourcing” (approvisionnement par événements), où un flux d’événements sémantiques concernant un utilisateur est compacté en une représentation structurée, souvent stockée dans une base de données graphe comme Neo4j, permettant une compréhension plus robuste et évolutive.
Enfin, Calçado remet en question l’approche prédominante du “pipeline monolithique” dans les projets de science des données, où un processus entier, de l’ingestion des données à la sortie, est construit comme une seule unité fortement couplée. Il préconise de décomposer ces flux de travail en composants plus petits et indépendants avec des interfaces bien définies, permettant flexibilité et réutilisabilité – un concept familier du design piloté par le domaine et des microservices.
Il conclut en observant que, malgré l’attrait des “objets distribués”, les principes fondamentaux du manifeste des “Twelve-Factor App”, qui sous-tendent l’infrastructure cloud moderne, sont souvent brisés par les systèmes d’IA agentiques en raison de leur état inhérent et de leur nature non déterministe. Cela nécessite un passage à des “flux de travail durables” (comme ceux offerts par Temporal), qui gèrent la résilience, les tentatives de réexécution et les points de contrôle, empêchant les ingénieurs de réinventer constamment ces composants d’infrastructure critiques.
Le principal enseignement de Calçado est puissant : la complexité observée dans les architectures de produits IA actuelles, telles que celle d’Outropy, est souvent “sur-compliquée” pour le nombre d’utilisateurs servis, soulignant un besoin significatif de meilleures plateformes. Pourtant, il affirme que la construction de produits IA réussis se résume fondamentalement à l’application de la sagesse de l’ingénierie logicielle éprouvée. Les ingénieurs devraient tirer parti de leurs connaissances existantes et résister à l’envie de croire que l’IA, malgré son battage médiatique, est fondamentalement différente des défis qu’ils ont relevés auparavant.