Votre message a été envoyé.
Nous traiterons votre demande et vous contacterons dès que possible.
Le formulaire a été soumis avec succès.
Vous trouverez de plus amples informations dans votre boîte aux lettres.
Sélection de la langue
29 avril 2026
10 min de lecture

Les frameworks d'agents prêts à l'emploi ne suffisent pas dans le secteur bancaire. Oui, c'est par là que je commencerais, et non, une stratégie de prompt plus claire ou une passerelle API plus stricte n'y changent rien.
Une infrastructure standard comprenant LangChain, des outils, une base de données vectorielle et une passerelle API permet de rendre un agent opérationnel. Celui-ci est capable d’acheminer une intention, de récupérer le contexte, d’appeler un outil et de renvoyer une réponse aboutie. Très bien. Mais dans le secteur bancaire, les difficultés ne se situent pas au niveau de la simple capacité à “ appeler l’API ”. Le secteur bancaire échoue au niveau suivant : “ Cet appel a-t-il été autorisé, circonscrit, vérifié, consigné et peut-il être présenté sans risque à ce client ? ”. C'est un autre problème d'architecture.
Il y a trois raisons pour lesquelles je n'intégrerais pas une pile d'agents générique à proximité des flux de travail bancaires en production sans ajouter une couche de confiance dédiée.
Tout d'abord, les données financières sont des données relatives au passif. Une réponse erronée fournie par un chatbot destiné à la vente au détail est gênante. Une erreur concernant le solde, le statut d'une transaction, l'explication des frais ou une décision de crédit peut entraîner un risque juridique. En vertu de la Obligation de la FCA envers les consommateurs, par exemple, l'établissement doit démontrer que ses clients bénéficient d'un accompagnement équitable, compréhensible et adapté. Si le modèle propose une option de remboursement erronée ou explique un produit de manière incorrecte, on ne peut pas s'en désintéresser en rejetant la faute sur “ l'IA ”. La banque est responsable du résultat. L'architecture doit donc traiter chaque affirmation factuelle comme un élément à vérifier par rapport à un système source.
Deuxièmement, la multi-location n'est pas seulement un choix de conception du produit. Si vous servez plusieurs clients bancaires, commerçants, unités opérationnelles ou régions à partir d’une seule plateforme, l’isolation des locataires doit être assurée à chaque niveau : invites, mémoire, index vectoriels, autorisations d’outils, journaux, clés Redis, lignes de base de données, secrets et exportations d’audit. Une seule fuite inter-locataires ne constitue pas un simple ticket de bug. Il peut s’agir d’un incident à signaler. C’est pourquoi je n’apprécie pas les architectures dans lesquelles l’agent dispose d’un accès étendu et où la couche applicative “ se souvient ” de filtrer les données ultérieurement. C’est précisément ce filtrage a posteriori qui est à l’origine des fuites de données.
Troisièmement, le LLM est l'élément le moins fiable de la chaîne. Cela peut paraître sévère, mais c'est une hypothèse justifiée. Le modèle est probabiliste. Il peut suivre des instructions malveillantes, accorder une confiance excessive au contexte récupéré ou divulguer des données à caractère personnel dans un résumé. Il peut générer un appel d'outil qui semble valide jusqu'à ce que l'on examine les paramètres. Je ne laisserais donc jamais le modèle interagir directement avec les API bancaires centrales.
L'approche la plus sûre consiste à laisser le modèle raisonner, tout en conservant l'application des règles dans des systèmes déterministes. Le raisonnement relève de la couche des agents. L'application des règles relève des validateurs de schémas, des contrôles de politique, des autorisations au niveau du locataire, des portes d'approbation et des journaux d'audit. Une fois cette distinction établie, l'architecture cesse d'être une chaîne d'appels d'API pilotés par un modèle pour devenir un système de confiance contrôlé, dans lequel le LLM est considéré comme un composant de raisonnement utile mais peu fiable.
Une certaine approche facilite la mise en œuvre de cette distinction. Lorsque j’examine un agent bancaire, la question qui m’intéresse est de savoir quel niveau d’autorité il détient et quelle distance cette autorité doit parcourir depuis la personne qui la lui a conférée. La « capacité » indique la qualité de la démonstration. L’« autorité » détermine le degré de contrôle que le système est autorisé à exercer. Un modèle brillant relié à des outils en lecture seule est un assistant léger. Un modèle peu performant disposant d’une clé permanente permettant de transférer des fonds pose un problème différent et nécessite toutes les couches sous-jacentes. Dans cet article, je divise cet axe d’autorité en quatre catégories : assistant, orchestrateur, opérateur et acteur économique. Tous les agents ne sont pas des acteurs économiques.

