Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Quand ne pas utiliser la recherche augmentée

Après cette leçon: Je peux dire quand la recherche est le mauvais outil.

Leçon de 60 min3 commandesLab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Un moteur de recherche pour une page

La génération augmentée par la recherche est un outil qui a un coût, et c’est parfois le mauvais. Elle ajoute un découpage, des vecteurs et une recherche qui peut rater la réponse.

Un club cycliste a une page de règles. Un étudiant bâtit tout un système de recherche pour elle. La page aurait tenu dans la consigne, et la recherche est maintenant ce qui peut échouer.

À la fin de cette leçon

Remarque

Je peux dire quand la recherche est le mauvais outil.

Mots-clés

MotCe que ça veut direExemple
Fenêtre de contextele plus de texte qu’un modèle lit d’un coup
Jetonun petit morceau de texte que le modèle compteenviron 3/4 de mot
Budgetle plus de jetons que vous choisissez de dépenser
Données en directdes faits qui changent toutes les quelques minutes
Recherchetrouver les morceaux qui répondent à une question

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

La recherche est un compromis, pas un réflexe

La recherche permet à un modèle d’utiliser plus de texte qu’une consigne n’en contient. C’est son avantage.

Elle coûte du travail et ajoute un risque. Il faut découper, bâtir des vecteurs et régler une recherche. Celle-ci peut rendre le mauvais morceau, ou aucun, et la réponse se bâtit alors sur le mauvais texte. Si vous pouvez vous en passer, passez-vous-en.

Un petit document tient dans la consigne

Un modèle ne lit qu’une quantité limitée de texte à la fois : sa fenêtre de contexte. Le texte se compte en jetons. Pour l’anglais, un jeton vaut environ les trois quarts d’un mot ; en français, un peu moins. C’est une règle empirique, pas un compte exact.

Choisissez un budget de jetons pour le contexte. Si le document entier est dessous, mettez tout. Il n’y a rien à chercher, donc rien à rater.

Exemple travaillé : six cas, quatre méthodes

CasMéthodePourquoi
Une page de règlesTout dans la consigneElle tient, donc rien à chercher
Un guide de 40 000 motsRechercheTrop gros : trouvez les quelques morceaux utiles
Le total des amendes de 17 livres en retardCalcul dans le codeUn modèle peut se tromper en arithmétique
Le retard du prochain busConsultation en directCela change chaque minute : un stockage est périmé
Un règlement de 3 pages rarement consultéTout dans la consigneIl tient et le surcoût est faible
L’intranet d’une université, des milliers de pagesRechercheAucune consigne ne peut le contenir

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Mesurer un document face à un budget

Le script suivant contient les règles du club cycliste et compte les mots. Il passe des mots aux jetons avec la règle empirique et compare avec un budget de 3000.

Il fait de même pour un guide de 40 000 mots, avec le seul nombre, puis bâtit la consigne entière pour les règles. Il n’appelle aucun modèle.

Écrire le script du budget, partie 1

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const regles = \"Les sorties partent à 9 h du vieux moulin. Chaque cycliste porte un casque. Un groupe compte au plus 12 cyclistes et un responsable. Le responsable règle l’allure et attend à chaque virage. Les lumières sont obligatoires si la sortie finit après le coucher du soleil. La cotisation est de 20 euros par an. Un invité peut venir à deux sorties avant de payer. Une sortie est annulée en cas de verglas ou de forte pluie, et le responsable prévient tout le monde avant 7 h. Personne n’est laissé derrière. Signalez toute chute au responsable le jour même.\";' '// Règle empirique : un jeton vaut environ les trois quarts d’un mot. C’est grossier.' 'function jetonsPour(mots) { return Math.round(mots * 4 / 3); }' 'const BUDGET = 3000;' > entier.js"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Écrire le script du budget, partie 2

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const documents = [' '  { nom: \"Règles du club\", mots: regles.split(\" \").length },' '  { nom: \"Guide de la médiathèque\", mots: 40000 },' '];' 'documents.forEach(function (un) {' '  const besoin = jetonsPour(un.mots);' '  const verdict = besoin <= BUDGET ? \"tient en entier\" : \"demande une recherche\";' '  console.log(un.nom + \" : \" + un.mots + \" mots, environ \" + besoin + \" jetons, \" + verdict);' '});' 'const consigne = \"Répondez uniquement à partir des règles du club.\n\n\" + regles + \"\n\nQuestion : Combien de cyclistes au plus dans un groupe ?\";' 'console.log(\"La consigne entière fait\", consigne.length, \"caractères. Aucune recherche n’est nécessaire.\");' >> entier.js"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Lancer le script et lire les verdicts

Commande
docker exec -w /home/node/project agent node entier.js

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Ce qu’il affiche

LigneCe qu’elle montre
Règles du club : 98 mots, environ 131 jetons, tient en entierTrès au-dessous du budget
Guide de la médiathèque : 40000 mots, environ 53333 jetons, demande une rechercheTrès au-dessus
La consigne entière fait 659 caractèresAssez petite pour être envoyée telle quelle

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une erreur fréquente

Attention

Beaucoup de gens croient que la recherche vaut toujours mieux que de mettre le document dans la consigne. Si le document tient, la recherche ajoute une étape qui peut rater la réponse. Employez-la quand il le faut, pas parce qu’elle paraît moderne.

À propos de ce labo et de sa source: Lab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.