Première partie d'une série sur la création d'un chatbot IA bancaire de production.
Lorsque notre équipe a lancé le projet de chatbot bancaire, je pensais sincèrement que mon travail était déjà résolu.
J'étais le développeur Node.js. Mon rôle semblait d’une simplicité presque embarrassante :
C'est ça. C'est tout le travail.
Les WebSockets sont une seconde nature pour moi : j'ai construit suffisamment de systèmes en temps réel pour que je puisse probablement en câbler un à moitié endormi. Alors je suis sorti de la réunion de lancement en pensant que celle-ci allait être facile.
Le plus gros mensonge est le génie logiciel.
Utilisateur │ ▼ WebSocket │ ▼ LLM │ ▼ UtilisateurC'était l'architecture v1. Quatre cases. J'en étais fier. Cela a duré moins d'une semaine.
Quelques jours plus tard, lors d'une synchronisation avec l'équipe d'IA, j'ai posé une question qui était plus instinctive que perspicace.
Moi : « Que se passe-t-il si quelqu'un demande au bot qui a gagné le match IPL d'hier ?
Personne n'a répondu tout de suite. Quelqu'un a ri, pensant que je plaisantais. Je ne l'étais pas.
Responsable IA : "...Attendez. Que se passe-t-il ?"
Nous avons ouvert l'application et l'avons essayée, directement pendant l'appel. Le robot a répondu à la question, a fouillé une base de connaissances remplie de taux FD et de conditions de prêt, n'a rien trouvé de proche et a quand même répondu avec confiance - quelque chose de vague sur "veuillez contacter votre succursale pour des requêtes liées à la correspondance", assemblés à partir des fragments les plus proches dans la recherche vectorielle.
C'était drôle pendant une dizaine de secondes. Ensuite, ce n'était pas le cas.
Notre chatbot n’avait aucune idée du « ce n’est pas à moi de répondre ». Et je savais déjà, après des années d'expédition d'objets touchés par de vrais utilisateurs, que si j'en avais une demi-chance, quelqu'un poserait la question étrange. Pas par méchanceté. Tout simplement parce qu’une boîte de discussion l’invite.
Nous avions donc besoin d’un gardien – quelque chose qui puisse s’asseoir devant tout le reste et décider : est-ce vraiment notre problème ?
C'est la détection d'intention. Pas parce que ça sonnait bien dans une diapositive. Parce qu'un rire lors d'un appel s'est transformé en un véritable écart dès l'instant où nous l'avons testé.
Utilisateur │ ▼ Détection d'intention │ ▼ Lié à la banque ? │ ├── Oui → RAG → LLM → Utilisateur │ └── Non → Rejeter / RedirigerL'équipe d'IA m'a donné un point final. Envoyez une requête, récupérez une intention et des métadonnées. Mon côté faisait peut-être dix ligne...
[Courte citation de 8% de l'article original]