En informatique, un agent autonome est un programme logiciel qui agit pour le compte d'un utilisateur ou d'un autre programme dans une relation de mandat, tirant son nom du latin agere (agir). Contrairement aux programmes conventionnels qui sont invoqués à la demande, les agents autonomes s'activent eux-mêmes, perçoivent leur contexte et décident du moment d'effectuer des actions pour accomplir des tâches. Ils sont définis par leur comportement plutôt que par leurs méthodes et attributs, et ils peuvent opérer seuls ou interagir avec d'autres agents et personnes. Des exemples courants incluent les chatbots, les bots d'achat et les systèmes incarnés comme les robots, qui peuvent présenter des qualités humaines telles que la compréhension du langage naturel.
Le concept d'agent offre un moyen de décrire une entité logicielle complexe capable d'agir avec un certain degré d'autonomie. Bien que tous les agents soient des programmes, tous les programmes ne sont pas des agents. Les distinctions clés incluent la persistance (fonctionnement continu et décision du moment d'agir), l'autonomie (sélection des tâches et comportement orienté vers un but sans intervention humaine), la capacité sociale (communication et coordination avec d'autres composants) et la réactivité (perception et réponse à l'environnement). Ces attributs différencient les agents des programmes arbitraires, des objets et des systèmes experts, qui manquent d'un tel comportement flexible et proactif.
Développement historique
Les racines intellectuelles des agents autonomes remontent au modèle d'acteur de Hewitt (1977), qui décrivait des objets auto-contenus, interactifs et s'exécutant en parallèle, avec un état interne et des capacités de communication. Les systèmes d'agents logiciels ont évolué directement à partir des systèmes multi-agents (SMA), eux-mêmes issus de l'intelligence artificielle distribuée (IAD), de la résolution distribuée de problèmes (RDP) et de l'IA parallèle. La vidéo « Knowledge Navigator » de John Sculley en 1987 a popularisé la vision d'utilisateurs finaux interagissant avec des agents, bien que les premières implémentations aient souvent échoué en raison d'approches descendantes. À partir des années 1990, la gamme de types d'agents s'est considérablement élargie, englobant des applications web et des moteurs de recherche.
Caractéristiques fondamentales
Les agents autonomes ne sont pas strictement invoqués pour une tâche mais s'activent eux-mêmes. Ils peuvent résider dans un état d'attente sur un hôte, percevoir le contexte et passer à un état d'exécution lorsque les conditions de démarrage sont remplies. Ils ne nécessitent pas d'interaction utilisateur et peuvent invoquer d'autres tâches, y compris la communication. Le concept de mandat implique l'autorité de décider quelles actions sont appropriées. Les agents peuvent être autonomes ou travailler en collaboration avec d'autres agents ou personnes, et ils peuvent être distribués sur des ordinateurs physiquement distincts ou être mobiles, déplaçant leur exécution sur différents processeurs.
Types et applications
Les agents acheteurs, également connus sous le nom de bots d'achat, parcourent des réseaux tels qu'Internet pour récupérer des informations sur les biens et services. Ils fonctionnent efficacement pour les produits de base comme les CD, les livres et les composants électroniques, et sont souvent optimisés pour les services de paiement numérique. D'autres types incluent les agents distribués qui s'exécutent sur des machines séparées et les systèmes multi-agents où les agents travaillent ensemble pour atteindre des objectifs qu'un seul agent ne pourrait pas accomplir seul. Dans les contextes modernes, les agents autonomes exploitent de plus en plus les grands modèles de langage et la IA générative pour effectuer un raisonnement complexe et une exécution de tâches, avec des entreprises comme OpenAI et Anthropic développant des cadres agentiques.
Impact sur les organisations et les utilisateurs
Les agents logiciels peuvent automatiser des tâches complexes ou répétitives, offrant des avantages significatifs aux utilisateurs finaux. La mise en œuvre d'agents pour les exigences administratives augmente souvent la satisfaction au travail, car elle libère les individus des formalités banales et permet un engagement accru dans des tâches substantielles. Cela peut soutenir un travail auto-contrôlé avec une interférence hiérarchique réduite. Cependant, les impacts organisationnels et culturels doivent être pris en compte. La perte de confiance, l'érosion des compétences, l'attrition de la vie privée et le détachement social sont des inconvénients potentiels. Les utilisateurs qui délèguent des tâches importantes peuvent perdre des compétences en littératie informationnelle, et les agents nécessitent des profils utilisateur complets, soulevant des préoccupations de confidentialité. Une dépendance excessive aux agents pour la communication peut conduire à un détachement social, où les utilisateurs voient le monde à travers les perspectives de leurs agents.
Distinctions avec les concepts connexes
Les agents intelligents, également appelés agents rationnels, ne se limitent pas aux programmes informatiques ; ils peuvent inclure des machines, des êtres humains ou des communautés d'humains capables d'un comportement orienté vers un but. Cette définition plus large contraste avec les agents logiciels intelligents, qui sont spécifiquement computationnels. Les systèmes experts diffèrent des agents en ce qu'ils ne sont pas couplés à leur environnement, ne sont pas conçus pour un comportement réactif ou proactif et ne prennent pas en compte la capacité sociale. Les objets sont moins autonomes que les agents, qui présentent un comportement flexible et maintiennent au moins un fil de contrôle, souvent plus. Ces distinctions aident à clarifier le rôle unique des agents autonomes dans la recherche en intelligence artificielle et en apprentissage automatique, où ils représentent un passage d'outils passifs à des acteurs numériques proactifs.