RAG & Hermes Agent : de 11 % à 2 % d’hallucinations sur 1 200 documents internes
La questionPeut-on donner à nos équipes une réponse fiable et sourcée sur n’importe quel projet, en moins de trois secondes, à partir de notre documentation existante ?
Oui, à condition d’imposer la citation des sources et de refuser de répondre quand aucun passage ne soutient la réponse. Le reclassement fait la différence, pas le modèle.
DécisionAdopté. Intégré à Jarvis, notre assistant interne, et utilisé quotidiennement par l’équipe.
- Statut
- Concluant
- Durée
- 4 semaines
- Équipe
- 2 développeurs, 1 architecte
- Stack
- Hermes Agent
- pgvector
- BM25
- Cohere Rerank
- Claude
- MCP
Contexte
Ce qu’on a testé
- V1 : recherche vectorielle seule (embeddings, pgvector), 5 passages envoyés au modèle.
- V2 : recherche hybride, vecteurs + BM25 fusionnés, pour rattraper les termes exacts (noms de tables, codes d’erreur, références de tickets).
- V3 : V2 plus reclassement des 30 premiers passages par un modèle de rerank, 5 conservés.
- V4 : V3 plus consigne stricte : chaque affirmation doit citer un passage, et le modèle doit répondre « je ne trouve pas » si aucun passage ne soutient la réponse.
- Skills Hermes Agent : Hermes Agent est le cadre d’agents open source de Nous Research, et ses skills sont des compétences réutilisables. Nous en avons écrit une par type de question (procédure, décision, chiffre), qui adapte la requête et le format de réponse.
Résultats
- 0,61
- précision@5 en vectoriel seul (V1)
- 0,72
- précision@5 en hybride (V2)
- 0,84
- précision@5 avec rerank (V3)
- 2%
- hallucinations avec citations obligatoires (V4)
- La recherche hybride règle presque tous les échecs sur les identifiants exacts : un code d’erreur ou un nom de table ne se retrouve pas par similarité sémantique.
- Les skills Hermes Agent améliorent surtout la forme : une procédure rendue en étapes numérotées, une décision avec ses alternatives écartées. Gain de précision faible, gain d’usage réel.
- La latence médiane de 2,1 s est tirée par la génération, pas par la recherche (280 ms tout compris).
- Découpage des passages : 400 tokens avec chevauchement de 80 a donné les meilleurs résultats. Plus court perd le contexte, plus long dilue la réponse.
Ce qu’on en conclut
« Le jour où l’outil a répondu « je ne trouve pas » à une question dont j’étais sûr de connaître la réponse, j’ai vérifié : la doc n’existait pas. On l’a écrite. »
Et maintenant
- Le pipeline V4 est intégré à Jarvis, notre assistant interne, et indexe désormais la documentation de tous nos projets actifs, avec réindexation chaque nuit.
- Les questions « je ne trouve pas » sont remontées chaque semaine aux chefs de projet : c’est devenu notre meilleur détecteur de documentation manquante.
- Prochaine étape : évaluer le même pipeline sur la documentation d’un client, avec cloisonnement strict par projet.