Dans les coulisses de la plateforme

Comment un agent IA apprend une nouvelle compétence - et fait le ménage derrière lui

Un agent qui ne retient que des faits redéduit la procédure de zéro chaque fois. Les agents Olano l'écrivent. Cet article explique l'ingénierie qui le permet : comment un travail récurrent devient une procédure écrite et réutilisable, comment un agent améliore une compétence qu'il n'a pas écrite sans jamais l'écraser, comment une copie apprise survit au jour où l'original est mis à jour en dessous d'elle - et pourquoi rien de tout cela ne peut dégrader en silence le système qu'il doit améliorer.

La mémoire dit ce qui est vrai. Les compétences disent comment le travail se fait.

La plupart des discussions sur la mémoire des IA s'arrêtent aux faits, et les faits méritent d'être gardés : vos tarifs, vos règles d'escalade, quel client est difficile. C'est précisément de cet ensemble que parle Comment les agents IA se souviennent. C'est réellement utile, et ce n'est pourtant pas la même chose que la compétence.

La compétence est procédurale. Le rapport du lundi s'assemble dans un ordre précis, à partir de sources précises et avec des réserves précises. La demande de remboursement est vérifiée sur trois points avant que quiconque réponde. La revue trimestrielle des fournisseurs sort toujours les six mêmes chiffres. Un agent doté de faits parfaits et d'aucune procédure fera chacune de ces tâches un peu différemment chaque fois, et c'est cette variation que votre équipe remarque.

C'est pourquoi les agents Olano gardent un second type d'artefact à côté de la mémoire : la compétence. Une compétence est un petit dossier contenant un fichier SKILL.md - un nom, une description d'une ligne, un déclencheur qui dit quand y recourir, et des étapes numérotées. Certaines compétences sont livrées avec la plateforme. D'autres viennent d'un pack de compétences ou d'une place de marché. D'autres, vous les écrivez. Et certaines, l'agent les écrit pour lui-même, à partir d'un travail qu'il a réellement fait.

C'est de cette dernière catégorie que parle cet article.

D'où vient une compétence apprise

Chaque tour joué par un agent est ajouté à une transcription. Un passage en arrière-plan lit ces transcriptions selon une cadence - toutes les heures au réglage le plus actif, toutes les quatre heures au plus détendu - et il ne lit que ce qu'il n'a pas déjà lu, suivi par un décalage en octets sur chaque transcription. Rien n'est réanalysé, et rien n'est omis parce qu'un fichier a grossi entre deux passages.

À partir de là, le passage est volontairement difficile à déclencher :

  • En dessous de quatre nouveaux tours, il ne fait rien. Les décalages sont validés quand même, pour que ces tours ne s'accumulent pas et qu'un passage ultérieur ne les surinterprète pas.
  • Il tourne sur le palier de raisonnement approfondi, ou il ne tourne pas. Il n'y a pas de modèle de repli bon marché. Chaque agent a un plafond quotidien de passages approfondis - environ six, douze ou vingt-quatre selon le préréglage de cadence - et quand le plafond ou le budget de dépense est épuisé, le cycle est sauté et réessayé la fois suivante, ses décalages restant non validés. Une analyse dégradée est pire que pas d'analyse : elle produit des procédures assurées et fausses.
  • Il s'efface pendant que la mémoire est réécrite. Le passage de consolidation de la mémoire pose un verrou ; le distillateur le voit et se retire plutôt que d'écrire dans un fichier en cours de réécriture complète.

Quand il tourne, les faits arrivent d'abord en mémoire. Ensuite, si l'apprentissage de compétences est activé, les mêmes tours passent à un second traitement.

L'éclaireur lit la bibliothèque avant de lire la transcription

