Ce qui se passe
La plupart des billets sur l'IA en local montrent le cas qui marche. Ici, un développeur a pris six de ses workflows
n8n et les a branchés sur un petit modèle, en comptant ce qui casse. Protocole : n8n 1.123.84 auto-hébergé, Qwen
1.8B quantifié en Q4_K_M, servi par Ollama sur CPU via son point d'accès compatible OpenAI (/v1), température 0,2,
response_format: json_object, chaque cas joué 3 fois, une variante « gardée » (un nœud Code vérifie la sortie
avant toute action) comparée à la variante brute. Total : 192 exécutions.
Ce qui casse, et ce qui tient
Le point rassurant d'abord : 0 réponse sur 192 en JSON invalide. Avec le mode JSON d'Ollama, le format n'est plus le risque. Les erreurs sont dans le contenu :
| Workflow | Ce qui a cassé |
|---|---|
| Qualification de leads | score et catégorie contradictoires dans 13 cas sur 18 ; 7 sur 18 auraient alerté Slack (score ≥ 70) pour un lead qui n'était pas chaud |
| Extraction de factures | mauvaise date 5/18, mauvais total 3/18, numéro de facture inventé 3/18 |
| FAQ | sur une question absente de la base, un « non, pas de formule annuelle » catégorique, 3 fois sur 3 |
| Réponse aux avis (prompt seul) | formules de robot dans 16 réponses sur 24 |
| Tri d'e-mails durci | injections de prompt : 0/18 réussies ; bonne catégorie sur les e-mails normaux seulement 12/18 |
Deux exemples parlent d'eux-mêmes. Le reçu d'un café daté « 02/11/2026 » est lu comme le 11 février 2026 à chaque essai,
alors qu'il s'agit du 2 novembre : le modèle suppose l'ordre américain. Et sur un relevé AWS, le total extrait (62,93) n'apparaît nulle part dans le document,
qui affiche Total $54.61 : le modèle a additionné lui-même et s'est trompé.
Le tri d'e-mails durci a tenu parce que le modèle ne choisit pas l'action : le code le fait. Le modèle a bien suivi l'attaque dans sa sortie brute à 3 reprises, sans conséquence.
Comment s'y prendre
- Ne pas laisser le modèle noter. Lui faire extraire des faits (budget, décisionnaire, délai en semaines, taille de l'entreprise) et calculer le score dans un nœud Code.
- Vérifier chaque valeur extraite contre le texte source. Ce contrôle a repéré le faux total AWS 3 fois sur 3.
- Ajouter des règles métier que la validation de type ne voit pas : locale des dates, fenêtre de ±60 jours autour d'aujourd'hui, refus des numéros de facture commençant par « Account ».
- Faire citer la ligne de la base de connaissances (
kb_line, ounone) et escalader en code si elle manque. - Traiter un booléen manquant comme « un humain doit regarder » :
escalate: nullne doit jamais valoir envoi automatique.
Pour reprendre les workflows du dépôt arkintof/n8n-ai-agent-workflows, il suffit de changer deux valeurs du nœud
Config : baseUrl: 'http://127.0.0.1:11434/v1' et le nom du modèle.
Source : DEV Community. Source en anglais.