Introduction
Les laboratoires d'IA comme Anthropic, OpenAI et d'autres sont en train de développer des agents capables d'effectuer des tâches. Cependant, la plupart des équipes d'ingénieurs vont échouer dans la mise en œuvre de ces agents.
Contexte Technique
Les agents sont souvent construits en utilisant des appels de modèles de langage avec du code de raccordement. Cependant, cela peut conduire à des échecs silencieux, tels que des erreurs de formatage JSON ou des boucles de réessai qui peuvent coûter cher en appels d'API.
Les systèmes d'agents doivent être traités comme des systèmes distribués avec des composants non déterministes. Cela nécessite de définir des contrats entre les services, de gérer les échecs partiels de manière élégante et de rendre les opérations idempotentes pour éviter la corruption de l'état.
Analyse et Implications
Les équipes qui réussissent dans la construction d'agents sont celles qui mettent en place des disciplines d'ingénierie solides, telles que la définition de schémas de sortie et d'entrée validés, la mise en place de limites de réessai et de circuit-breakers, et l'intégration de points de contrôle humains dans la conception.
Les outils de validation de schémas tels que Pydantic, Zod ou JSON Schema sont essentiels pour garantir que les sorties des agents sont conformes aux attentes. De plus, la mise en place d'une observabilité complète des raisonnements intermédiaires est nécessaire pour déboguer les échecs subtils qui peuvent survenir.
Perspective
Le goulet d'étranglement dans la construction d'agents n'est pas la capacité des modèles, mais la discipline d'ingénierie qui les entoure. Les équipes doivent traiter l'orchestration des agents avec la même rigueur qu'elles appliqueraient à tout système distribué.
Les échecs silencieux sont le risque principal des systèmes d'agents. Les schémas typés, l'observabilité à chaque étape intermédiaire et les points de contrôle humains sont les principales défenses contre ces échecs. Il est essentiel de construire les systèmes d'agents en tenant compte de la production dès le départ, en incluant des interrupteurs d'arrêt, des limites de réessai et des plafonds de coûts.