Ce qui arrive en entier, et ce qui arrive sous forme de nom
La pertinence décide de la forme que prennent les connaissances, pas seulement de leur ordre. Les quelques entrées les plus proches arrivent en contenu complet, les autres arrivent sous forme d'un nom et d'un identifiant que l'assistant peut récupérer, les skills sont proposés par leur nom parce qu'une procédure doit se demander, et un prompt qui pose deux questions obtient des connaissances pour les deux.
Sur cette page
La récupération a deux missions. Choisir les bonnes connaissances est la plus connue. Décider de la place que mérite chaque entrée retenue est celle qui détermine si la bonne réponse tient réellement.
Une conception plus simple règle la seconde question avec une seule règle : tout ce qui est priorisé part en contenu complet, par ordre de priorité, jusqu'à ce qu'il n'y ait plus de place. L'entrée en huitième position reçoit exactement le même traitement que celle en première position, et la suivante ne reçoit rien du tout, même si elle est pertinente. La pertinence décide de l'ordre, et de rien d'autre.
Dans Pathrule, la pertinence décide de la forme.
Trois formes, une seule priorisation
- Les quelques plus proches arrivent en contenu complet. L'assistant les lit et agit, sans récupération séparée ni aller-retour.
- Tout le reste de ce qui est pertinent arrive sous forme d'un nom, d'un identifiant et d'une ligne. De quoi permettre à l'assistant de le reconnaître et d'en récupérer le contenu s'il s'avère utile.
- Les skills n'arrivent que par leur nom, quelle que soit leur priorité. Nous y revenons plus bas.
La propriété importante est celle du bas de la liste : une entrée pertinente n'est pas jetée faute de place. Ce qui ne tient pas dans le budget par prompt est listé par son titre, et c'est la forme économique qui rend cela abordable.
Le nombre de contenus livrés en entier est choisi pour garder intactes les meilleures correspondances tout en coûtant moins cher que l'envoi intégral de toutes les entrées priorisées. Le budget exact fait partie du moteur de Pathrule et peut changer d'une version à l'autre.
Pourquoi un skill n'est jamais poussé
Une mémoire est un fait. Une règle est une contrainte. Ce sont deux choses qu'un assistant doit simplement savoir pendant qu'il travaille, elles peuvent donc arriver toutes deux sous forme de contenu.
Un skill est une procédure. Placer une procédure dans le contexte d'un tour qui n'en demandait pas n'informe pas l'assistant, cela lui donne des instructions, et un assistant à qui l'on tend une checklist a tendance à la suivre. Les skills sont donc proposés par leur nom, et l'assistant s'en saisit quand le travail correspond réellement à celui que décrit le skill. L'invoquer, par exemple avec ::skill-name, charge son contenu complet. Consultez rédiger des skills pour savoir à quoi un skill est censé servir.
Les règles aussi doivent mériter leur place
Si les règles échappaient au test de pertinence, une contrainte sur les migrations de base de données pourrait évincer la mémoire qui aurait répondu à une question sur un bouton. Les règles passent donc par le même test de pertinence que tout le reste, et une règle sans rapport arrive sous forme de nom plutôt que d'occuper un emplacement complet.
L'exception est délibérée : une règle marquée stricte conserve son contenu, car une contrainte forte dont la violation provoque une régression n'est pas quelque chose que l'on rationne. Voir Les règles comme garde-fous.
La rétrogradation rend la pertinence observable
La forme économique compte pour une seconde raison, qui tient à l'apprentissage plutôt qu'au coût.
Quand chaque entrée priorisée est poussée sous forme de contenu, la couche ne découvre jamais si l'une d'elles était voulue. Un contenu qui arrive sans avoir été demandé ne fournit aucune indication, dans un sens comme dans l'autre. Un nom proposé, c'est différent : l'assistant le récupère ou non, et une récupération est un acte délibéré de la part de celui qui sait ce dont le travail avait besoin.
Cette récupération est un signal de pertinence utile, et une entrée régulièrement récupérée a plus de chances d'arriver en entier la fois suivante. Cela s'inscrit dans la boucle plus large décrite dans comment la récupération trouve les bonnes connaissances : la couche mesure ce qu'elle a livré au lieu de demander à l'assistant d'en rendre compte.
Le seuil doit tenir dans toutes les langues
L'envoi même d'une entrée dépend d'un seuil de pertinence, et ce seuil peut discrètement dépendre de la langue. Une même mémoire peut obtenir un certain score face à un prompt rédigé en anglais et un score plus bas face à une traduction fidèle de ce prompt, car l'appariement par le sens ne produit pas des résultats identiques d'une langue à l'autre pour une même idée. Un seuil réglé uniquement sur des prompts en anglais écarterait les autres langues sans que personne ne s'en aperçoive, et le symptôme ne serait pas une erreur. Ce serait une équipe qui rédige ses prompts en turc et reçoit moins de contexte qu'une équipe qui rédige les mêmes prompts en anglais.
Le seuil est donc placé là où il tient dans toutes les langues, et Pathrule le vérifie avec des prompts en plusieurs langues au lieu de le supposer. Comment Pathrule démontre ses affirmations les plus exigeantes décrit la manière dont ce type d'affirmation est vérifié.
Un prompt qui pose deux questions obtient des connaissances pour les deux
Posez une seule question, et l'appariement par le sens fonctionne bien. Posez-en deux dans le même message, et il se heurte à un problème structurel : la demande devient une moyenne unique de deux idées différentes, et la moyenne de deux choses n'est souvent proche d'aucune. L'entrée qui répond à votre première question et celle qui répond à la seconde peuvent toutes deux rester sous un seuil que chacune aurait franchi seule.
Pathrule lit une demande en plusieurs parties comme un ensemble de parties. Chacune est appariée séparément et les résultats sont combinés : une question en deux parties obtient ainsi des connaissances pour chacune, tandis qu'une question simple est appariée comme avant.
La place disponible augmente avec la question et non avec l'espace de travail. Poser deux questions coûte un peu plus qu'en poser une. Avoir dix mille mémoires au lieu de cent coûte la même chose.
Pour aller plus loin
- Comment la récupération trouve les bonnes connaissances, pour la sélection sur laquelle repose ce modèle de diffusion.
- Fonctionnement des hooks, pour savoir comment la sélection parvient à l'assistant avant son premier appel d'outil.
- Comment Pathrule démontre ses affirmations les plus exigeantes, pour la manière dont sont testées des affirmations comme le comportement multilingue.