C'est ce qui empêche une bibliothèque apprise de devenir une décharge. On ne remet pas à l'éclaireur de compétences une conversation en lui demandant "qu'as-tu appris ?". On lui remet une conversation et, avec elle, l'inventaire de toutes les compétences que l'agent possède déjà - y compris les compétences gérées et tierces, qui vivent hors de son espace de travail et que ses outils de fichiers ne peuvent pas voir seuls - et on lui demande ce qui manque, s'il manque quelque chose.

Chaque candidate renvoyée porte une action, et deux des trois actions ne produisent aucune nouvelle compétence :

  • skip - la capacité est déjà couverte. C'est le résultat le plus fréquent, et c'est un succès.
  • update - une compétence existante la couvre presque et mérite d'être affinée. La candidate nomme sa cible.
  • create - réellement nouvelle. Ce n'est qu'alors qu'une compétence est écrite.

Une nouvelle compétence passe ensuite par une seconde validation qui cherche les noms quasi identiques, s'arrête si elle en trouve un, et écrit un SKILL.md correctement structuré avec le bon frontmatter. Si cette validation ne peut pas aboutir, le système écrit la candidate directement plutôt que de la perdre.

Améliorer une compétence qu'il n'a pas écrite

Une amélioration est le cas intéressant, parce que l'implémentation évidente est la mauvaise.

Une compétence que vous avez installée n'est pas un document unique. Ce peut être un manuel en plusieurs fichiers : un SKILL.md plus des scripts, des tableaux de référence, des formulaires, des modèles. Et elle appartient à l'amont : quand le pack dont elle vient est mis à jour, ce dossier est remplacé en entier. Un agent qui "améliore" une telle compétence en la réécrivant sur place a donc fait deux erreurs d'un coup : il a fait passer un manuel par un résumé, et il a placé son amélioration exactement sur le chemin de la prochaine mise à jour, qui l'effacera en silence.

Olano crée une bifurcation à la place. La première fois qu'un agent améliore une compétence qui ne lui appartient pas :

  • Le dossier entier est copié dans la bibliothèque apprise de l'agent, octet par octet, les références de chemins internes étant réécrites pour que la copie fonctionne depuis son nouvel emplacement.
  • La copie reprend le nom exact de l'original, de sorte qu'au chargement des compétences elle masque l'original au lieu de le remplacer. Le fichier original n'est jamais touché sur le disque.
  • Un relevé de provenance est écrit à côté : une empreinte par fichier de la source au moment de la bifurcation, une empreinte par fichier de la copie au même moment, et la structure des sections du fichier SKILL.md d'origine.
  • Un instantané intact de l'état de départ est conservé à part, pour servir plus tard de base de fusion.

Chaque amélioration suivante s'applique à la copie, par ajout. Il en découle deux propriétés qu'une conception par réécriture sur place ne peut pas avoir : "cette amélioration a-t-elle perdu quelque chose ?" devient une question vérifiable face à une référence enregistrée, au lieu d'un diff flou entre deux documents sans rapport, et "l'original a-t-il changé en amont ?" reste indéfiniment une question à laquelle on peut répondre.

Le garde-fou de préservation

Le mode de défaillance que tout le monde craint avec les systèmes qui se modifient eux-mêmes, c'est la dégradation progressive et silencieuse : chaque passage un peu plus court, un peu plus fade, jusqu'à ce que ce qui marchait ne soit plus qu'un paragraphe de banalités. Promettre que cela n'arrivera pas n'est pas une réponse d'ingénieur.

