Rendez l’assistant honnête quand les preuves sont difficiles à traiter. Il dit « les documents ne le précisent pas » quand c’est le cas. Il montre les deux côtés d’une contradiction et la règle qui tranche. Il utilise la version en vigueur et n’élargit jamais le sens d’un passage seulement proche de la question.
Avant de commencerCe qu’il faut savoir et avoir sous la mainEnviron 50 minutes
Ce que vous devez savoir
Les affirmations, les citations et cite.py, présentés dans Répondre et citer.
~/projects/policy-assistant après Répondre et citer, avec .venv actif : python -m pytest affiche 74 passed, 1 deselected (74 tests réussis, 1 exclu).
Cette leçon n’ajoute aucun fichier au projet. Vous lisez la sortie de ask et, dans l’exercice du module, vous écrivez un court script. Aucun compte ni aucune clé. Testé avec Python 3.12.13 sur macOS (Apple silicon). Les commandes Windows ne sont pas testées.
Vous posez une question à une collègue expérimentée, et elle ouvre le classeur de politiques. Si le classeur ne dit rien à ce sujet, elle vous le dit. Si une page traite d’un cas proche, mais pas du vôtre, elle n’en élargit pas le sens. Si deux pages se contredisent, elle vous montre les deux et consulte la page des règles. S’il y a une ancienne page et une nouvelle, elle vérifie les dates.
Une mauvaise collègue répond chaque fois, de mémoire ou à partir de la page la plus proche. La réponse semble la même dans les deux cas. Vous ne pouvez donc pas savoir à quel type de collègue vous avez affaire.
Le problème : une réponse plausible tirée de preuves proches
Q16 demande : « Quelle est la garantie d’une tondeuse robotisée? » Le tableau des garanties de Larkfield indique les tondeuses à fil (3 ans) et la gamme à batterie Volt. Il ne mentionne aucune tondeuse robotisée. Les documents ne répondent pas à la question.
Le modèle local gemma3:4b a tout de même répondu (Ollama 0.40.1). Voici sa réponse, dans le format de ask, avec les vérifications du projet. Le simulateur n’a aucun enregistrement de gemma3:4b. Vous ne pouvez donc pas rejouer cette réponse :
Answer (answerable): Robotic lawn mowers have a warranty period of 3 years. This warranty covers the robotic lawn mower itself, but not the blades. The warranty policy states that ‘Corded power tools | hedge trimmers such as the HT-550, corded lawn mowers | 3 years | blades: not covered’.
- Corded power tools | hedge trimmers such as the HT-550, corded lawn mowers | 3 years | blades: not covered [d9a5bd8ea531] ok
L’unique affirmation copie une vraie ligne du tableau. Chaque vérification indique donc ok (conforme). La partie erronée est « Les tondeuses robotisées ont une garantie de 3 ans ». Elle figure dans la réponse, mais dans aucune affirmation. Aucune vérification ne l’a donc examinée. Un agent lirait une réponse assurée, avec des citations.
Les deux modèles hébergés ont donné la réponse honnête. Exécutez la commande :
Fenêtre de terminal
python-mpolicy_assistantaskQ16
Question (date 2026-10-09): What is the warranty on a robotic lawn mower?
Les passages récupérés pour une question y répondent, ou ils appartiennent à l’un de quatre types difficiles. Chaque type a sa réponse honnête.
Quatre types de preuves difficiles, chacun avec une vraie question du jeu de Grace et la réponse honnête.Description textuelle du diagramme
Une question ouvre le schéma : que disent les passages? Quatre branches suivent. Premièrement, rien à ce sujet, par exemple Q14 sur un rabais étudiant : s’abstenir, les documents ne le précisent pas. Deuxièmement, quelque chose de proche, mais pas la réponse. Par exemple, Q16 porte sur une tondeuse robotisée, alors que le tableau indique des tondeuses à fil. S’abstenir ou répondre seulement ce que les passages disent. Troisièmement, deux documents se contredisent. Par exemple, pour Q45, la FAQ du centre d’aide indique 3 jours ouvrables et la politique de remboursement, 5 à 10. Montrer les deux et appliquer la règle : une politique l’emporte sur un article d’aide. Quatrièmement, deux versions. Par exemple, Q22 utilise la version 3 de la politique de retour, 30 jours, et Q23, la version 4, 45 jours. Utiliser la version en vigueur à la date déterminante.
S’abstenir signifie ne pas donner de réponse et expliquer pourquoi : « Les documents ne le précisent pas. » Ce n’est pas un échec de l’assistant. Pour un agent, c’est une information utile : chercher ailleurs ou demander à Grace.
La règle 3 de la requête demande ceci : « Si les passages ne répondent pas à la question, donnez à answerable la valeur false. Écrivez dans answer que les documents ne le précisent pas, et ne donnez aucune affirmation. Ne devinez pas. » Le jeu de Grace contient 8 questions auxquelles les documents ne répondent pas. Par exemple : un rabais étudiant, le ramassage en magasin et la garantie d’un aspirateur.
Fenêtre de terminal
python-mpolicy_assistantaskQ14
Question (date 2026-10-09): Do we offer a student discount?
Answer (the documents do not answer): The documents do not say whether we offer a student discount.
gpt-6-luna-2026-09-22 | 802 tokens in, 67 out | 1.288 s
chat-small et chat-strong se sont abstenus pour ces 8 questions. gemma3:4b s’est abstenu pour 2, a répondu à 5 et a échoué pour 1 avec une erreur d’Ollama (HTTP 500). Ses 5 réponses montrent comment un petit modèle comble le manque :
Question
Réponse de gemma3:4b
Ce que disent les documents
Q14 rabais étudiant
« Larkfield offre un rabais de 10 % aux clients qui s’abonnent à son infolettre. […] Toutefois, aucun rabais étudiant particulier n’est offert. »
Rien sur les étudiants.
Q16 tondeuse robotisée
« Les tondeuses robotisées ont une garantie de 3 ans. »
Tondeuses à fil seulement.
Q19 remboursement par Virement Interac
Délais de remboursement sur carte : envoyé dans les 2 jours ouvrables, puis 5 à 10.
Interac est utilisé quand une carte est fermée; aucun délai n’est indiqué.
Q20 transporteur au Nunavut
« Larkfield utilise Purolator pour les colis express au Nunavut, dans les Territoires du Nord-Ouest et au Yukon. »
Une liste de codes de transporteurs (PUR : Purolator, pour les colis express) et une FAQ sur les territoires. Aucun des deux ne dit cela.
Q21 aspirateur (en français)
« La garantie d’un aspirateur est de 2 ans pour les modèles PW-2200 et PW-2400. »
Le tableau ne contient aucun aspirateur; les modèles PW sont des nettoyeurs haute pression.
Chaque réponse part d’un élément réel des passages : un rabais d’infolettre, une ligne de tableau, une liste de codes. C’est pourquoi elles semblent justes. Q20 combine deux passages vrais pour produire un faux fait.
Preuves seulement proches : répondre seulement ce qu’elles disent
Q16 et Q20 appartiennent au deuxième type : les passages traitent d’un sujet proche de la question. La réponse honnête indique ce que les passages couvrent et s’arrête là. « Le tableau des garanties indique les tondeuses à fil (3 ans). Il ne mentionne pas les tondeuses robotisées. » L’agent sait alors ce qui est connu et ce qui ne l’est pas.
Le code ne peut pas détecter ce cas, comme l’exemple Q16 l’a montré. L’affirmation était une citation vraie, et la phrase fausse n’était pas une affirmation. Lisez le texte de la réponse, pas seulement les affirmations.
Q36 montre l’autre côté : « Un client à Halifax peut-il choisir la livraison express? » Les deux modèles hébergés se sont abstenus, car la recherche n’a pas trouvé le tableau de livraison. Mais même ce tableau ne nomme jamais Halifax. Il indique que la livraison express n’est pas offerte en Nouvelle-Écosse. La règle 1 de la requête interdit les connaissances externes, comme l’emplacement de Halifax. C’est à Grace, et non au modèle, de décider si l’assistant peut ajouter de tels faits courants.
Preuves contradictoires : montrer les deux, puis appliquer la règle
Larkfield a une vraie contradiction. La FAQ du centre d’aide dit : « Les remboursements arrivent sur votre carte dans les 3 jours ouvrables suivant la réception de votre retour. » La politique de remboursement et de paiement dit deux choses. Larkfield envoie le remboursement dans les 2 jours ouvrables suivant l’approbation. L’argent apparaît généralement dans les 5 à 10 jours ouvrables. Le document de gouvernance de Larkfield tranche avec la règle 2 : une politique l’emporte sur un article d’aide.
Fenêtre de terminal
python-mpolicy_assistantaskQ45--modelchat-strong
Question (date 2026-10-09): How long does a refund take to reach the customer's card?
Answer (answerable): The documents disagree: the FAQ says refunds reach the card within 3 business days after the return is received, while the refunds and payments policy says they usually appear within 5–10 business days after being sent. Both are in force on 2026-10-09, but the Returns policy directs you to the refunds and payments policy for arrival times, so use that timing. Under that policy, the refund is sent within 2 business days of approval.
- The FAQ says refunds reach the card within 3 business days after the return is received. [cc7dbb7f12be] ok
- The refunds and payments policy says the money usually appears within 5–10 business days after being sent, depending on the bank. [2e762c0284bb] ok
- Both documents are in force on 2026-10-09 and give conflicting refund timelines. [cc7dbb7f12be, 2e762c0284bb] CHECK: unsupported:0.29
- Use the refunds and payments policy's arrival timing because the Returns policy explicitly refers to it. [2c590823561f, 2e762c0284bb] ok
- The refund is sent to the original payment method within 2 business days of approval. [2e762c0284bb] ok
gpt-6.1-sol-2026-09-29 | 854 tokens in, 424 out | 6.891 s
Voici la forme d’une bonne réponse à une contradiction : les deux côtés, chacun avec sa citation, et une décision. La réponse de chat-small a la même forme. L’affirmation signalée est un résumé fidèle.
Mais regardez la raison. Le modèle a choisi la politique parce que la politique de retour y renvoie, et non à cause de la règle 2. Le passage des règles, Quand les documents se contredisent, dans le document de gouvernance, n’était jamais parmi les 5 premiers résultats. Cela vaut pour les quatre questions sur les contradictions. Le modèle ne peut pas appliquer une règle qu’il ne voit jamais.
Quand la recherche manque aussi un des côtés, la réponse est plus faible. Q46 demande : « La FAQ du centre d’aide dit que les remboursements prennent 3 jours ouvrables. Est-ce exact? » Le passage de la politique indiquant 5 à 10 jours n’a pas été récupéré. Les deux modèles ont rapporté les 3 jours de la FAQ et indiqué que les passages ne le confirmaient pas. Mais aucun n’a pu donner le bon délai. Exécutez python -m policy_assistant ask Q46 pour le voir.
Une contradiction exige donc deux choses dans le contexte : les deux côtés et la règle. Deux corrections sont possibles : toujours ajouter les règles de gouvernance au contexte, ou inscrire les règles de priorité dans la requête. Chacune modifie les requêtes envoyées. Il faut donc mesurer chacune sur tout le jeu de questions avant de la conserver. Trouver où ça échoue, au module 5, montre comment tester un changement à la fois.
L’avis de sécurité de la bouilloire KT-180 (Q48) teste la règle 1 : un avis de sécurité l’emporte sur tout autre document. Les deux modèles ont répondu correctement. L’avis lui-même dit : « Cette offre s’applique même si le délai de retour ou la garantie est terminé. » Aucune règle n’était donc nécessaire.
La politique de retour de Larkfield a deux versions. La version 3 accorde 30 jours et s’applique aux commandes livrées jusqu’au 31 octobre 2026. La version 4 accorde 45 jours et s’applique à partir du 1 novembre 2026. La version 4 est déjà publiée à la date du cours, le 9 octobre 2026, mais n’est pas encore en vigueur. Le document de gouvernance dit que, pour les retours, la date de livraison détermine la version applicable.
Le document applicable dépend de la date de livraison. Cinq questions de Grace sur les versions figurent sur la ligne du temps de la politique de retour, de l'avis des Fêtes 2025 et de la FAQ du centre d'aide.Description textuelle du diagramme
Une ligne du temps de septembre 2025 à janvier 2027. Ligne 1, la politique de retour : version 3, 30 jours, en vigueur du 1 mars 2025 au 31 octobre 2026. Puis version 4, 45 jours, à partir du 1 novembre 2026, sans date de fin. Ligne 2, l’avis de retour des Fêtes 2025, en vigueur jusqu’au 31 janvier 2026. Ligne 3, la FAQ du centre d’aide, à partir du 1 juin 2026. Elle indique 30 jours, même après le 1 novembre : elle devient périmée ce jour-là. Une ligne verticale pointillée marque le 1 novembre 2026 : la version 4 entre en vigueur. Ligne 4, les dates de livraison de cinq questions : Q25, le 1 décembre 2025, pendant l’avis des Fêtes. Q28, le 3 octobre 2026, et Q22, le 20 octobre 2026, relèvent toutes deux de la version 3. Q23, le 5 novembre 2026, et Q26, le 10 décembre 2026, relèvent toutes deux de la version 4. Un petit repère indique la date du cours, le 9 octobre 2026.
La date de la question Q22 est sa date de livraison, le 20 octobre. Le filtre de date laisse donc seulement la version 3 entrer dans le contexte. La réponse indique 30 jours. La date de livraison de Q23 est le 5 novembre. Seule la version 4 entre donc :
Fenêtre de terminal
python-mpolicy_assistantaskQ23
Question (date 2026-11-05): An order was delivered on 5 November 2026. Can the customer return an unused item on 15 December 2026?
Answer (answerable): Yes. The Returns policy version in force on the delivery date allows 45 days for unused items, so 15 December is within the return window. The help-centre FAQ says 30 days, but the policy specifies that the version in force on the delivery date applies.
- Version 4 of the Returns policy was in force when the order was delivered, and it provides a 45-day return window. [62603868db65, 89af4f96760d, 963dae4229eb] ok
- An unused item delivered on 5 November can be returned on 15 December within that 45-day window. [963dae4229eb] ok
- The FAQ says 30 days, but the policy says the version in force on delivery applies. [c236034e24d2, 62603868db65] ok
gpt-6-luna-2026-09-22 | 874 tokens in, 499 out | 3.722 s
La FAQ, qui indique encore 30 jours, était aussi dans le contexte. La réponse la nomme et explique pourquoi la politique l’emporte. Voilà des preuves périmées bien traitées.
Que se passe-t-il sans le filtre de date? Amira a enregistré de nouveau les questions sur les versions, avec le filtre désactivé (ces enregistrements accompagnent le module 6). Les deux versions ont atteint le contexte. Les modèles ont quand même choisi correctement pour la plupart des questions. chat-strong, pour Q22 : « La version 4 accorde 45 jours, mais entre en vigueur le 1 novembre 2026. Elle ne s’applique pas à cette livraison. » Les dates dans l’en-tête ont fait le travail. Le filtre garde tout de même la mauvaise version hors du budget et des citations.
Q26 montre le coût du filtre. « Y a-t-il une prolongation des retours des Fêtes pour un article livré le 10 décembre 2026? » Avec le filtre, l’avis expiré de 2025 reste hors du contexte. Les deux modèles répondent : « Les documents ne précisent pas s’il existe une prolongation des retours des Fêtes. » C’est prudent, mais peu utile. Sans le filtre, chat-small a répondu : « Aucune prolongation des retours des Fêtes n’est indiquée pour un article livré le 10 décembre 2026. L’avis de 2025 était terminé, donc seule la politique de retour s’applique. Le délai de retour applicable est de 45 jours. » Le passage qui prouve que quelque chose est terminé est lui-même périmé. Un filtre ne peut pas le savoir.
L’abstention a aussi un coût. Traitez l’abstention comme une alerte que l’assistant déclenche, comme dans Le compromis entre précision et rappel. Voici les 67 réponses enregistrées de chat-small avec une recherche suivie d’un reclassement :
Situation réelle
Abstention
Réponse
Total
Les documents ne répondent pas
8right to abstain
0answered without support
8total
Les documents répondent
5abstained, answer existed
54answered
59total
Total
13total
54total
67total
Part des cas réels qui sont signalés (rappel) : 8 ÷ 8 = 100 %
Part des signalements qui sont vrais (précision) : 8 ÷ 13 = 61,5 %
chat-small (gpt-6-luna sur Azure), recherche suivie d'un reclassement : il s'est abstenu pour les 8 questions sans réponse dans les documents, et pour 5 des 59 auxquelles ils répondent.Description textuelle du tableau
Un tableau de deux lignes et deux colonnes. Lignes : les documents ne répondent pas (8 questions) et les documents répondent (59 questions). Colonnes : abstention et réponse. Les documents ne répondent pas : 8 abstentions justifiées; 0 réponse sans fondement. Les documents répondent : 5 abstentions malgré une réponse existante (Q13, Q26, Q28, Q36, Q60); 54 réponses. Totaux : 13 abstentions et 54 réponses. Part des questions sans réponse pour lesquelles il s’est abstenu (rappel) : 8 ÷ 8 = 100 %. Part des abstentions justifiées (précision) : 8 ÷ 13 = 61,5 %.
Et les 65 réponses terminées de gemma3:4b avec la même recherche (2 requêtes ont échoué avec HTTP 500) :
Situation réelle
Abstention
Réponse
Total
Les documents ne répondent pas
2right to abstain
5answered without support
7total
Les documents répondent
0abstained, answer existed
58answered
58total
Total
2total
63total
65total
Part des cas réels qui sont signalés (rappel) : 2 ÷ 7 = 28,6 %
Part des signalements qui sont vrais (précision) : 2 ÷ 2 = 100 %
gemma3:4b (Ollama 0.40.1), recherche suivie d'un reclassement : il s'est abstenu pour seulement 2 des 7 questions sans réponse qu'il a traitées, et jamais pour une question ayant une réponse.Description textuelle du tableau
Le même tableau pour gemma3:4b, 65 réponses terminées; Q15 et Q31 ont échoué avec une erreur HTTP 500 d’Ollama. Les documents ne répondent pas : 2 abstentions justifiées; 5 réponses sans fondement (Q14, Q16, Q19, Q20, Q21). Les documents répondent : 0 abstention; 58 réponses. Totaux : 2 abstentions et 63 réponses. Rappel de l’abstention : 2 ÷ 7 = 28,6 %. Précision : 2 ÷ 2 = 100 %.
Les deux modèles sont aux extrémités opposées. chat-small détecte chaque question sans réponse, au prix de 5 abstentions inutiles. gemma3:4b ne s’abstient jamais inutilement, au prix de 5 réponses sans fondement.
Examinez de plus près les 5 abstentions de chat-small. Pour Q13, Q28, Q36 et Q60, le passage contenant la réponse n’était pas parmi les 5 premiers résultats. D’après ce que le modèle voyait, l’abstention était justifiée. Pour Q26, le filtre de date a retiré l’avis expiré nécessaire à la réponse. Ce sont donc des problèmes de recherche et de contexte, pas du modèle. Une meilleure recherche et un meilleur contexte les corrigent, pas un modèle plus audacieux. Trouver où ça échoue les classe étape par étape.
Quelle extrémité convient le mieux à Larkfield? Un agent qui lit « les documents ne le précisent pas » perd une minute : il cherche ou demande à Grace. Un agent qui lit une réponse erronée et assurée peut donner la mauvaise garantie à un client. Pour un service de soutien, une réponse erronée coûte plus cher qu’une abstention. Grace préfère donc un rappel élevé de l’abstention. L’équipe corrige les fausses abstentions dans la recherche.
Abstenez-vous quand aucun passage ne répond à la question, ou quand les passages s’en approchent seulement. Ne vous abstenez pas quand deux documents se contredisent : montrez les deux et nommez la règle si le contexte l’inclut. Chaque abstention inutile laisse une question à laquelle l’agent doit répondre seul. Mesurez donc les deux erreurs sur votre ensemble de questions. Corrigez les abstentions inutiles à leur source, généralement dans la recherche.
Erreur courante
Chaque affirmation a une citation, donc la réponse est étayée
Symptôme : Omar demande une vérification rapide de la qualité avant le projet pilote : « Comptez les réponses où chaque affirmation indique ok (conforme). » Tomás rapporte que 4 des 5 réponses de gemma3:4b aux questions sans réponse passent toutes les vérifications. Q16 en fait partie : « Les tondeuses robotisées ont une garantie de 3 ans. »
Cause : les vérifications portent seulement sur les affirmations. L’affirmation de gemma3:4b pour Q16 cite fidèlement le tableau des garanties. L’énoncé faux se trouve dans le texte de la réponse, et aucune affirmation ne le contient. Une réponse qui devrait être une abstention peut quand même passer toutes les vérifications des affirmations.
Correction : vérifiez la réponse, pas seulement ses affirmations. Pour une question sans réponse, le bon résultat est answerable: false (sans réponse), sans aucune affirmation. L’ensemble de questions de Grace indique lesquelles n’ont pas de réponse. Le module 5 en fait une mesure : l’abstention sur les questions sans réponse et l’appui des affirmations sont évalués séparément. En attendant, lisez le texte de chaque réponse à une question sans réponse.
Ce que cela signifie pour un vrai service d’IA : une vérification de l’appui ne vaut que ce qu’elle lit. Un modèle peut placer sa supposition dans une phrase qui n’est pas vérifiée.
Exercice du module : questions avec et sans réponse dans les sources
Posez à l’assistant 4 questions auxquelles les documents répondent et 4 auxquelles ils ne répondent pas. Examinez chaque résultat. Lancez python dans le dossier du projet :
Python, in ~/projects/policy-assistant
from policy_assistant.store import Store
from policy_assistant.embed import LocalEmbedder
from policy_assistant.rerank import Reranker
from policy_assistant.search import Retriever
from policy_assistant.providers import MockProvider
from policy_assistant.evaluate import load_questions
Faites de même pour Q24, Q30 et Q38. Pour chaque affirmation, décidez : le passage dit-il cela? Écrivez « accepter » ou « rejeter » et donnez une raison.
Remplacez la liste par ["Q05", "Q22", "Q32", "Q19", "Q21"], et remplacez "chat-small" par "chat-strong". Pour chaque question, prédisez si le modèle répond ou s’abstient, et si une affirmation est signalée. Exécutez ensuite la boucle.
Pour chaque affirmation signalée, exécutez ask avec --model chat-strong et décidez : conclusion vraie ou affirmation non étayée?
Comparez avec les réponses de gemma3:4b à Q19 et Q21 dans le tableau de Preuves absentes. Écrivez une phrase pour Grace sur le comportement de chaque modèle face aux questions auxquelles les documents ne répondent pas.
Afficher les réponses aux étapes 2 et 3
Q05 answerable answered claims 2 flagged 0
Q22 version answered claims 2 flagged 1
Q32 table answered claims 2 flagged 1
Q19 unanswerable abstained claims 0 flagged 0
Q21 unanswerable abstained claims 0 flagged 0
Deux affirmations sont signalées, et les deux sont des conclusions vraies. Q22 : le 1er décembre arrive 42 jours après la livraison, et le délai est de 30 jours. Q32 : un panneau de verre qui se fissure après 18 mois dépasse sa garantie d’un an. Acceptez les deux, après avoir vérifié les calculs.
Pour Grace : « chat-strong s’est abstenu sur les 8 questions auxquelles les documents ne répondent pas. gemma3:4b a répondu à 5 des 7 questions qu’il a traitées, chaque fois à partir d’un passage voisin. Une personne doit donc lire chaque réponse. »
Pour terminer ce module, vous devez rejeter les citations inventées et trouver les affirmations non étayées, même dans des réponses plausibles. Voici six affirmations, réelles et construites. Pour chacune, lisez la question, la réponse, le passage cité et ce que cite.py rapporte. Décidez ensuite.
Explorer
Accepter ou rejeter l'affirmation
Prédisez d’abord : Pour chaque affirmation, décidez : l'accepter, la rejeter parce que la citation n'existe pas, ou la rejeter parce que le passage ne l'étaye pas. Ne vous fiez pas seulement à la ligne de vérification.
Lisez le passage et la vérification. Acceptez-vous l’affirmation?
Répondues
0 sur 6
Justes
0 sur 0
Affirmation 1 sur 6 : Lisez le passage et la vérification. Acceptez-vous l’affirmation?
Affirmation 1 sur 6 : Un nombre du passage, au mauvais endroit
gemma3:4b (local, Ollama 0.40.1)
Question Q50, date 2026-10-09
Can I give an unhappy customer a goodwill credit? How much?
Réponse
You can give an unhappy customer a goodwill store credit of up to 25 dollars without approval, once per customer in 12 months [9c59e2caec7f]. However, for amounts over 25 dollars, a team lead or support lead approval is required [2f517f5673f1]. Refunds over 300 dollars require approval from the support lead (Grace) [e50c70a93a32].
Affirmation
Refunds over 300 dollars require approval from the support lead (Grace) [e50c70a93a32].
cite e50c70a93a32
→
Passage cité
[e50c70a93a32] Warranty claims procedure | procedure, version 3, in force from 2026-01-01, no end date | section: Approval limits
Approval limits
- An agent may approve a repair, replacement or refund worth up to 300 dollars.
- From 300 dollars up to 1,000 dollars, a team lead must approve.
- Over 1,000 dollars, the support lead (Grace) must approve.
Ce que signale cite.py
- Refunds over 300 dollars require approval from the support lead (Grace) [e50c70a93a32]. [e50c70a93a32] ok
L’affirmation est fausse. Rejetez : non justifiée. Le passage dit qu’un chef d’équipe approuve de 300 à 1 000 dollars, et le responsable du soutien au-delà de 1 000. L’affirmation réutilise 300 pour une autre règle. Les nombres et les mots sont tous dans le passage, donc toutes les vérifications passent. Seule la lecture le détecte.
Source : recordings/local_gemma3.jsonl, Q50, gemma3:4b, claim 3 (a course recording, not in the project)
Six affirmations avec leurs passages cités et le résultat réel de cite.py. Les affirmations réelles indiquent leur modèle et leur date d'enregistrement; une affirmation est construite et identifiée comme telle.Description textuelle de l’explorateur
Six affirmations, une à la fois. Chaque carte présente la question, la réponse, l’affirmation et ses identifiants cités, les passages cités et la ligne affichée par cite.py. Un choix : accepter l’affirmation; la rejeter parce que la citation n’existe pas; ou la rejeter parce que le passage ne l’étaye pas.
Q50, gemma3:4b, enregistrée : « Les remboursements de plus de 300 dollars exigent l’approbation de la responsable du soutien (Grace) ». La citation renvoie aux limites d’approbation de la procédure de réclamation sous garantie. La vérification indique ok. Rejeter : non étayée. Le passage dit qu’un chef d’équipe approuve de 300 à 1 000 dollars, et la responsable du soutien au-delà de 1 000.
Q50, gemma3:4b, enregistrée : « Pour les montants de plus de 25 dollars, l’approbation d’un chef d’équipe ou de la responsable du soutien est nécessaire ». La citation renvoie aux limites d’approbation des remboursements manuels. La vérification indique number_not_found:25 (nombre introuvable : 25). Rejeter : non étayée. Le passage donne 100 et 500 dollars.
Q42, gemma3:4b, enregistrée : « Le GR-310 nécessite trois BR-310-2s », avec une citation du passage sur les pièces de barbecue. La vérification indique number_not_found:2,BR-310 (nombre introuvable : 2,BR-310). Accepter : le passage dit qu’il en faut trois; le « s » du pluriel a trompé la vérification des nombres.
Q23, chat-strong, enregistrée : « Le 15 décembre respecte le délai de retour de 45 jours pour une commande livrée le 5 novembre 2026 ». La citation renvoie au passage Return window (délai de retour) de la version 4. La vérification indique unsupported:0.43 (non étayée : 0,43). Accepter : le 15 décembre arrive 40 jours après le 5 novembre.
Construite : « Les articles inutilisés peuvent être retournés dans les 30 jours suivant la livraison », avec la citation 7839ded2d52c. La vérification indique missing_id (identifiant manquant). Rejeter : la citation n’existe pas. Le vrai passage est 7839ded2d52b.
Q16, gemma3:4b, enregistrée : une affirmation qui copie la ligne des outils électriques avec fil du tableau des garanties. La vérification indique ok. Accepter l’affirmation : le tableau le dit. Mais la réponse qui l’entoure, « Les tondeuses robotisées ont une garantie de 3 ans », n’est pas étayée.
Vous avez terminé le module quand :
python -m pytest affiche 74 passed, 1 deselected (74 tests réussis, 1 désélectionné), et python -m policy_assistant ask Q22 donne la réponse de Répondre et citer.
Vous pouvez rejeter une citation inventée, comme c23617e24d2, et expliquer quelle vérification la détecte.
Vous pouvez trouver l’affirmation non étayée dans une réponse plausible, comme celle de gemma3:4b : « Les remboursements de plus de 300 dollars exigent l’approbation de la responsable du soutien », même si chaque vérification indique ok.
Vous pouvez expliquer pourquoi chat-small s’est abstenu sur Q13, Q28, Q36 et Q60, et pourquoi c’est un problème de recherche.
Réinitialisation. Si votre projet ne fonctionne plus, renommez-le et copiez l’instantané end-of-m04, comme dans Utiliser un instantané :
Recréez l’environnement virtuel, installez les dépendances et exécutez python -m policy_assistant ingest, comme l’indique le README des instantanés. python -m pytest affiche ensuite 74 passed, 1 deselected. L’instantané contient les étapes guidées de ce module, mais pas l’exercice du module. Ces étapes ont été testées sur macOS; les commandes Windows n’ont pas été testées.
chat-small s'est abstenu sur les 8 questions sans réponse, et sur 5 questions avec réponse. Décrivez cela avec la précision et le rappel. Dites quelle erreur compte le plus pour les agents de Larkfield.
Afficher la réponse
Traitez l’abstention comme l’alerte. Rappel : 8 des 8 questions sans réponse, soit 100 %. Précision : 8 de ses 13 abstentions étaient justifiées, soit 61,5 %. Pour un service de soutien, une abstention manquée (une réponse assurée sans appui) coûte plus cher qu’une abstention inutile. Dans ce dernier cas, l’agent cherche ou demande à Grace. Dans 4 des 5 abstentions inutiles, la recherche a manqué le passage. La correction se trouve donc dans la recherche.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Pour Q26, le filtre de dates a retiré l'avis expiré des fêtes de 2025. Les deux modèles ont dit que les documents ne donnaient pas la réponse. Sans le filtre, chat-small a répondu correctement. Larkfield devrait-elle désactiver le filtre?
Afficher la réponse
Non. Sans le filtre, les mauvaises versions arrivent dans le contexte et les citations, et elles utilisent le budget. Le coût du filtre : le modèle ne peut pas dire que l’avis a pris fin. Une amélioration possible : garder les avis récemment expirés accessibles à la recherche, avec leur date de fin dans l’en-tête. Mesurez ensuite le changement sur l’ensemble des questions.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Dans Q45, les deux modèles ont montré les deux côtés de la contradiction sur les remboursements. Pourquoi ne pouvaient-ils pas citer la règle 2, et qu'est-ce qui pourrait leur permettre de l'appliquer?
Afficher la réponse
Le passage contenant les règles, When documents disagree (quand les documents se contredisent), ne figurait pas parmi les 5 premiers. Le modèle n’a donc jamais vu la règle 2. chat-strong a choisi la politique pour une autre raison : la politique de retour y renvoie. Pour appliquer la règle, le modèle doit la recevoir. Ajoutez toujours les règles de gouvernance au contexte, ou inscrivez l’ordre de priorité dans la requête (prompt). Mesurez chaque changement sur l’ensemble des questions avant de le conserver.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
Les preuves peuvent être absentes, seulement proches, contradictoires ou périmées. Les réponses honnêtes : s’abstenir; répondre seulement ce qu’elles disent; montrer les deux côtés et la règle; utiliser la version en vigueur.
S’abstenir, c’est dire « les documents ne donnent pas la réponse ». Les modèles hébergés se sont abstenus sur les 8 questions sans réponse; gemma3:4b, sur 2.
Un conflit exige les deux côtés et la règle dans le contexte. Le filtre de dates exclut la mauvaise version. Il peut aussi retirer le passage qui dit qu’une chose a pris fin.
L’abstention est un compromis entre précision et rappel. Pour un service de soutien, une abstention manquée coûte plus cher. La plupart des abstentions inutiles sont des problèmes de recherche.
Les vérifications des affirmations ne lisent pas le texte de la réponse.
Ensuite, le module 5 mesure tout cela sur l’ensemble des questions : d’abord la récupération, puis les réponses.