Les schémas d'agents IA que j'ai appris en construisant AIdaemon
Lorsque les gens parlent des modèles d'agents IA, ils les décrivent généralement de manière abstraite. Voici comment sept modèles bien connus fonctionnent réellement à l'intérieur de AIdaemon, un démon d'agent IA auto-hébergé que je construis en Rust.
La boucle ReAct (Raisonner + Agir)
ReAct est le fondement de la plupart des agents modernes. Au lieu de réfléchir à un plan complet et de l'exécuter d'un seul coup, l'agent alterne entre raisonner sur ce qu'il doit faire ensuite et l'exécuter réellement.
Dans AIdaemon, cela se manifeste par un cycle d'exécution basé sur des phases. Chaque tour passe par la construction du message, un appel LLM, l'exécution d'un outil et une vérification d'arrêt. L'agent raisonne sur son prochain mouvement, prend une action, observe le résultat, puis raisonne à nouveau. Cette boucle continue jusqu'à ce que l'agent décide qu'il a terminé ou qu'il atteigne une limite d'itération.
La beauté de ReAct réside dans son adaptabilité. Si une commande échoue ou renvoie un résultat inattendu, l'agent ne continue pas aveuglément avec l'approche initiale. Il réévalue et s'ajuste.
Planification
La planification signifie décomposer une tâche complexe en étapes avant de se lancer. Au lieu de saisir immédiatement le premier outil et de commencer le travail, un agent de planification analyse la requête, identifie les dépendances et séquence les opérations dans un ordre logique.
Dans AIdaemon, avant que l'agent n'utilise un quelconque outil, il peut générer un plan structuré avec des étapes concrètes. Cela évite le mode d'échec courant où un agent commence l'exécution, réalise à mi-chemin qu'il avait besoin d'informations de l'étape 5 pour compléter l'étape 2, et finit par tourner en rond.
La planification aide également à la transparence. Lorsque vous pouvez voir le plan de l'agent avant son exécution, vous détectez les mauvaises hypothèses tôt au lieu de les découvrir après que l'agent ait déjà effectué des changements.
Réflexion
La réflexion est la capacité de l'agent à évaluer son propre travail. Après avoir terminé une action, un agent réflexif passe en mode critique. Il vérifie les erreurs, s'assure que les contraintes sont respectées et identifie les lacunes.
Dans AIdaemon, la boucle de rétroaction de réflexion s'active lorsque quelque chose ne va pas. Si un appel d'outil échoue ou produit des résultats inattendus, l'agent analyse ce qui s'est passé, pourquoi cela a échoué, et suggère une correction avant de réessayer. Combiné au suivi de l'état des preuves, l'agent maintient des observations concrètes sur ce qu'il a vu et fait. Ses réflexions sont fondées sur des résultats réels plutôt que sur des suppositions.
Mémoire
La mémoire est la façon dont un agent conserve les informations au fil des conversations. Sans elle, chaque interaction repart de zéro.
AIdaemon utilise des intégrations vectorielles basées sur SQLite pour le rappel sémantique. Les faits sont extraits automatiquement des conversations et stockés avec des intégrations afin qu'ils puissent être récupérés par signification, et pas seulement par mots-clés. Si vous avez mentionné un détail de projet il y a trois semaines, l'agent peut s'en souvenir lorsqu'il redevient pertinent.
Le système de mémoire crée également des résumés d'épisodes pour les sessions de longue durée et consolide les faits quotidiennement, en dédupliquant et en dégradant les informations anciennes qui ne sont plus utiles. C'est la différence entre un agent souffrant d'amnésie et un agent qui apprend réellement votre contexte au fil du temps.
Garde-fous
Les garde-fous définissent les limites strictes de ce qu'un agent peut et ne peut pas faire. Ils constituent le filet de sécurité qui intercepte les cas limites qu'une bonne invite seule ne peut pas empêcher.
AIdaemon met en œuvre des garde-fous à plusieurs niveaux. Les listes blanches de commandes restreignent les commandes de terminal que l'agent peut exécuter. Le filtrage des outils basé sur le niveau de risque signifie que les opérations destructrices nécessitent une vérification supplémentaire. La désinfection de la sortie supprime les données sensibles comme les clés API et les jetons des réponses avant qu'elles n'atteignent l'utilisateur. Et les limites d'itération empêchent les boucles incontrôlables où l'agent consomme des jetons sans progresser.
L'industrie a convergé vers cette approche par couches. La plupart des frameworks d'agents de production considèrent les garde-fous comme une défense en profondeur plutôt que comme un simple point de contrôle.
Humain dans la boucle
L'humain dans la boucle est le modèle consistant à faire une pause pour obtenir une confirmation humaine avant d'entreprendre des actions à haut risque. C'est la reconnaissance que certaines décisions ne devraient pas être entièrement automatisées.
AIdaemon utilise un flux d'approbation avec trois options pour les actions risquées. Autoriser une fois (procéder cette fois-ci), Autoriser toujours (faire confiance à cette action à l'avenir) et Refuser (arrêter et essayer autre chose). L'agent classe automatiquement les actions par niveau de risque. Lecture d'un fichier ? Aucune validation nécessaire. Suppression de fichiers ou exécution de commandes shell inconnues ? L'agent s'arrête et demande.
La clé est une validation basée sur le risque plutôt que de valider absolument tout. Trop d'interruptions et l'agent devient inutilisable. Trop peu et vous lui faites confiance pour des actions qui pourraient causer de réels dommages.
Apprentissage des compétences
L'apprentissage des compétences se produit lorsque l'agent transforme les modèles réussis en instructions réutilisables. La plupart des agents traitent chaque tâche comme unique. L'apprentissage des compétences permet à l'agent de reconnaître lorsqu'il a résolu un type de problème plusieurs fois et d'empaqueter cette solution pour une utilisation future.
Dans AIdaemon, si une procédure a été utilisée 5 fois ou plus avec un taux de réussite d'au moins 80 %, le système génère un brouillon de compétence. Ce brouillon nécessite toujours une révision humaine avant de devenir actif, ce qui empêche l'agent d'apprendre les mauvaises leçons. Une fois approuvée, la prochaine fois qu'une tâche similaire se présente, l'agent peut se référer à cette compétence au lieu de la découvrir à partir de zéro. Les compétences peuvent également être chargées à partir de fichiers, d'URL ou de registres distants, afin que vous puissiez les partager entre différentes configurations.
C'est l'un de ces modèles qui se cumulent avec le temps. Plus l'agent fonctionne longtemps, plus il accumule de compétences, et plus il gère rapidement les tâches récurrentes.