Qu’est-ce qu’un agent ?
- Il existe diverses définitions des agents, mais elles peuvent être réparties en deux catégories :
- Workflows : les LLM et les outils sont orchestrés via des parcours de code prédéfinis
- Agents : le LLM contrôle dynamiquement l’exécution des tâches et l’usage des outils
- Chez Anthropic, ces deux approches sont toutes deux classées comme des systèmes agentiques (Agentic Systems), avec une différence importante en matière de flexibilité et d’autonomie
Quand faut-il utiliser des agents ?
- S’il est possible d’utiliser une solution simple, il est important de minimiser la complexité
- Workflows : utiles pour traiter des tâches prévisibles, avec cohérence et stabilité
- Agents : adaptés lorsqu’il faut de la flexibilité à grande échelle et une prise de décision centrée sur le modèle
- Dans la plupart des cas, il suffit simplement d’optimiser les appels au LLM ou d’utiliser des exemples de contexte
Guide d’utilisation des frameworks
- Frameworks représentatifs :
- Avantages des frameworks :
- simplifient les appels au LLM, la définition des outils et les chaînes d’appel
- Inconvénients :
- ils peuvent ajouter de la complexité ou rendre le débogage plus difficile
- Recommandation : commencer directement avec l’API du LLM et, même en utilisant un framework, comprendre le code sous-jacent
Composants d’un système agentique
LLM augmenté (Augmented LLM)
- Caractéristiques : ajoute des fonctions de recherche, d’usage d’outils et de mémoire
- Méthodes d’implémentation :
- intégration possible avec des outils tiers via le Model Context Protocol
- fournit une interface simple et documentée
Principaux patterns de workflow
- Chaînage de prompts (Prompt Chaining)
- divise la tâche en sous-étapes fixes traitées séquentiellement
- Cas d’usage :
- générer un texte marketing puis le traduire
- rédiger un brouillon de document puis le relire
- Routage (Routing)
- classe les données d’entrée pour les envoyer vers la tâche appropriée
- Cas d’usage :
- classer les demandes au support client (question générale, demande de remboursement, assistance technique)
- router les questions simples vers un petit modèle et les questions complexes vers un modèle plus puissant
- Parallélisation (Parallelization)
- sépare les tâches ou exécute la même tâche plusieurs fois
- Cas d’usage :
- utiliser plusieurs prompts lors de l’examen des vulnérabilités de code
- séparer les entrées utilisateur pour les filtrer et y répondre
- Orchestrateur-Workers (Orchestrator-Workers)
- un LLM central décompose la tâche, l’attribue à des LLM workers, puis agrège les résultats
- Cas d’usage :
- modifier des fichiers dans des tâches de code complexes
- effectuer des recherches d’informations multiples
- Évaluateur-Optimiseur (Evaluator-Optimizer)
- évalue les réponses du LLM, fournit du feedback et améliore itérativement le résultat
- Cas d’usage :
- améliorer la qualité de traduction en traduction littéraire
- tâches de recherche et d’analyse multiples
Agents
- Les agents planifient le travail et l’exécutent de manière autonome, avec interaction humaine si nécessaire
- Caractéristiques :
- ils obtiennent la « vérité » depuis l’environnement via l’usage d’outils pour évaluer leur progression
- il est possible de définir des points de contrôle et des conditions d’arrêt pendant la tâche
- Cas d’usage :
- agents de code complexes
- implémentations où Claude exécute des tâches sur un ordinateur
Combiner les patterns et personnaliser
- Les patterns ci-dessus peuvent être ajustés et combinés selon la situation
- La complexité ne doit être ajoutée que lorsqu’une amélioration des résultats est démontrée
Résumé
- Dans le domaine des LLM, la réussite ne dépend pas de la construction du système le plus complexe, mais de la création du système adapté au besoin
- Il faut commencer par des prompts simples, optimiser via l’évaluation, et n’envisager l’ajout d’un système agentique multi-étapes que lorsque la solution simple ne suffit pas
- Principes clés pour implémenter des agents
- Préserver la simplicité : garder une conception d’agent simple
- Privilégier la transparence : rendre clairement visibles les étapes de planification de l’agent
- Améliorer la qualité de l’ACI (Agent-Computer Interface) : documenter soigneusement les outils et les tester rigoureusement
- Usage des frameworks et stratégie d’implémentation
- les frameworks sont utiles pour une implémentation initiale, mais il faut aussi envisager de réduire les couches d’abstraction et de construire le système à partir de composants de base
- en suivant ces principes, il est possible de créer des agents puissants, fiables et faciles à maintenir
Cas clients : l’usage des agents en pratique
- A. Support client
- fournir des solutions efficaces grâce à un flux conversationnel naturel et à l’intégration de données externes
- Avantages :
- mesurables via le taux de résolution réussie
- possibilité d’appliquer un modèle tarifaire basé sur l’usage
- B. Agents de code
- les solutions de code peuvent être validées via des tests automatisés
- Avantages :
- utilisation des résultats de test comme feedback
- espace de problèmes clair et structuré
- C. Conception et optimisation des outils
- concevoir en tenant compte de la manière dont le LLM utilise les outils
- Méthodes recommandées :
- utiliser des noms de paramètres intuitifs et concis
- tester et améliorer de manière itérative
- inclure des exemples et des cas limites dans la définition des outils
2 commentaires
On dirait qu’on a appliqué au low-code quelque chose qui le rend moins familier, mais sans schéma de données ni gestion de versions, il sera impossible d’assurer le suivi des modifications.
Avec peu d’expérience, cela m’a donné l’impression, en apparence, de combiner des fonctions comme en programmation fonctionnelle, mais dans une sorte de programmation chaotique où l’on ne sait pas ce que seront les E/S des fonctions (paramètres, type de retour)..
Et pendant tout ce temps, la pensée qui me revenait sans cesse était : est-ce qu’il faut vraiment faire ça..? Faut-il aller jusque-là en matière de support..?
Pour l’instant, je ne ressens pas encore clairement dans quels domaines un système agentique est vraiment indispensable.