Ce qui se casse quand on exécute des agents de codage sur de petits modèles locaux

Après des semaines à exécuter de vraies tâches de codage multi-fichiers via de petits modèles locaux (moins de 7B) et de petits modèles cloud sur des offres gratuites, un utilisateur de Reddit a documenté des points de défaillance récurrents, au-delà du bruit habituel des benchmarks. Voici ce qui coince vraiment.
Les délimiteurs Markdown sont la panne la plus fréquente
Même avec "afficher uniquement du code brut, sans formatage markdown" dans le prompt système, la plupart des modèles encapsulent leurs réponses dans des triples backticks. Qwen3.5:9b et Gemma4:e4b suivent le mieux les instructions mais dérapent encore parfois. La solution n'est pas un meilleur prompt — c'est de supprimer les délimiteurs en post-traitement par défaut.
Les sorties structurées ne sont pas fiables en dessous de 7B
Lorsque les agents ont besoin de JSON pour des listes de tâches ou des types d'action, les petits modèles échouent bien plus souvent que ne le suggèrent les benchmarks. Les benchmarks testent du JSON valide ; l'usage réel ajoute des instructions complexes en plusieurs étapes avec des cas limites. Gemma4:e4b est le plus fiable parmi les modèles locaux ; Qwen3.5:9B suit de près. Codellama galère. Dans le cloud, Llama 3.3 70B sur Groq est très solide. Solution pratique : valider le JSON, réessayer une fois avec une instruction explicite, puis utiliser un analyseur permissif qui extrait le JSON du texte.
Les modèles modifient le mauvais fichier
Donnez à un petit modèle la tâche de renommer validateToken en verifyToken avec un plan de projet contenant des noms similaires, et il peut renommer validateUser ou modifier un fichier complètement différent. Le modèle traite le plan de projet comme des suggestions, pas des contraintes. Correction au niveau de l'orchestration : valider que les chemins de fichiers existent et que les noms de fonctions sont dans les fichiers déclarés. Renvoyer des erreurs en cas de divergence — les petits modèles mentent avec assurance.
Classification question vs action
Demander « combien de lignes fait utils.js » devrait être une opération en lecture seule. Mais si l'exécuteur n'a qu'un seul mode d'édition, il éditera le fichier pour y mettre la réponse. La solution : le planificateur doit classer les requêtes en types d'action avant exécution. Les requêtes en lecture seule sont dirigées vers un chemin de code séparé qui ne touche jamais au disque.
Ce qui fonctionne mieux que prévu
- Respect du budget de tokens dans le code : Compter les tokens avant chaque appel ; les petits modèles n'ont pas conscience des limites de contexte et ne seront pas concis si on leur fait confiance.
- Isolation par fichier : Envoyer un fichier à la fois est nettement plus fiable que deux — les modèles mélangent les corrections.
- Mémoire synthétique : Stocker un résumé d'une phrase de ce que le modèle a fait, pas la liste complète des tâches. Fonctionne pour les annulations et les requêtes additives.
Encore à déterminer
Si un modèle local de moins de 7B est viable pour un rôle d'agent — l'auteur n'en a pas encore trouvé un qui n'échoue pas assez souvent sur les sorties structurées. Banc de test open source sur github.com/razvannec pour les contributions.
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

Comment exécuter OpenClaw entièrement en local avec Ollama
Un post sur Reddit décrit une méthode pour exécuter OpenClaw entièrement en local, sans recourir à des API cloud ou à une facturation par jeton, en utilisant Ollama et LLMFit pour évaluer les performances des modèles locaux.

Liste de configuration d'OpenClaw : six étapes cruciales pour les nouveaux utilisateurs
Un post Reddit détaille six étapes de configuration essentielles pour les utilisateurs d'OpenClaw : changer le modèle par défaut d'Opus à Sonnet pour réduire les coûts, verrouiller l'hôte de la passerelle sur 127.0.0.1 pour la sécurité, créer un fichier SOUL.md pour la personnalité de l'agent, éviter d'installer des compétences initialement, ne pas créer plusieurs agents, et utiliser la commande /new pour gérer le contexte de conversation.

Utiliser l'IA comme partenaire cognitif plutôt que comme usine à code
Un post sur Reddit propose un prompt système appelé 'Cognitive Authorship Copilot' qui force l'IA à agir comme un partenaire de programmation en binôme plutôt que comme un générateur de solutions autonome, avec trois niveaux d'intervention basés sur la complexité de la tâche.

Optimisation de GLM-4.7-Flash sur Mac Mini M4 avec 24 Go de RAM
Un développeur partage des détails de configuration spécifiques pour exécuter GLM-4.7-Flash sur un Mac Mini M4 avec 24 Go de RAM, incluant la quantification Q3_K_XL, une taille de contexte de 32k avec MLA, et les réalités d'allocation mémoire pour Metal.