1 points par GN⁺ 2025-04-17 | 1 commentaires | Partager sur WhatsApp
  • 12 Factor Agents présente des principes pour construire des applications LLM fiables
  • En s’appuyant sur l’expérience acquise avec des frameworks d’agents IA, on constate que la plupart des produits ne sont pas de véritables agents
  • 12 Factor Agents explore comment rendre un logiciel basé sur les LLM suffisamment bon pour être livré à des clients
  • Les 12 facteurs couvrent des techniques clés pour améliorer la fiabilité, la scalabilité et la maintenabilité des logiciels LLM
  • Intégrer des concepts modulaires dans des produits existants est un moyen de livrer rapidement des logiciels IA de haute qualité

12 Factor Agents - Principes de construction d’applications LLM fiables

  • En s’appuyant sur l’expérience acquise avec des frameworks d’agents IA, on constate que la plupart des produits ne sont pas de véritables agents
  • 12 Factor Agents explore comment rendre un logiciel basé sur les LLM suffisamment bon pour être livré à des clients
  • Les 12 facteurs couvrent des techniques clés pour améliorer la fiabilité, la scalabilité et la maintenabilité des logiciels LLM
  • Intégrer des concepts modulaires dans des produits existants est un moyen de livrer rapidement des logiciels IA de haute qualité

Résumé : les 12 facteurs

  • Transformer le langage naturel en appels d’outils : comprendre comment invoquer des outils à l’aide du langage naturel
  • Maîtriser le prompt : il est important de posséder et de gérer le prompt
  • Maîtriser la fenêtre de contexte : il est important de posséder et de gérer la fenêtre de contexte
  • Les outils comme sorties structurées : les outils doivent être considérés comme des sorties structurées
  • Intégrer l’état d’exécution et l’état métier : gérer ensemble l’état d’exécution et l’état métier

La promesse des agents

  • DAG (Directed Acyclic Graph) : les logiciels peuvent être représentés sous forme de graphe orienté, et les orchestrateurs DAG ont gagné en popularité
  • La promesse des agents : avec des agents, il devient possible d’abandonner les DAG et de laisser le LLM décider du chemin en temps réel
  • Les agents fonctionnent en boucle : l’agent opère dans une boucle où le LLM décide de l’étape suivante, exécute les appels d’outils et ajoute les résultats à la fenêtre de contexte

Pourquoi les 12-factor agents ?

  • Limites des frameworks existants : de nombreux builders SaaS essaient de construire des agents, mais les limites des frameworks existants rendent difficile d’atteindre plus de 80 % de qualité
  • Importance des concepts modulaires : intégrer des concepts modulaires dans des produits existants est un moyen de livrer rapidement des logiciels IA de haute qualité

Design patterns pour d’excellentes applications LLM

  • Éléments clés d’un agent : il existe des éléments essentiels qui rendent un agent excellent, et l’usage d’un framework permet d’en obtenir la plupart
  • Intégration de concepts modulaires : intégrer des concepts modulaires dans des produits existants est un moyen de livrer rapidement des logiciels IA de haute qualité

Ressources associées

  • Podcast Tool Use : traite du sujet dans un épisode de mars 2025
  • The Outer Loop : blog qui aborde ces sujets
  • Webinaire : webinaire avec @hellovai sur la maximisation des performances des LLM
  • Agent open source : un agent OSS a été construit à l’aide de cette méthodologie

1 commentaires

 
GN⁺ 2025-04-17
Avis Hacker News
  • Wiki très instructif. Merci, je vais certainement m’en servir. J’ai moi-même créé un "framework d’agents IA" lancé hier. Ce framework est basé sur le modèle d’acteurs, les machines à états et la programmation orientée perspectives. J’aime particulièrement les points 5 et 7

    • unifier l’état d’exécution et l’état métier
    • posséder son propre flux de contrôle
    • SecAI fait bien cela, en tant que bibliothèque de flux de contrôle par graphe avec des appels LLM intégrés dans les nœuds du graphe. Le flux est enrichi par la négociation, l’annulation et les relations d’état, ce qui le rend plus organique
    • ce que d’autres frameworks oublient souvent, ce sont des outils de développement dédiés. On peut programmer l’échec, inspecter chaque étape en détail, et cela fournit une exportation automatique des données ainsi que des intégrations simples
    • nous avons publié une première démo technique, avec une implémentation de référence montrant tous les outils de développement
    • le bouton Send/Stop permet de démarrer/mettre en pause/reprendre via une API simple. C’est extensible grâce à une transparence réseau
  • Excellent. Après avoir travaillé là-dessus pendant des années, j’ai dressé ma propre liste de leçons. Le plus important est de maîtriser la boucle de planification au niveau le plus bas

    • la planification dynamique est acceptable, mais il faut posséder la boucle OODA et avoir des heuristiques pour décider si l’on converge vers une solution
    • il faut intégrer un moteur de workflow et laisser le modèle construire des spécifications de workflow qui s’exécutent dans ce moteur
  • Je suis vraiment heureux que cette ressource sorte maintenant. Merci

    • j’imagine un sandbox audiovisuel comme vvvv, avec l’idée d’insérer des nœuds LM ou de petits réseaux neuronaux locaux pour exécuter certaines tâches, tout en limitant fortement la sortie
    • le flux allant de la question à la réponse est très séduisant. Les pipelines multi-étapes sont aussi très intéressants
  • Je me demande comment des bibliothèques comme DSPY s’intègrent dans le factor-2

    • j’ai vu un exemple utilisant BAML pour générer des prompts. Écrire à la main des prompts pour extraire des informations structurées à partir de données non structurées n’est pas simple
    • je me demande ce que vous pensez de l’utilisation des prompts bruts de DSPY
  • C’est un ancien billet de blog, mais son propos sur les patterns de framework a résonné avec toute ma carrière. Les LLM sont mieux utilisés comme bibliothèques que comme frameworks

    • les frameworks sont plus séduisants et plus faciles à vendre, et mènent à l’effet de verrouillage ainsi qu’à des services additionnels
  • Excellent. J’en ai appris 80 % à la dure, et les 20 % restants vaudront la lecture

    • j’ai obtenu de bons résultats avec LangGraph et les schémas pydantic. Je suis curieux de savoir ce que d’autres trouvent utile
  • Encore une chose : il faut planifier les coûts à l’échelle

    • cela peut coûter très cher à grande échelle, donc il faut d’abord essayer tout ce qui peut être géré avec des composants déterministes. Cela peut réduire les hallucinations et la latence, et faire une grande différence sur les coûts
  • Pour qu’il soit plus facile de suivre les principes, il faut un récit cohérent. Utiliser des exemples concrets du monde réel serait bien

  • Très heureux que ce soit monté en première page de HN

  • C’est vraiment cool de voir BAML ici. Je suis d’accord à 100 % avec le fait de traiter les LLM comme des fonctions