Agents d'IA locaux & systèmes multi-agents
LLM local • Tool calling • Code generation • Validation • Orchestration
Cette section présente mon travail sur des agents d'intelligence artificielle capables de planifier, coder, tester, réparer et améliorer des projets logiciels dans un workspace local.
L'objectif n'est pas seulement d'utiliser l'IA comme assistant, mais de construire une architecture d'agents capable de transformer une demande en fichiers réels, compilables et vérifiables.
Voir l'architectureRésumé du projet
Le système repose sur une logique de pipeline : un agent planifie, un ou plusieurs agents codent en parallèle, un reviewer inspecte le résultat, puis un fixer corrige les erreurs. Le but est de produire automatiquement des projets complets comme des jeux SDL2, des outils C++, des sites web ou des scripts Python.
1
Planner
Analyse la tâche, choisit les fichiers cibles et génère un plan d'exécution.
N
Coders parallèles
Produisent plusieurs candidats pour maximiser la qualité du résultat final.
∞
Review / Repair
Compile, détecte les erreurs, répare et relance jusqu'à stabilisation.
Architecture générale
Chaque étape produit une sortie structurée, idéalement en JSON, afin que l'agent principal puisse décider quoi lire, quoi écrire, quoi compiler et quoi corriger. Les meilleurs candidats sont sélectionnés puis écrits dans le dossier de travail.
Fonctionnalités construites
- Lecture et écriture de fichiers réels dans un workspace
- Décompression et analyse de projets existants
- Génération de code C++, Python, HTML, CSS et Makefile
- Compilation automatique avec capture des erreurs
- Boucle reviewer → fixer pour corriger les échecs
- Sélection du meilleur candidat entre plusieurs sorties
Problèmes résolus
- Réponses LLM non JSON ou JSON contaminé par du Markdown
- Timeouts trop courts pour les modèles locaux lourds
- Fichiers absents ou chemins workspace mal définis
- Erreurs de linking SDL2 et commandes de compilation
- Warnings séparés des vraies erreurs bloquantes
- Gestion de plusieurs rôles LLM sur différents ports
Stack technique
Runtime IA
- llama.cpp server
- Modèles Qwen Coder GGUF
- Appels HTTP locaux
- Rôles séparés par port
Agent principal
- Python
- Requests / JSON parsing
- Gestion de workspace
- Logs et diagnostics
Validation
- g++ / Makefile
- sdl2-config
- Tests de compilation
- Boucles de réparation
Exemples de tâches traitées
| Type | Exemple | Compétence démontrée |
|---|---|---|
| Jeu C++ | TicTacToe SDL2 avec IA Minimax | Génération de projet complet + compilation |
| Jeu C++ | Tetris SDL2 | Gestion d'input, rendu, boucle de jeu |
| Image processing | Classe de convolution pour flou gaussien | Architecture C++ en fichiers séparés |
| Web | Amélioration d'un site HTML/CSS | Design UI, structure et contenu |
| Agent tooling | Lecture, écriture, zip, unzip, patch | Automatisation locale contrôlée |
Vision d'ingénierie
Ce travail montre une transition importante : passer d'un modèle qui répond à une question vers un système qui agit sur un environnement contrôlé. L'agent devient une couche logicielle capable de manipuler des fichiers, d'évaluer ses sorties et de s'améliorer par itération.
Roadmap
- Phase 1 — Agent local stable : workspace, fichiers, JSON robuste, logs propres.
- Phase 2 — Compilation réelle : reviewer qui compile et transmet les erreurs au fixer.
- Phase 3 — Agents parallèles : génération de plusieurs candidats et sélection automatique.
- Phase 4 — Mémoire projet : conservation des contraintes, commandes et décisions précédentes.
- Phase 5 — Interface web : tableau de bord pour suivre tâches, fichiers, erreurs et versions.