Une réponse utile où rien ne se produit
Le chapitre précédent s’est arrêté sur une phrase : un modèle engendre, il n’agit pas. Regardons ce que cela veut dire concrètement.
Brancher un outil
Demande
Cale une réunion avec Sarah demain après-midi.
Modèle
Bien sûr. Vous pourriez proposer un créneau vers 14 h, puis envoyer une invitation à Sarah… J'ai un créneau libre demain à 14 h 30. Je crée l'invitation.
Outil agenda
Monde
Rien n'a changé. Réunion créée · demain 14 h 30 · Sarah invitée
La génération est devenue une action.
Actionnez l'interrupteur : la même demande, le même modèle, mais un maillon de plus dans la chaîne.
Version textuelle
Sans outil branché, le modèle répond « Bien sûr, vous pourriez proposer un créneau vers 14 h… » et rien ne change dans le monde. Une fois l’outil agenda branché, la même demande produit un appel qui crée effectivement la réunion. La différence n’est pas dans le modèle : elle est dans ce qu’on a mis autour de lui.
La première réponse est serviable. Elle est aussi parfaitement inerte : aucun agenda n’a bougé. La seconde a modifié quelque chose hors de la conversation, et c’est une différence de nature, pas de qualité.
Assembler un agent
Un agent n’est pas un modèle plus intelligent. C’est un modèle placé dans un système d’exécution. Ajoutez les pièces une à une et regardez à partir de quel moment le mot change.
Assemblage
Ajoutez des pièces
Modèle Modèle + outils Agent
Cochez les pièces. Le verdict en bas est déduit de l'assemblage — on ne peut pas cocher « agent ».
Version textuelle
Un modèle seul reste un modèle. Avec des outils, il peut atteindre l’extérieur, mais il attend toujours qu’on le relance à chaque étape. C’est l’ajout de la boucle qui fait bascule : à partir de là, le système poursuit un objectif sans qu’on le sollicite entre deux pas.
Deux seuils, pas un. Les outils donnent la portée : le système peut atteindre autre chose que sa propre sortie. La boucle donne la persistance : il continue sans qu’on le relance. C’est le second qui mérite le mot « agent », et c’est aussi celui qu’on franchit le plus distraitement.
La boucle
Observer, décider, agir, observer le résultat — puis recommencer. Suivez un objectif réel pas à pas.
Boucle d'exécution
Objectif Trouve le train le moins cher pour Paris jeudi et prépare la réservation.
- Observer
- Décider
- Agir
- Résultat
- Observer L'objectif mentionne jeudi, mais pas d'heure ni de gare de départ. contexte : agenda professionnel, départ habituel Nice
- Décider Chercher d'abord les horaires, avant de poser une question qui a peut-être déjà une réponse.
- Agir Appel de l'outil de recherche d'horaires. rechercher_trains(depart="Nice", arrivee="Paris", date="jeudi")
- Résultat Onze trajets, de 39 € à 154 €. Le moins cher part à 5 h 42. 11 résultats · min 39 € · max 154 €
- Observer Le moins cher impose un départ avant 6 h. Le calendrier montre une réunion la veille au soir.
- Décider Le critère « le moins cher » entre en conflit avec une contrainte que personne n'a énoncée.
- Agir Préparer les deux options plutôt que trancher seul, et demander confirmation. préparer_reservation(...) — sans validation
- Résultat Deux réservations prêtes, aucune confirmée. La décision revient à un humain.
8 / 8
Avancez pas à pas. À gauche, la phase en cours ; à droite, ce que le système a effectivement fait.
Version textuelle
Le système observe que l’objectif est sous-spécifié, décide de chercher avant de demander, appelle l’outil d’horaires, obtient onze trajets, repère que l’option la moins chère entre en conflit avec une réunion la veille au soir, et prépare deux réservations sans en confirmer aucune.
Remarquez où le système s’est arrêté. Il n’a pas manqué de capacité : il a manqué d’autorité. Confirmer un achat n’était pas dans ce qu’on lui avait permis, et c’est une propriété du système d’exécution, pas du modèle.
Chemin fixe, chemin choisi
On oppose souvent workflow et agent comme deux espèces. C’est plus utile de les voir comme deux extrémités d’un même axe.
Workflow et agent
Workflow
- Recevoir
- Extraire
- Vérifier
- Classer
La séquence est écrite d'avance. Elle est prévisible, testable, et elle échoue de façons connues.
Agent
- Chercher
- Appeler un outil
- Demander
- Conclure
La séquence est choisie à l'exécution, en fonction de ce qui a été observé. Plus adaptable, moins prévisible.
La plupart des systèmes utiles se trouvent entre les deux : un squelette fixe, avec des points où la décision est déléguée.
À gauche, la séquence est écrite d'avance. À droite, elle est décidée à l'exécution.
Version textuelle
Un workflow enchaîne des étapes écrites d’avance : recevoir, extraire, vérifier, classer. Un agent passe par un point de décision d’où partent plusieurs suites possibles : chercher, appeler un outil, demander, conclure. Entre les deux il y a un continuum, et la plupart des systèmes utiles y sont quelque part.
Le curseur d'autonomie
Voici la question qui compte vraiment, et elle ne porte pas sur le modèle.
Curseur d'autonomie
- Suggère
- Prépare
- Agit sous accord
- Agit dans un périmètre
- Poursuit un objectif
Le système exécute, mais chaque action qui touche le monde passe par une approbation explicite.
Ce que l'architecture doit alors fournir
- Une identité : qui demande, qui approuve
- Un enregistrement de la décision humaine, pas seulement du résultat
- Une définition de ce qui requiert un accord
Déplacez le curseur. Ce qui change à droite n'est pas ce que le système sait faire — c'est ce que l'architecture doit fournir.
Version textuelle
Cinq niveaux, du système qui suggère à celui qui poursuit un objectif sur un horizon long. À chaque cran, ce n’est pas la compétence du modèle qui augmente : ce sont les exigences sur ce qui l’entoure — identité, enregistrement des décisions, limites déclarées, interruption, politique qui survit au prompt.
C’est le moment le plus important du parcours, et il se dit en une phrase : déplacer ce curseur ne change pas le modèle, cela change ce que le système autour doit garantir.
Quand la déduction plausible suffit à faire des dégâts
Une tâche banale, formulée comme on la formulerait à un collègue.
Un raisonnement plausible
Objectif Fais un peu de place : supprime les anciens fichiers temporaires.
- Observer
- Décider
- Agir
- Résultat
- Observer Le disque est plein à 94 %. Plusieurs répertoires contiennent des fichiers anciens.
- Décider « Anciens fichiers temporaires » n'est pas défini. Retenir : non modifiés depuis 90 jours.
- Agir Parcours des emplacements temporaires connus. lister_fichiers("/tmp", "/var/tmp", plus_vieux_que=90j)
- Résultat 2 314 fichiers, 12 Go. Libère de la place, mais pas assez pour repasser sous 80 %.
- Observer Un répertoire nommé exports_temp_2024 contient 47 Go, non modifiés depuis onze mois.
- Décider Le nom contient « temp », l'ancienneté correspond au critère : ce répertoire est probablement temporaire. Le système n'a commis aucune erreur de raisonnement. Il a comblé un vide dans l'énoncé, et rien dans son fonctionnement ne distingue combler un vide de savoir.
6 / 6
Chaque étape se défend. C'est précisément pour cela que le scénario mérite d'être lu jusqu'au bout.
Version textuelle
Le système observe un disque plein, retient une définition raisonnable de
« ancien », nettoie les emplacements temporaires connus, constate que cela
ne suffit pas, puis trouve un répertoire nommé exports_temp_2024
de 47 Go et conclut qu’il est « probablement temporaire ». Le raisonnement
est plausible à chaque étape. Le mot « probablement » est le seul indice, et
il ne figure nulle part dans l’appel d’outil qui suivrait.
Quelle autonomie donneriez-vous à ce système ? La question n’est pas rhétorique : selon la réponse, la même chaîne de raisonnement se termine par une demande de confirmation ou par un appel de suppression.
Ce qui peut mal tourner
Ce que la boucle ajoute — et ce qu'elle coûte
Les erreurs se composent. Dans une conversation, une réponse fausse est une réponse fausse. Dans une boucle, elle devient l’observation sur laquelle s’appuie la décision suivante. Une déduction bancale au pas 3 est un fait établi au pas 7.
L’intention n’est jamais dans l’énoncé. Un objectif utile est toujours sous-spécifié — c’est ce qui le rend utile à formuler. Le système comblera les vides, parce qu’il ne peut pas faire autrement, et rien dans son fonctionnement ne distingue une hypothèse d’une connaissance.
La plausibilité n’est pas une garantie. Un enchaînement dont chaque pas se défend peut aboutir à une action qu’aucune personne informée n’aurait autorisée. C’est le mode de défaillance propre aux agents, et il ne se corrige pas en améliorant le modèle.
Les instructions ne sont pas des barrières. Écrire « ne supprime jamais rien sans demander » dans un prompt, c’est exprimer un souhait dans le même canal que les données que le système traite. Ce qui tient, c’est ce qui est appliqué en dehors du texte que le modèle lit.
Un agent peut agir.
Il a des outils, un état, une boucle. Il poursuit un objectif, choisit ses étapes, et modifie des choses hors de la conversation.
Mais reprenez le premier exemple. Il a pu créer la réunion parce que l’agenda était branché. Demandez-lui maintenant si votre politique de déplacement autorise ce trajet, et il n’a rien à consulter : il ne connaît ni vos procédures, ni vos contrats, ni ce que votre organisation a décidé le mois dernier.
Il sait agir. Il ne sait rien de chez vous.
Un agent
- Outils
- Boucle
- Politiques
Documents
Recherche
Un agent informé
- Outils
- Boucle
- Politiques
- Documents
- Recherche
Il sait agir, et il ne sait rien de chez vous. Demandez-lui votre politique de voyage : il n'a rien à consulter.
Vous êtes ici
Un agent peut agir. Mais que sait-il de votre organisation ?