Y a pas que l'IA dans la vie !

IA agentique : comment construire une architecture qui ne sera pas obsolète dans 6 mois ?

Entre nous, vous n'en avez pas un peu marre d'entendre des phrases de types "Je veux un usage d'IA par mois !", ou "Posez-moi un serveur MCP ! Pourquoi faire ? Je sais pas, mais il en faut...", ou "T'as vu le dernier modèle de chez OpenMistropic ? J'ai pu refaire mon application en 2h, alors qu'il m'a fallu 3 ans pour arriver à ma première version stable avant ça !". Bref...

Néanmoins, en tant qu'architecte, on doit se poser la question : comment construire quelque chose de solide quand les fondations technologiques changent toutes les trois semaines ? Et la réponse n'est pas forcément simple...

Mais, avant de choisir le moindre outil, posez-vous ces trois questions (merci à Une année difficile pour l'inspiration😉)

  • Ai-je besoin d'IA ?
  • Ai-je vraiment besoin d'IA ?
  • Ai-je vraiment besoin d'IA maintenant ?

Si vous répondez oui à chaque étape, alors oubliez les solutions miracles propriétaires et figées. Dans le monde de l'IA, tout bouge beaucoup trop vite, et rien de neuf pour répondre à ça : il va falloir penser architecture modulaire pour rester paré à toute éventualité. Le secret ne réside pas dans le choix du meilleur modèle actuel, mais dans la façon dont vous assemblez vos composants pour rester indépendant.

C'est le principe d'une architecture en couches : chaque composant a une responsabilité unique, ils communiquent via des interfaces standardisées, et on peut en remplacer un sans tout reconstruire.

Nous allons en explorer quelques-uns, qui devraient vous permettre de vous sentir plus serein pour la suite, enfin, au moins pour 6 mois...

🧠 Servir les modèles

Tout le monde, ou presque, a déjà installé Ollama sur son PC, a testé ses premiers modèles en local (Llama, Mistral, Qwen, ...) et s'est dit : "Mais c'est carrément chouette !" (peut-être que la phrase était tout autre, mais je ne veux heurter personne...).

C'est en effet un excellent point de départ. Faire tourner un LLM à 100% sur sa propre machine, de manière confidentielle et gratuite, offre une liberté totale pour prototyper et comprendre la technologie. Et quand je dis 100%, c'est aussi 100% de votre CPU pour des modèles pas forcément au top... Le local a ses limites 😉

Mais l'effet de nouveauté passé, une question cruciale apparaît : j'ai des modèles à disposition, mais comment les connecter à mes outils métiers ?

Discuter avec une IA dans un terminal ou une interface de chat isolée ne suffit pas. Pour automatiser de vrais processus, l'IA doit pouvoir interagir avec le reste de votre écosystème d'entreprise (lire un e-mail, interroger une base de données, envoyer une notification).

Le premier réflexe, si vous avez un profil technique, est logique : écrire un script Python pour interconnecter l'API d'Ollama avec vos outils. Et pour un projet solo, ça fonctionne très bien. L'API est stable, documentée, vous maîtrisez votre code.

Le problème surgit quand on veut passer à l'échelle. Dès que vous ajoutez des conditions logiques complexes, ou que vous souhaitez permettre à des collègues non-techniques de modifier une règle métier, votre script s'alourdit de centaines de lignes de code qui n'ont plus rien à voir avec l'intelligence de vos modèles. Vous passez alors plus de temps à maintenir la tuyauterie qu'à améliorer ce qui compte vraiment.

C'est le premier signal que votre architecture a besoin d'une couche supplémentaire.

🤖 Construire les agents

Pour passer d'un modèle qui répond à un agent qui agit, il faut lui donner une structure : un objectif, des étapes, des outils, et une logique pour enchaîner tout ça.

C'est précisément ce que nous allons construire dans cette couche et deux chemins existent selon votre contexte.

L'approche visuelle - n8n

Si votre objectif est de prototyper rapidement ou d'embarquer des collègues non-techniques dans la boucle, n8n est l'outil adapté. Il vous permet de définir graphiquement vos processus métiers plutôt que de les figer dans du code et n'importe qui peut les lire, les comprendre, et les modifier sans avoir à ouvrir un terminal.

Concrètement, un flux n8n s'articule toujours autour de trois temps :

  • L'événement : un formulaire soumis, un e-mail reçu, un événement applicatif
  • La transformation : la donnée est mise en forme et transmise au modèle avec des consignes précises
  • Le routage : en fonction de la réponse, le flux est aiguillé vers l'action appropriée : création d'un ticket, archivage, alerte

C'est cette lisibilité qui fait la force de n8n dans une équipe : une règle métier qui change ne nécessite pas une PR, une relecture de code et un redéploiement (qui pourraient être fait par des agents, mais ceci est une autre histoire 😉). Elle se modifie directement dans l'interface, par la personne qui la connaît le mieux.

L'approche code-first - Mozilla AI (ou LangChain, ou ...)

Si vous préférez rester dans votre IDE et manipuler vos composants directement en Python, Mozilla AI propose une alternative légère avec deux micro-librairies open-source :

  • any-llm remplit le même rôle que LiteLLM mais dans votre code : une syntaxe unique pour appeler n'importe quel modèle, local ou Cloud. Vous intervertissez les modèles en modifiant une simple variable d'environnement, sans toucher à la logique de votre application.
  • any-agent est la brique pour construire vos agents en code pur. En quelques lignes, vous attribuez une mission à l'IA, lui injectez du contexte et de la mémoire, et lui associez des outils via MCP. Sans couches d'abstraction inutiles.

Quel chemin choisir ?

n8nMozilla AI
ProfilMixte, équipes non-techniquesDéveloppeurs
Prise en mainRapide, visuelleNécessite du code
FlexibilitéBonneTotale
Idéal pourPrototyper, automatiser des flux métiersIntégrer des agents dans une codebase existante

🔀 S'affranchir des fournisseurs de modèles

Votre architecture fonctionne. Vos agents tournent, vos flux sont en place. Puis arrive le moment inévitable : votre infrastructure locale sature, ou une tâche spécifique (analyser 300 pages de contrat, traiter un volume massif de données) dépasse ce que votre machine peut raisonnablement absorber.

Vous allez devoir solliciter un modèle Cloud ou hébergé on-premise avec de la GPU, mais ailleurs que sur votre machine ou sur votre petite VM.

C'est là que le piège se referme si vous n'y avez pas pensé en amont. Chaque fournisseur (OpenAI, Anthropic, Mistral) a son propre format d'API, ses propres paramètres, ses propres conventions. Si vos agents sont configurés directement pour parler à Ollama, migrer même partiellement vers le Cloud signifie rouvrir vos flux, réécrire vos appels, gérer de nouvelles clés pour chaque fournisseur.

LiteLLM résout ce problème en s'intercalant comme une gateway entre vos agents et vos modèles. Vos agents ne connaissent plus qu'un seul interlocuteur, avec un format standardisé. C'est LiteLLM qui se charge de traduire et router en coulisses :

  • Une tâche courante avec des données sensibles ? Routée vers votre instance Ollama locale.
  • Un document volumineux nécessitant un grand contexte ? Basculée vers un modèle Cloud.
  • Un nouveau modèle plus performant sort demain ? Ajouté en une ligne de configuration, sans toucher à vos agents.

Ce que vous gagnez n'est pas seulement de la flexibilité technique, c'est de l'indépendance stratégique. Vous ne êtes plus captif d'un fournisseur parce que votre code lui est intimement lié. Vous choisissez vos modèles pour ce qu'ils valent, pas pour ce que ça coûterait d'en changer.

🛠️ Fournir des outils aux agents

Vos agents savent raisonner, mais pour l'instant, ils travaillent en vase clos : ils ne peuvent ni lire votre calendrier, ni interroger votre base de données, ni pousser un commit sur votre dépôt Git. Pour qu'un agent soit vraiment autonome, il doit pouvoir agir sur votre SI.

Le réflexe historique était de coder un connecteur sur-mesure pour chaque outil. Fastidieux, rigide, et impossible à maintenir à l'échelle.

C'est exactement le problème que résout le protocole MCP (Model Context Protocol). Développé initialement par Anthropic et devenu depuis un standard ouvert massivement adopté par l'industrie, c'est le format universel qui permet à n'importe quel agent compatible de détecter, comprendre et utiliser un outil, sans connecteur sur-mesure.

Le principe est simple : vous exposez vos applications, vos bases de données sous forme de serveurs MCP. À partir de là, tout agent compatible peut s'y brancher instantanément, qu'il soit construit avec n8n, Mozilla AI, ou n'importe quel autre framework supportant le protocole.

Il existe déjà des serveurs MCP pour toute sorte de services (et leur nombre croît très rapidement) : calendriers, bases SQL, systèmes de fichiers, dépôts Git, outils de ticketing, Slack.

Ce qui rend MCP structurellement important pour votre architecture, c'est sa nature découplée : vos outils sont exposés une seule fois, et tous vos agents en bénéficient. Vous ajoutez un nouvel outil ? Vous créez un serveur MCP. Vous changez de modèle ou d'orchestrateur ? Vos serveurs MCP, eux, ne bougent pas.

👮‍♂️ Contrôler et sécuriser les appels aux outils

Vos serveurs MCP sont en place, vos agents s'en servent efficacement. Mais dès que vous souhaitez déployer tout ça à l'échelle d'une équipe ou d'une entreprise, une question inévitable se pose : qui contrôle ce que les agents ont le droit de faire ?

Sans couche de contrôle, un agent mal prompté peut bombarder votre base de données de requêtes, appeler des API sans restriction, ou accéder à des ressources qu'il ne devrait pas voir. Et dans la plupart des entreprises, vos systèmes existants ne parlent pas MCP, ils exposent des API REST classiques que vos agents ne savent pas adresser directement.

C'est le rôle de la Gateway MCP : s'intercaler entre vos agents et vos serveurs MCP pour jouer à la fois le rôle de traducteur et de douanier.

La traduction de protocoles d'abord. Votre agent envoie une requête au format MCP. La Gateway la réceptionne, la traduit en appel REST ou gRPC que vos systèmes internes comprennent, puis renvoie la réponse au format MCP à l'agent. Vos applications existantes n'ont pas besoin d'être réécrites pour devenir compatibles.

La gouvernance ensuite. C'est la Gateway qui gère le chiffrement, vérifie les droits d'accès de chaque agent, et applique du rate limiting, pour éviter qu'un agent bloqué dans une boucle infinie ne mette à genoux vos serveurs.

Sur le marché, deux approches coexistent. Des solutions spécialisées comme IBM ContextForge défrichent le terrain avec une vision native MCP, mais manquent encore de maturité pour de la production pure. En parallèle, des acteurs établis comme Kong ont intégré la gestion MCP dans leurs AI Gateway (exemple de la Kong AI Gateway), avec l'avantage d'une technologie éprouvée et d'un écosystème déjà en place dans de nombreuses entreprises. De plus, Kong, par exemple, permet de traduire en MCP tout service offrant une API REST, cela permet à une entreprise de rapidement MCP-iser les services existants.

Mais, on peut aussi regarder du côté de... LiteLLM ! Malgré son nom, ses fonctions s'enrichissent et il est maintenant capable d'offrir des capacités autour de MCP.

📜 Conclusion

En refusant les solutions magiques "tout-en-un" et en assemblant vos propres briques, vous disposez désormais d'un plan de montage pour une infrastructure IA robuste, interchangeable et prête pour l'avenir.

Mais avant de se lancer dans votre premier agent, il reste une ultime étape, sans doute la plus importante de toutes : revenir à notre triple question de départ.

  • Ai-je besoin d'IA ?
  • Ai-je vraiment besoin d'IA ?
  • Ai-je vraiment besoin d'IA maintenant ?

La vérité, c'est qu'en architecture comme en ingénierie, la simplicité est la sophistication suprême. Et la réponse à cette triple question est bien souvent : "non, pas toujours".

L'IA agentique est une technologie fascinante, mais elle est gourmande en ressources, introduit une part d'imprévisibilité et demande une maintenance continue. Si votre objectif est de trier des e-mails selon des mots-clés précis, un filtre RegEx ou un script traditionnel de dix lignes sera toujours plus rapide, plus fiable et moins coûteux qu'un agent LLM qui tourne en boucle. Si votre besoin est de synchroniser deux bases de données, un bon vieux connecteur d'API classique (une simple ligne droite dans n8n) fera le travail à la perfection, sans risque d'hallucination.

L'IA ne doit pas être une surcouche cosmétique pour faire "moderne", mais une réponse ciblée à un problème complexe que le code traditionnel ne peut pas résoudre (analyser du langage naturel, détecter des intentions floues, synthétiser des volumes de données non structurées).

Construire une architecture agile, c'est aussi acquérir le discernement nécessaire pour savoir quand ne pas ajouter de complexité. L'agilité, ce n'est pas mettre de l'IA partout, c'est s'assurer que le jour où vous en aurez vraiment, vraiment besoin, votre système sera prêt à l'accueillir proprement.