Ale : un agent IA autonome construit avec Google ADK. 16 outils ; 31 tests sans clé API ; 2 jours de développement
IAGoogle ADKR&D

Ale : on a testé Google ADK pour construire un agent IA autonome en deux jours

Retour d'expérience de Sway sur Google ADK (Agent Development Kit) : Ale, une coach équine de poche, avec 16 outils, une mémoire longue, un réveil par géolocalisation et des tests sans clé API. Ce qui marche, ce qui manque.

5 min de lecture

Chez Sway, on teste les outils d'IA sur de vrais cas avant de les proposer à nos clients. Cette fois, on a pris Google ADK, l'Agent Development Kit de Google, et on s'est donné deux jours pour construire un agent complet. Le résultat s'appelle Ale : une coach équine de poche, mascotte licorne comprise.

Le cas d'usage : une coach pour cavalières

Gérer un cheval, c'est beaucoup de suivi : carnet de santé (vaccins, vermifuges, maréchal, dentiste, ostéo), séances de travail, poids, et surtout une ration à calculer. Quand le cheval a une pathologie chronique, les contraintes se contredisent : moins d'amidon pour l'une, plus de repas pour l'autre, certains aliments interdits.

Ale répond à ça. On lui parle en français, elle connaît les chevaux de l'utilisatrice, calcule les rations, rappelle les soins à venir, et propose des séances. Elle gère neuf pathologies courantes, avec des valeurs sourcées, et rappelle systématiquement qu'elle ne remplace pas un vétérinaire.

L'architecture

  • Un seul agent ADK, avec 16 outils : 15 fonctions Python maison (chevaux, santé, séances, nutrition, constantes, mémoire) et l'outil de mémoire fourni par ADK.
  • Gemini comme modèle, via l'API Gemini ou Vertex AI selon une variable d'environnement.
  • Une instruction dynamique, recalculée à chaque tour avec la date du jour et la liste des chevaux.
  • Une architecture hexagonale : le domaine équin est du Python pur, sans dépendance à ADK ni à la base de données. Un même port, deux adaptateurs : SQLite en production, en mémoire pour les tests.
  • Une API FastAPI et un front React aux couleurs de Sway, déployé sur Cloudflare.

Quatre choix qui ont bien marché

Le LLM parle, le code calcule

Le modèle ne calcule jamais une ration. Le moteur nutritionnel est du code déterministe : quand plusieurs pathologies s'appliquent, la contrainte la plus stricte gagne, les conflits sont signalés, et au-delà de deux pathologies Ale demande de faire valider par un vétérinaire. Le LLM sert au dialogue, pas à l'arithmétique.

Un agent proactif, sans file d'événements

Ale prend la parole toute seule quand l'utilisatrice arrive à l'écurie. Le front envoie la position GPS, le serveur détecte l'arrivée dans un lieu connu et injecte un message système de réveil. L'agent appelle alors son outil de briefing : soins du jour, rappel de la ration, séance faite ou non. Simple, et redoutablement efficace pour rendre un agent utile sans qu'on le sollicite.

Une humeur dans le texte

Chaque réponse commence par une balise d'humeur. Le serveur la retire et l'interface anime la mascotte : lèvres qui bougent pendant l'écriture, clignement des yeux, air pensif pendant l'attente. Un petit protocole texte suffit à donner de la personnalité à un agent.

Des outils qui aident le modèle à se corriger

Quand l'agent cherche un cheval qui n'existe pas, l'outil ne plante pas : il renvoie la liste des chevaux connus. Les erreurs de validation reviennent sous forme de message, pas d'exception. Le modèle se corrige seul au tour suivant.

Tester un agent sans clé API

C'est peut-être la meilleure découverte du projet. ADK permet de remplacer le modèle par un faux LLM qui hérite de sa classe de base. On l'a scripté : il appelle un outil, puis répond à partir du résultat. Toute la boucle (runner, outils, mémoire, API) se teste ainsi de façon déterministe, sans réseau et sans clé.

Au total : 31 tests côté backend, et une couverture de 100 % exigée sur les composants du front.

Ce qui manque encore

  • L'authentification : c'est un prototype, l'identifiant utilisateur vit dans le navigateur. Inenvisageable en production.
  • La mémoire longue cherche par mots-clés, sans embeddings. Ça marche pour un prototype, pas à grande échelle.
  • La gestion des fuseaux horaires reste à faire.

Notre verdict sur Google ADK

ADK fait bien ce qu'il promet : un agent, des outils en Python, des sessions, une mémoire, et une interface de dev prête à l'emploi. Ses vrais points forts sont la possibilité de tester avec un faux modèle et la séparation nette entre l'agent et son exécution. Pour un produit, il faut encore construire soi-même l'authentification, la mémoire persistante et le front.

C'est exactement le genre d'exploration qui nourrit les projets d'IA que Sway mène pour ses clients, à côté de notre IA en production, Sweet, dans Sway One.

Questions fréquentes

Qu'est-ce que Google ADK ?

ADK, pour Agent Development Kit, est le framework open source de Google pour construire des agents d'IA en Python : un modèle, des outils, des sessions et une mémoire, avec une interface de développement intégrée.

Combien de temps a pris le prototype Ale ?

Environ deux jours, du dépôt vide à l'agent déployé, avec l'API, le front, la mascotte animée et les tests.

Ale est-elle disponible au public ?

Non. Ale est un prototype de recherche interne à Sway, pas un produit commercialisé.

Sway peut-elle construire un agent IA pour mon entreprise ?

Oui. Sway conçoit des agents qui agissent dans vos outils, avec des calculs fiables côté code, des garde-fous et des tests automatisés.

À lire aussi