C'est pourquoi chaque copie apprise est comparée à son propre état de départ enregistré à chaque chargement des compétences. Elle échoue si :

  • un fichier présent au moment de la bifurcation a disparu ;
  • un fichier de texte est passé sous la moitié de sa taille initiale (les fichiers de moins d'un demi-kilo-octet sont exemptés, car les petits fichiers changent légitimement beaucoup de taille) ;
  • le fichier SKILL.md a perdu plus d'un tiers des titres de section de l'original.

Une copie en échec est mise en quarantaine : elle cesse de masquer, et l'original reprend le service. L'agent perd une amélioration ; il ne perd pas une compétence qui marche. Et le garde-fou ne s'applique délibérément qu'aux copies écrites par la machine : une compétence apprise qu'une personne a écrite à la main n'est jamais mise en quarantaine, car une substitution volontaire doit rester la référence, même plus courte.

Quand l'original change en dessous

Un jour, la compétence amont est mise à jour : un rafraîchissement de pack, une mise à jour sur la place de marché, une modification par votre équipe. Deux lignées ont alors bougé, et le relevé de provenance rend possible une véritable fusion à trois voies au lieu d'une supposition. La résolution se fait fichier par fichier, et d'abord de façon déterministe : un modèle n'est consulté que là où aucune réponse déterministe n'existe.

L'originalLa copie appriseCe qui se passe
InchangéPeu importeOn garde la copie apprise. Rien à faire.
ModifiéIntactOn prend la nouvelle version amont, on réécrit ses références de chemins internes et on réestampille la provenance avec la nouvelle empreinte de la source.
SuppriméIntactOn le supprime aussi de la copie apprise. L'amont l'a retiré pour une raison et rien en local ne s'y oppose.
SuppriméModifiéOn garde la copie apprise et on y joint une note de conflit. Quelqu'un devrait y jeter un œil ; en attendant, rien n'est jeté.
ModifiéModifié - texteFusion à trois voies face à la base enregistrée. Une fusion propre est appliquée. Un vrai conflit garde la copie apprise et part vers le passage sur la bibliothèque pour arbitrage sur le sens.
ModifiéModifié - script ou binaireOn garde la copie apprise et on la signale. Le code n'est jamais fusionné automatiquement : un script silencieusement cassé est pire qu'un script périmé.

Ensuite, les empreintes et l'instantané de base sont remis à l'état fusionné. C'est ce qui fait converger la boucle : le même écart n'est jamais signalé deux fois, et le garde-fou de préservation continue de travailler face à la nouvelle référence plutôt qu'à une très ancienne. Une copie qui échoue actuellement au garde-fou est entièrement exclue de la fusion - refusionner une copie dégradée reviendrait à la blanchir.

Un passage sur toute la bibliothèque

Valider les compétences une par une n'est pas la même chose que tenir une bibliothèque cohérente. Un passage distinct, à son propre rythme, lit donc toutes les compétences de l'agent et traite la collection comme l'unité de travail : il fusionne doublons et quasi-doublons en une version de référence - meilleur nom, déclencheur le plus clair, union des étapes -, supprime les dossiers fusionnés, refusionne toute copie dont l'original a dérivé, et améliore ce qui reste.

La frontière est imposée, pas conseillée : les originaux et les compétences gérées sont en lecture seule pour ce passage. Il ne peut modifier, fusionner et supprimer qu'à l'intérieur de la bibliothèque apprise. Avant de commencer, chaque fichier qu'il pourrait toucher est capturé en instantané, et à la fin il rend compte de ses modifications avec un unique bouton d'annulation.

Le même traitement pour l'espace de travail lui-même

La configuration propre d'un agent est elle aussi du texte, et un texte écrit par petits bouts pendant des mois s'accumule de la même façon : la même instruction formulée de trois manières à trois endroits, une préférence notée dans le mauvais fichier, une note répétée dans onze journaux quotidiens d'affilée, et de temps en temps deux instructions qui se contredisent discrètement.

C'est le rôle d'un passage de consolidation de l'espace de travail. Il lit les fichiers d'identité, de comportement, d'instructions et de mémoire longue de l'agent, plus ses journaux quotidiens des deux dernières semaines, et les réécrit sur place : fusionner les doublons reformulés, retirer les contradictions, regrouper ce qui va ensemble sous des titres clairs et déplacer le contenu vers le fichier auquel il appartient vraiment. Les journaux quotidiens reçoivent la déduplication la plus agressive, parce que c'est là que la répétition s'accumule le plus vite.

L'instruction sous laquelle il travaille tient en une phrase et porte tout le poids : préserve la voix de l'agent et chaque instruction unique ; consolide, n'efface jamais. Comme pour le passage sur la bibliothèque, chaque fichier cible est d'abord capturé en instantané, et le résultat est rendu avec un bouton d'annulation.

Deux régimes, et la différence compte

Tout dans cette boucle n'est pas gouverné de la même façon, et la séparation est délibérée, pas commode.

  • Changer ce qu'on demande à un agent reste une simple proposition. The pass that reviews recent work and concludes an agent's instructions should be sharper does not edit those instructions. It writes grounded proposals into a review queue, and they wait - even with Fully Autonomous on, which otherwise lets new skills, memory and tidy-ups apply on their own. Nothing rewrites an agent's instructions because a background job thought it should, unless a deployment owner has explicitly lifted that hold for the agent.
  • Le rangement sans perte s'applique, avec instantané et annulation. Dédupliquer la mémoire, fusionner deux compétences apprises identiques, regrouper une note répétée : cela ne change pas ce que fait l'agent, seulement la propreté de ce qui est écrit. Exiger un clic humain pour chacun entraînerait votre équipe à approuver sans lire, ce qui est le pire résultat possible pour la file qui compte vraiment. Ils s'appliquent donc directement, après un instantané, et chaque exécution rend compte de ses modifications avec une annulation.

Tout cela est désactivable. Chaque comportement - distillation, apprentissage de compétences, entretien de la bibliothèque, consolidation de l'espace de travail, consolidation de la mémoire - est un interrupteur indépendant, réglable pour tout le déploiement et surchargeable par agent dans les deux sens, si bien que "désactivé partout sauf pour cet agent" est une configuration réelle. Au-dessus se trouvent un interrupteur général et un choix distinct entre tourner selon un calendrier ou seulement sur demande. Les préréglages de cadence - détendu, équilibré, agressif - déplacent ensemble les calendriers et les plafonds quotidiens de raisonnement approfondi, et ils restent soumis aux mêmes contrôles de dépense stricts qui régissent tout le reste du déploiement.

À quoi ressemble une boucle complète

Les agents font le vrai travail de la journéeSeuls les tours non lus sont analysés, au palier approfondi ou pas du toutLes faits arrivent en mémoire ; l'éclaireur vérifie d'abord toute la bibliothèqueLes nouvelles compétences sont validées et écrites ; les améliorations sont bifurquées, jamais écraséesLe garde-fou de préservation met en quarantaine tout ce qui s'est dégradéLes mises à jour amont reviennent par fusion à trois voiesBibliothèque et espace de travail consolidés, capturés, réversibles

L'effet cumulé est lent et concret. Le rapport que votre agent d'exploitation a monté à la main trois semaines de suite existe comme procédure écrite à la quatrième. La compétence de pack qui convenait presque à votre secteur porte votre correction et absorbe quand même la prochaine mise à jour de l'éditeur au lieu d'être écrasée par elle. Le fichier d'instructions qui avait gonflé à quatre pages de conseils redondants tient en deux pages sans redondance, et chaque phrase qui n'existait que dans la version supprimée est toujours dans celle que vous avez gardée.

Ce que ce n'est pas

Aucun poids de modèle n'est entraîné, affiné ni ajusté. Toute cette boucle opère une couche au-dessus du modèle, sur des artefacts écrits en langage clair à l'intérieur de votre propre déploiement isolé : compétences, entrées de mémoire, propositions d'instructions. Ce sont des fichiers. Votre équipe peut les lire, les modifier à la main, les approuver, les annuler et vérifier qui a changé quoi et quand.

Ce n'est pas une limite que nous contournons. C'est la raison pour laquelle la boucle est quelque chose que vous pouvez gouverner au lieu de quelque chose auquel il faut faire confiance - et c'est pour la même raison que le modèle en dessous peut être remplacé sans que l'agent perde ce qu'il a appris.

À lire aussi

La suite de la série Dans la plateforme, et les chapitres du manuel qui vont plus loin.

FAQ

Qu'est-ce qu'une compétence, et en quoi diffère-t-elle de la mémoire ?

La mémoire retient ce qui est vrai de votre entreprise : prix, personnes, décisions, préférences. Une compétence retient comment un travail se fait : une courte procédure écrite, avec un nom, une description, un déclencheur qui dit quand y recourir, et des étapes numérotées. La mémoire évite que l'agent vous pose deux fois la même question. Les compétences évitent qu'il réinvente deux fois la même procédure, en la faisant chaque fois un peu différemment.

L'agent réécrit-il les compétences que vous lui avez données ?

Non. Les compétences venant de vous, d'un pack de compétences ou d'une place de marché sont des originaux en lecture seule, jamais modifiés ni supprimés. Pour en améliorer une, l'agent copie le dossier entier dans sa bibliothèque apprise et modifie la copie, qui reprend le nom de l'original et prend donc le dessus au chargement des compétences. Le fichier original reste intact sur le disque, et c'est précisément ce qui rend une mise à jour amont ultérieure fusionnable au lieu d'être perdue.

Qu'est-ce qui empêche une compétence apprise de se dégrader en un résumé médiocre ?

Un garde-fou de préservation, exécuté au chargement des compétences. Chaque copie apprise est comparée à son propre état de départ enregistré : si un fichier de texte est passé sous la moitié de sa taille initiale, si plus d'un tiers des titres de section d'origine ont disparu, ou si un fichier présent au départ manque, la copie est mise en quarantaine et l'original reprend le service. C'est une vérification structurelle, pas une promesse - et les copies écrites à la main par une personne en sont exemptées, car les substitutions volontaires restent la référence.

Que se passe-t-il quand la compétence d'origine est mise à jour plus tard ?

Une fusion à trois voies, fichier par fichier, face à un instantané de l'état au moment de la bifurcation. Les fichiers que l'amont a modifiés et que la copie apprise n'a jamais touchés sont pris en amont. Ceux que la copie apprise a modifiés et que l'amont n'a pas touchés sont gardés. Là où les deux ont changé, le texte est fusionné face à la base commune, et un vrai conflit part vers le passage sur la bibliothèque. Les scripts et les binaires ne sont jamais fusionnés automatiquement : la copie apprise est gardée et signalée, car un script silencieusement cassé est pire qu'un script périmé.

Est-ce que quelque chose change sans me demander ?

Cela dépend de ce qui change, et la séparation est délibérée. Tout ce qui modifie ce qu'on demande à un agent - ses instructions, son comportement - est écrit comme proposition dans une file de relecture et n'est jamais appliqué tout seul. Le rangement sans perte - dédupliquer la mémoire, fusionner des compétences apprises en double, regrouper des notes répétées - peut s'appliquer directement, mais seulement après un instantané, et chacune de ces exécutions rend compte de ses modifications avec un bouton d'annulation. Vous pouvez aussi désactiver chacun de ces comportements séparément, pour tout le déploiement ou pour un seul agent.

Est-ce que cela réentraîne un modèle d'IA sur mes données ?

Non. Aucun poids de modèle n'est entraîné ni affiné. Tout ce que produit cette boucle est un simple fichier markdown dans votre propre déploiement : une compétence, une entrée de mémoire, une proposition de modification d'instruction. Votre équipe peut les lire, les comparer, les modifier à la main, les approuver et les annuler. Cette lisibilité est tout l'enjeu : c'est elle qui fait d'une boucle d'amélioration quelque chose que vous pouvez gouverner plutôt que quelque chose auquel il faut faire confiance.

Déployez un système qui écrit ce qu'il apprend

L'effet cumulé ne compte que si le travail en dessous est réel. Réservez une consultation : nous cartographions le processus, nous le chiffrons, et nous ne construisons qu'après votre accord.

Discuter d'un projet