AI Agent Series

Building an AI agent from scratch, one stage at a time.

View the Project on GitHub the-ai-coffee/ai-agent-from-scratch

24 June 2026

Intro : Construire un agent IA depuis zéro

by mikamboo

🇬🇧 English 🇫🇷 Français

« Agent IA » est devenu l’un de ces termes qui paraissent plus compliqués qu’ils ne le sont. On parle d’agents qui raisonnent, mémorisent, utilisent des outils — et quelque part en chemin, tout cela finit par ressembler à de la magie se produisant dans une boîte noire.

J’avais envie d’ouvrir la boîte.

Cette série fait donc la seule chose qui démystifie vraiment les agents : les construire depuis zéro. Pas de frameworks, pas de magie. Juste du Python simple, et un mécanisme ajouté à la fois, jusqu’à ce qu’une simple boucle se transforme en un véritable agent capable de mémoriser, de raisonner et d’utiliser des outils.

LangGraph, CrewAI, AutoGen — ils enveloppent tous la même petite poignée de mécanismes : une boucle, un appel au modèle, un peu de mémoire, quelques outils et certaines fonctionnalités avancées. C’est tout. Et la meilleure façon de vraiment comprendre ces pièces, c’est de les écrire soi-même.

Alors écrivons-les nous-mêmes.

Une seule règle, et pourquoi elle compte

Chaque étape vit dans son propre dossier autonome sous agents/, et ajoute exactement un nouveau mécanisme par-dessus le précédent.

Cette unique contrainte constitue toute la pédagogie. Quand quelque chose finit par faire tilt — ou casse — il n’y a jamais qu’une seule chose nouvelle que ça puisse être. Vous saurez toujours exactement quelle pièce mobile vous regardez, parce que vous venez de l’ajouter.

Chaque étape est livrée avec un article comme celui-ci, expliquant pourquoi le mécanisme fonctionne comme il le fait — pas seulement ce que fait le code. Écrit en supposant que vous avez le code ouvert dans l’autre fenêtre.

Là où tout ça nous mène

On commence par une boucle qui ne fait rien d’autre qu’un écho. On termine avec un agent qui possède :

C’est exactement l’ensemble de fonctionnalités que les grands frameworks vous vendent — sauf que vous aurez construit chaque pièce à la main. La dernière étape met votre agent fait maison côte à côte avec LangGraph, CrewAI et AutoGen, pour que vous puissiez enfin voir ce que ces frameworks font réellement sous le capot. Spoiler : vous reconnaîtrez tout.

La feuille de route

# Étape Ce que ça ajoute
001 La boucle d’écho La simple boucle lire-agir-répéter, sans LLM pour l’instant.
002 L’appel au LLM L’action devient un unique appel LLM sans état.
003 L’historique de conversation Mémoire à court terme : une liste messages transportée d’un tour à l’autre.
004 Le prompt système Une persona/des instructions configurables, séparées des tours.
005 Le premier outil Le modèle peut demander un outil ; on l’exécute.
006 Fermer la boucle Le résultat de l’outil revient au modèle pour une réponse finale.
007 Une boîte à outils, pas un outil Un vrai registre : le modèle choisit parmi plusieurs outils, ou aucun.
008 La solidité avant le fond JSON invalide, outils inconnus, exceptions levées — gérés, et non fatals.
009 Donner du savoir à l’agent Les premiers outils avec de vraies tripes : recherche agentique vs. RAG sur un petit vector store.
010 Un agent qui gère le contexte Quand l’historique ne tient plus : résumer les vieux tours, garder les récents.
011 Le sous-agent — un agent comme outil Le multi-agent, démystifié : un agent comme outil, pour isoler le contexte.
012 La confiance n’exclut pas le contrôle Journalisation pensée-vs-action, plus un harnais d’évaluation scripté.
013 Le capstone Tout combiné, plus une comparaison avec les grands frameworks.

L’argumentaire de conception complet pour chaque étape — pourquoi elle est cadrée ainsi, ce qu’elle teste, et comment elle se connecte aux étapes voisines — se trouve dans ROADMAP.md.

Commencez ici

Tout commence là où commence chaque agent, dépouillé de tout le reste : une boucle. Agent-001 construit la boucle que tout le reste prolonge — pas de modèle, pas d’outils, juste le battement de cœur. On se voit là-bas.

tags: ia - agents - depuis-zero - python - llm