simple-agent-ia, un agent IA sans framework
Un agent conversationnel en Python, construit sans framework pour comprendre comment un agent appelle des outils.
- Statut
- expérimental
- Contexte
- Projet personnel
- Stack
- Python · Google Gen AI SDK · Gemini · uv · ruff · mypy
Contexte
Les frameworks d’agents et l’appel de fonctions automatique cachent la mécanique d’un agent. Qui décide d’appeler un outil, qui l’exécute, comment le résultat revient-il au modèle ? Pour le comprendre, je construis un agent avec le seul SDK Google Gen AI pour parler à Gemini, et du Python simple pour tout le reste.
Ce que j’ai construit
- Chat interactif dans le terminal, avec la mémoire de la conversation : tout l’historique est envoyé au modèle à chaque tour.
- Appel d’outils géré à la main : le modèle demande un outil d’après son nom, sa description et son schéma JSON ; l’agent l’exécute et lui renvoie le résultat.
- Plusieurs appels d’outils en parallèle dans une même réponse. Une erreur d’outil est transmise au modèle au lieu d’arrêter l’agent.
- Un tour n’entre dans l’historique qu’une fois terminé : une erreur d’API ou un Ctrl+C laisse la conversation intacte.
- Contrôles ruff et mypy en mode strict, avant chaque commit et dans GitHub Actions.
Où en est le projet
Fait : la mémoire de conversation, le chat dans le terminal et l’appel d’outils écrit à la main.