Andrew traduit les concepts décentralisés en outils financiers sécurisés et fonctionnels. Il navigue dans le paysage volatile de DeFi pour construire des infrastructures blockchain évolutives qui répondent à l'utilité du monde réel, dépassant les mots à la mode pour offrir une valeur technique.
Dans le secteur bancaire, un modèle de confiance à quatre niveaux facilite le contrôle, l'audit et la protection de l'architecture. Il impose à chaque étape de se poser une question délicate : que doit-on autoriser cette partie de la pile à savoir, à décider et à modifier ?
Un agent bancaire peut se présenter comme un produit unique, mais il ne doit pas fonctionner comme un système monolithique. Le client ne doit pas avoir connaissance du cœur de métier bancaire. L'agent ne doit pas appeler directement les API financières. La passerelle ne doit pas improviser. Le cœur de métier bancaire ne doit pas se fier aux requêtes générées par un modèle simplement parce qu'elles proviennent d'un canal approuvé.
Voici le chemin d'accès que je m'attendrais à voir dans une configuration de production :
Ces quatre couches devraient être des limites contraignantes entre les zones de confiance. Si l'agent a besoin de données relatives à un compte, celles-ci transitent par la passerelle. S'il prépare un paiement, celui-ci transite par la passerelle. S'il a besoin de faire appel à un prestataire externe spécialisé dans la vérification d'identité (KYC), la lutte contre le blanchiment d'argent (AML), les cartes bancaires ou la lutte contre la fraude, la demande passe tout d'abord par le système bancaire central.
En gardant à l'esprit ce chemin de contrôle, examinons chaque couche tour à tour pour déterminer ce dont chacune doit être responsable, ce à quoi elle ne doit jamais toucher, et à quel niveau le transfert nécessite une vérification approfondie.
La couche client est le point de rencontre entre l'utilisateur et l'agent, mais elle doit rester légère. Les applications mobiles, les applications web, les widgets de chat, les interfaces vocales et les messageries instantanées ne doivent pas intégrer de logique bancaire. Leur rôle consiste à capturer la requête, à transmettre l'identité et le contexte de session, à afficher la réponse et à transférer tout élément sensible aux couches sous-jacentes.
| Interface client | Pile type | Ce qu'il devrait posséder |
|---|---|---|
| Application mobile | React Native | Interaction avec l'utilisateur, contexte de l'appareil, notifications push |
| Application web | React | Sessions bancaires authentifiées, état de l'interface utilisateur, affichage des réponses |
| Widget de chat | SDK Web | Processus d'assistance intégrés, portails marchands, points d'accès au service client |
| Messagers | WhatsApp, Telegram, iMessage | Mise en forme et diffusion adaptées à chaque chaîne |
| Voix | WebSocket | Sessions de reconnaissance vocale en temps réel et gestion des interruptions |
| Agents externes | MCP | Points d'entrée contrôlés entre agents ou entre un agent et le système |
Cette règle du « client léger » façonne également la pile périphérique. Vous avez toujours besoin des composants habituels du périmètre : Cloudflare pour le filtrage du trafic, une passerelle API pour le routage et la limitation de débit, ainsi qu’une couche BFF reliée à Auth0 ou Firebase pour la gestion des sessions spécifiques à chaque canal. Mais rien de tout cela ne doit transformer le client en un composant bancaire. Le client communique avec la plateforme. Il ignore comment fonctionnent les comptes, les paiements, le KYC, la lutte contre le blanchiment d’argent ou les cartes, et il n’accède en aucun cas directement à ces systèmes.
La couche d'orchestration est la salle de contrôle du système d'agents. Elle détermine si une requête relève d'une intervention d'assistance rapide ou d'un workflow réglementé, quel état doit être rétabli, quel contexte peut être communiqué au modèle en toute sécurité, et s'il convient même de préparer l'appel d'un outil.
C'est à ce stade que je vérifierais s'il existe une dette architecturale : des règles de paiement enfouies dans les invites, d'anciennes conversations utilisées pour indiquer l'état d'un workflow, ou des outils visibles en dehors du tenant, du canal ou du rôle utilisateur actuel. Si vous constatez cela, c'est que la conception s'écarte déjà de l'objectif initial.
Six critères permettent généralement de déterminer si l'architecture est sérieuse :
| Composant | Emploi principal | Contrôle spécifique au secteur bancaire |
|---|---|---|
| Agent, routeur et répartiteur | Classifie la requête et sélectionne le chemin d'accès à l'agent | Empêche les flux de travail réglementés d'être gérés par un agent de niveau inférieur |
| Gestionnaire de conversations | Conserve l'état de la session et du flux de travail | Prend en charge le changement de canal, la reprise et la remontée vers un interlocuteur humain |
| Gestionnaire de fenêtres de contexte | Détermine ce que le modèle peut voir | Réduit l'exposition des données à caractère personnel, les contextes obsolètes et les invites bruitées |
| Exécuteur d'outils | Exécute les appels d'outils selon les règles d'exécution | Gère les paramètres, les délais d'attente, les tentatives de reconnexion et les erreurs structurées |
| Portail LLM | Demandes relatives au modèle « Routes » | Applique les politiques de locataire, les règles de repli et les budgets de jetons |
| Pipeline « Safeguard » | Vérifie les données d'entrée et de sortie | Empêche les injections de code, les fuites de données à caractère personnel, les allégations non fondées et les violations des politiques |
Le routeur doit classer la demande avant que l'agent ne se pose trop de questions. Une question sur le statut d'une carte et un processus de préparation du paiement ne doivent pas suivre le même chemin. L'un doit être rapide et bien ciblé, tandis que l'autre nécessite une planification, des vérifications et des étapes d'approbation avant que le processus ne puisse avancer.
| Itinéraire | Modèle d'agent | Meilleur pour | Commande principale |
|---|---|---|---|
| SIMPLE | SimpleReactAgent | Relevé de compte, état de la carte, FAQ, consultation des transactions récentes | Contexte succinct, outils limités, faible latence |
| DEEP | DeepAgent | Souscription, litiges, mise en conformité KYC, préparation des paiements | Planification en plusieurs étapes, état, branchements, pauses d'approbation |
L'impact sur la latence est important. Si chaque requête passe par un DeepAgent, le produit donne l'impression d'être lent et coûteux. Si tout passe par un SimpleReactAgent, le système devient risqué dès lors que l'utilisateur demande une opération impliquant des données réglementées ou une action financière. Le routeur permet de garder ce compromis bien en vue.
Le gestionnaire de conversations assure la continuité du dossier d'une session à l'autre, d'un appareil à l'autre et tout au long des étapes d'escalade. Les utilisateurs des services bancaires ne terminent pas toujours une démarche au cours d'une seule conversation : ils peuvent commencer sur leur mobile, poursuivre sur le Web, télécharger des documents ultérieurement ou être redirigés vers un conseiller.
| Couche d'état | Stockage | Ce qu'il contient |
|---|---|---|
| État chaud | Redis | Tour actuel, contexte de session éphémère, résultats temporaires des outils, état du canal |
| État froid | PostgreSQL + LangGraph : création de points de contrôle | Étape du workflow, décisions antérieures, validations, contrôles ayant échoué, points de reprise |
| État d'escalade | Offre de transfert structurée | Objectif de l'utilisateur, vérifications effectuées, risques en suspens, outils utilisés, prochaine action prévue |
La fonctionnalité de points de contrôle de LangGraph s'avère utile dans ce cas, car le flux de travail n'a pas besoin d'être intégré à l'historique de la conversation. Il peut être mis en pause, repris, dérivé ou restauré à partir d'un état connu. Et si le dossier est transféré à un opérateur humain, celui-ci doit le recevoir tel qu'il se présente à ce moment-là : ce qui a été vérifié, ce qui a échoué, ce qui est en attente et la suite des opérations prévue.
Le gestionnaire de fenêtre contextuelle détermine les informations auxquelles le modèle a accès. Dans le secteur bancaire, ce choix a une incidence sur la divulgation des données, la qualité des réponses et la traçabilité. Le modèle a besoin d’un contexte suffisant pour fournir des réponses pertinentes, mais il ne doit pas nécessairement avoir accès à tous les anciens messages, à tous les documents récupérés ni à toutes les données brutes relatives aux clients.
| Mécanisme | Fonctionnalités | Pourquoi c'est important |
|---|---|---|
| Fenêtre coulissante | Permet de conserver les derniers virages disponibles | Permet de maintenir le fil de la conversation à court terme |
| Résumé sémantique | Compresse les anciens messages en un enregistrement structuré | Permet de conserver l'historique sans surcharger l'invite de commande |
| Récupération de vecteurs | Extrait les passages pertinents relatifs aux politiques, aux produits ou aux documents | Réduit le contexte non pertinent |
| Journal d'actions structuré | Enregistre les appels, les validations, les refus et les réponses des sources | Fournit au modèle une vue claire de ce qui s'est passé, facilitant ainsi l'audit |
C'est le journal d'actions structuré qui retiendrait particulièrement mon attention. L'historique des discussions est confus, car il contient des corrections apportées par les utilisateurs, des réponses incomplètes, des pistes abandonnées et des hypothèses obsolètes. Le modèle devrait s'appuyer sur la trace des actions lorsqu'il a besoin de savoir ce que le système a réellement fait.
C'est au niveau de l'exécuteur d'outils que l'intention du modèle se traduit par un appel système. L'agent peut suggérer un appel d'outil, mais c'est l'exécuteur qui contrôle l'exécution.
| Contrôle d'exécution | Comportement attendu |
|---|---|
| Sandboxing | L'exécution de l'outil s'effectue dans un contexte isolé |
| Temps morts | Les appels de longue durée échouent proprement au lieu de bloquer le flux de travail |
| Injection de contexte | user_id, tenant_id, chat_id et correlation_id proviennent de la plateforme |
| Validation Zod | Les données d'entrée sont vérifiées avant l'exécution |
| Erreurs de structure | Les échecs renvoient des motifs lisibles par machine |
| Politique de nouvelle tentative | Les échecs temporaires peuvent faire l'objet d'une nouvelle tentative ; ce n'est pas le cas pour les appels interdits ou non valides. |
Il convient de souligner le cas des champs d'identité. Le modèle ne doit pas fournir les valeurs user_id, tenant_id ou correlation_id. Ces valeurs doivent provenir du contexte de la plateforme après authentification. Sinon, le modèle risquerait de définir les limites d'accès, ce que cette architecture cherche justement à éviter.
LLM Gateway centralise l'accès aux modèles. Sans cet outil, la logique des fournisseurs se disperse entre les services, le code des workflows et les modèles de prompt. Cela devient difficile à gérer au sein d'une plateforme bancaire multi-locataires.
| Fonction passerelle | Exemple de contrôle |
|---|---|
| Routage des fournisseurs | Claude comme option principale, GPT-4o comme solution de secours |
| Politique relative au modèle par locataire | Un locataire autorise le recours à une solution de secours ; un autre exige un fournisseur spécifique |
| Acheminement basé sur les workflows | Les flux de travail approfondis utilisent des modèles plus puissants ; les opérations courantes utilisent des modèles plus légers. |
| Budgets en jetons | Limites par locataire, workflow, session utilisateur ou tour |
| Règles de basculement | La solution de secours ne s'exécute que si le locataire et la tâche l'autorisent |
Même si les fournisseurs changent, la plateforme a toujours besoin d'un point centralisé permettant de déterminer quel modèle traite quelle requête, selon quelle politique de locataire, dans le cadre de quel budget et avec quelle solution de repli autorisée.
Le pipeline Safeguard encadre l'agent avant et après le raisonnement. Ici, l'aspect architectural essentiel est le timing : les vérifications en entrée doivent s'exécuter avant que le modèle n'élabore son plan, et les vérifications en sortie doivent s'exécuter avant que l'utilisateur ne voie la réponse ou que le système ne lance une action.
| Garde | Position | Ce qu'il vérifie |
|---|---|---|
| Détection rapide des injections | Saisie | Tentatives visant à contourner les instructions, à révéler des informations contextuelles cachées ou à utiliser des outils à mauvais escient |
| Outil de masquage des données à caractère personnel | Saisie | Valeurs sensibles qui ne doivent pas être intégrées inutilement dans le contexte du modèle |
| Llama Guard | Saisie | Contenu utilisateur dangereux, suspect ou interdit |
| Détection des hallucinations | Sortie | Soldes, identifiants de transaction, limites, taux, statuts ou résultats KYC non pris en charge |
| Politique de conformité Engine | Sortie | Plafonds de transfert, isolation entre locataires, blocage OFAC, seuils d'approbation |
L'agent peut rédiger la réponse ou préparer l'étape suivante. Le pipeline détermine si cette réponse peut être affichée, bloquée, faire l'objet d'une nouvelle tentative, être transmise à un niveau hiérarchique supérieur ou être soumise à un processus de validation.
Dans cet article, je me limiterai à aborder la passerelle au niveau de l'architecture. En résumé : elle doit transformer une intention définie par un modèle en une requête système contrôlée. Cela implique de vérifier les autorisations du locataire, de valider le contenu de la requête par rapport aux schémas, d'appliquer les règles d'approbation, d'enregistrer l'action et de déterminer si la requête peut se poursuivre, échouer ou être transmise à un intervenant humain.
La couche 4 abrite les systèmes bancaires proprement dits : comptes, paiements, cartes, KYC, AML, lutte contre la fraude, services de registre et prestataires externes. Dans de nombreuses implémentations, cette couche est déjà en place, souvent sous la forme de microservices Spring Boot ou d'un ensemble d'API bancaires centrales existantes.
La plateforme d'IA ne doit pas modifier cette couche. Elle doit s'y intégrer. Cette séparation est importante car elle garantit la portabilité de l'agent. Si une banque change de prestataire KYC, ajoute un fournisseur de solutions anti-fraude ou passe d'un système bancaire central à un autre, la couche d'IA ne doit pas nécessiter une refonte complète. La passerelle et les API centrales prennent en charge cette complexité.
J'éviterais également de laisser l'agent contacter directement des prestataires externes. Si les contrôles anti-blanchiment, l'émission de cartes, l'acheminement des paiements ou les vérifications KYC s'effectuent en amont des services bancaires centraux, l'agent doit respecter cette limite. Les services bancaires centraux restent la source d'exécution et d'enregistrement. L'agent reste un utilisateur contrôlé des fonctionnalités approuvées.
Faisons en sorte qu’ils soient suffisamment sûrs pour être utilisés dans des processus financiers réels.
Votre message a été envoyé.
Nous traiterons votre demande et vous contacterons dès que possible.