Agent async multi-outils
Exécuter plusieurs tool calls Python en parallèle avec asyncio.gather() : handlers async, gestion des exceptions par coroutine, et pourquoi le client API doit lui aussi devenir async.
L'ensemble des articles publiés, du plus récent au plus ancien.
Exécuter plusieurs tool calls Python en parallèle avec asyncio.gather() : handlers async, gestion des exceptions par coroutine, et pourquoi le client API doit lui aussi devenir async.
Persister l'historique d'une conversation multi-tour et gérer sa croissance : fenêtre glissante, résumé périodique, et l'impact sur le cache de contexte.
Séparer ce qui est testable de ce qui ne l'est pas dans un agent : tools purs en unitaire, boucle multi-tours avec un client factice, jamais d'appel API réel en CI.
Après le serveur minimal et les principes de sécurité, le dernier maillon du parcours MCP : brancher un tool sur une vraie base MySQL sans transformer le LLM en accès SQL arbitraire.
Coder la boucle d'un agent IA en Python sans framework : dataclasses pour les tools, dispatch, appels à l'API Claude, garde-fous contre eval() et les boucles infinies. Code complet et exécutable.
Finetuner un modèle 7B en QLoRA sur un seul GPU grand public : quantification 4 bits, configuration de l'adapter LoRA, entraînement avec trl, fusion et test — code Python complet, du chargement du modèle à l'inférence.
Claude Code est un agent IA en ligne de commande qui lit, édite et exécute du code directement dans le terminal. Ce que ça change concrètement au quotidien, et où ça bute encore.
Pinecone ou Qdrant pour 5 000 documents, c'est de l'over-engineering. Stocker les vecteurs en MySQL et faire la similarité cosinus en SQL ou PHP : quand ça suffit, et le code.
Rester sous les quotas d'un provider LLM sans tout casser : token bucket en PHP, gestion du 429, et la différence entre limite de requêtes et limite de tokens.