Solutions · Services financiers
Un agent qui classe des mouvements d’argent en choisissant dans une liste fermée, au lieu d’écrire une phrase qu’ensuite quelqu’un interprète.
Dans une organisation financière, un agent utile ne donne pas de conseils et n’approuve rien : il lit des documents et des transactions, les classe dans une catégorie d’un ensemble fixe, indique son niveau de certitude et a le droit de répondre « je ne sais pas ». Le reste — la décision, l’approbation, la politique — reste entre les mains des humains.
Offre, avec conditionsNu scriem „livrat”, pentru că nu avem un agent de acest fel pus în producție la un client din sectorul financiar. Ce avem, și arătăm exact ca atare, e o conductă proprie de ingestie care rulează pe datele noastre: cinci module Python, 1.526 de linii, care citesc notificări bancare din e-mail și extrase în PDF, clasifică fiecare tranzacție prin unelte și o scriu în PostgreSQL cu dedublare, plus patru fluxuri de automatizare pentru webhookuri de la trei procesatori de plăți. Starea reală, spusă în aceeași frază: depozitul nu e sub git, directoarele `tests/` și `webhook-server/` sunt goale, iar potrivirea aproximativă a numelor de contrapartidă folosește o euristică de n-grame marcată în cod ca „de înlocuit cu un serviciu de înglobare înainte de producție”. Partea de platformă financiară în producție — flux de cerere, contract, grafic de plăți, audit — e o lucrare separată, cu dovezile ei, și acolo scriem „livrat”.
Les demandes d’agents AI dans les services financiers prennent presque toujours la forme « répondre aux clients à des questions sur nos produits ». C’est une demande légitime, mais ce n’est pas là que l’on gagne du temps. Le temps se perd ailleurs : quelqu’un ouvre chaque jour des dizaines de notifications bancaires et de relevés, regarde une description du type une chaîne de majuscules avec un code et décide si c’est un encaissement client, un salaire, un impôt, une échéance vers un créancier ou une dépense d’exploitation. Ce travail est répétitif, ennuyeux et, précisément pour cela, plein d’erreurs.
Un modèle linguistique y est bon, à une condition : qu’on ne lui demande pas d’écrire une réponse en texte libre. Si vous lui demandez une phrase, vous la parserez vous-même, et vous la parserez mal. Dans notre conduite, le modèle n’écrit pas : il reçoit sept outils et doit en appeler exactement un — encaissement client, salaire, impôt, paiement vers un créancier, dépense d’exploitation, commission bancaire ou inconnu. Chaque outil demande, en plus du nom de la contrepartie ou de la catégorie, un score de confiance entre 0 et 1. « Inconnu » demande une raison écrite. La sortie est une structure, pas un avis.
La deuxième règle est que rien n’entre deux fois. Chaque transaction extraite d’une notification ou d’un relevé reçoit un identifiant externe calculé comme un préfixe de 16 caractères d’une empreinte SHA-256 sur ses champs, la colonne est unique dans la table, et l’insertion se fait avec `ON CONFLICT (external_id) DO NOTHING`. Conséquence pratique : la boîte mail peut être relue autant de fois que vous voulez, et le solde ne double pas. Sans cette règle, toute conduite d’ingestion financière finit, à la troisième semaine, par produire des doublons que quelqu’un nettoie manuellement.
Ce qu’un tel agent ne fait pas, et pourquoi il est important de l’écrire sur la page : il n’approuve pas un paiement, ne prend pas de décision de crédit, ne donne pas de recommandations d’investissement et ne répond pas au client au nom de l’institution. Le score de confiance qu’il renvoie est l’évaluation du modèle sur lui-même, pas une mesure de l’exactitude faite par nous — cette distinction est la différence entre un outil et une illusion de contrôle.