Building an AI agent from scratch, one stage at a time.
View the Project on GitHub the-ai-coffee/ai-agent-from-scratch
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.
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.
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.
| # | É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.
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