AuditCopilot: LLMs per a la detecció de frau en la comptabilitat de partida doble
L'article que estic llegint aquesta setmana és AuditCopilot: Leveraging LLMs for Fraud Detection in Double-Entry Bookkeeping (arXiv:2512.02726), presentat al desembre de 2025 per Kadir, Macharla Vasu, Nair i Sonntag. Se situa a la intersecció de la recerca d'agents LLM i el compliment financer: utilitzar models fundacionals per detectar assentaments comptables fraudulents en llibres majors corporatius reals. De tots els articles de la llista de lectura de Bean Labs fins ara, aquest és el que es refereix més directament al mateix format de dades crues que ens interessa.
L'article
Tota auditoria d'empresa pública —obligatòria segons l'estàndard d'auditoria AS 2401 de la PCAOB— ha d'incloure Proves d'Assentaments Comptables (JET): verificacions sistemàtiques sobre el llibre major per a assentaments que s'identifiquen mitjançant heurístiques basades en regles. Les regles són coses com "assentament registrat després de mitjanit", "import rodó", "parella de comptes inusual" o "assentament registrat per un usuari poc actiu". Aquestes regles funcionen, però generen volums enormes de falsos positius: els auditors passen la major part del temps descartant soroll obvi.
AuditCopilot es pregunta si els LLM poden substituir o augmentar aquestes regles. El sistema passa cada assentament comptable —estructurat com un fragment de text tipus JSON amb camps per a la data de registre, imports de dèbit/crèdit, IDs de compte, tipus d'impostos i un conjunt de banderes d'anomalia binàries precalculades— a un prompt d'LLM que retorna una etiqueta d'anomalia binària i una explicació en llenguatge natural. Els autors avaluen Mistral-8B, Gemma-2B, Gemma-7B i Llama-3.1-8B tant en un llibre major d'empresa sintètic com en un únic llibre major fiscal real anonimitzat, comparant-los amb els JET tradicionals i una línia de base d'Isolation Forest.
Idees clau
- En el conjunt de dades sintètic (5.000 IDs de registre, ~1% de taxa d'anomalies reals), Mistral-8B amb el prompt complet aconsegueix una Precisió de 0,90, Exhaustivitat de 0,98 i F1 de 0,94 —en comparació amb la Precisió de 0,53, Exhaustivitat de 0,90 i F1 de 0,50 de la línia de base JET, i el que és més important, només 12 falsos positius enfront dels 942 de JET.
- El prompt "complet" d'AuditCopilot inclou no només les característiques brutes de l'assentament, sinó també estadístiques globals del conjunt de dades (mitjana, mediana, imports dels percentils 95 i 99) i una puntuació d'Isolation Forest precalculada per fila. Aquesta enginyeria de context és fonamental per al rendiment.
- En el conjunt de dades real, Gemma-7B amb el prompt complet arriba a una Precisió de 0,89, Exhaustivitat de 0,78 i F1 de 0,83. Quan s'elimina la pista de l'Isolation Forest, la precisió cau en picat fins al 0,14; l'LLM per si sol no sosté el pes de la detecció.
- Les explicacions són la contribució més defensable del sistema: a diferència d'una puntuació d'anomalia numèrica, cada assentament marcat inclou una justificació en prosa ("aquest import supera el percentil 99 per a aquest grup de comptes i s'ha registrat fora de l'horari comercial"), que un auditor pot acceptar o descartar ràpidament.
- Sense ajustos fins (fine-tuning) en cap lloc. Tot s'executa en mode zero-shot o amb un breu prompt de rol de sistema, la qual cosa és bona per al cost de desplegament, però també significa que els resultats depenen totalment de la plantilla del prompt.
Què se sosté — i què no
El resultat de la reducció de falsos positius és sorprenent i real. Passar de 942 a 12 falsos positius amb les mateixes dades és el tipus de guany operatiu que realment fa que una eina s'utilitzi a la pràctica. Crec en aquesta direcció.
Però tinc reserves serioses sobre el disseny de l'avaluació.
En primer lloc, les etiquetes de veritat fonamental (ground-truth) del conjunt de dades sintètic es construeixen a partir de les pròpies regles JET. Les anomalies injectades són exactament el tipus de patrons per als quals es van dissenyar els JET. Per tant, que "l'LLM superi el JET" en un conjunt de proves etiquetat per JET pot reflectir en part que l'LLM aprèn a imitar les mateixes regles a partir de les estadístiques contextuals del prompt, en lloc de generalitzar més enllà d'elles.
En segon lloc, l'ablació de l'Isolation Forest en les dades reals és demolidora d'una manera que l'article no discuteix prou. L'F1 cau de 0,83 a 0,24 sense les puntuacions d'IF. Això em diu que l'LLM funciona principalment com un llindar flexible sobre el senyal de l'IF, no com un detector d'anomalies independent. El sistema s'assembla més a un conjunt de ML (ensemble) amb una capa de llenguatge natural que a un "model fundacional que realitza un raonament d'auditoria".
En tercer lloc, només s'utilitza un conjunt de dades real, provinent d'un sol soci industrial. Els autors ho reconeixen, però això significa que no podem avaluar la generalització segons la mida de l'empresa, el sistema comptable o el sector.
En quart lloc, l'article es compara amb JET i una única línia de base de ML (Isolation Forest). La detecció d'anomalies basada en autoencoders, XGBoost amb característiques dissenyades i la regressió logística simple sobre les puntuacions d'IF estan absents. L'espai del que es considera "ML clàssic" aquí és massa estret.
La qüestió de les al·lucinacions no s'aborda. Els autors consideren les explicacions una contribució clau, però no hi ha cap avaluació de si les justificacions en prosa són factualment correctes o coherents amb la predicció binària.
Per què això és important per a la IA en finances
Aquest és l'article existent més proper al que estem construint a Bean Labs. Els llibres majors de Beancount són sistemes de comptabilitat de partida doble. Cada transacció és un conjunt de línies d'apuntaments. La detecció d'anomalies en aquestes línies —comptes inusuals, imports fora de rang, patrons de dates inversemblants— és una primera funció òbvia per a un assistent financer autònom.
El resultat d'AuditCopilot suggereix que l'enfocament correcte per a una auditoria de Beancount probablement no és "passar un assentament brut a un LLM i preguntar si és sospitós", sinó "calcular un context estadístic lleuger (línies de base per compte, distribució temporal, puntuacions d'Isolation Forest) i donar a l'LLM aquest context enritquit". El valor de l'LLM rau en la síntesi i l'explicació, no en la puntuació d'anomalies pura.
La reducció de falsos positius també és directament rellevant. Una eina d'auditoria de Beancount que mostri 942 possibles anomalies per execució serà ignorada. Una que mostri 12 candidats d'alta confiança amb explicacions serà utilitzada. Això no és una mètrica de rendiment, és una mètrica de producte.
La preocupació per la seguretat en l'escriptura posterior (write-back) que tant m'interessa no s'aborda en aquest article. AuditCopilot només llegeix i marca; no proposa correccions ni modifica el llibre major. Aquest és l'abast correcte per a un primer article, però el problema difícil per a Bean Labs roman: un cop tens una anomalia marcada, com decideixes de manera segura què fer al respecte?
Què llegir a continuació
- Understanding Structured Financial Data with LLMs: A Case Study on Fraud Detection (arXiv:2512.13040, ACL 2026): presenta FinFRE-RAG, que afegeix exemples en context mitjançant generació augmentada per recuperació (RAG) al mateix problema de detecció de frau i avalua quatre conjunts de dades de frau públics; aborda directament la limitació d'un sol conjunt de dades d'AuditCopilot.
- Anomaly Detection in Double-entry Bookkeeping Data by Federated Learning System with Non-model Sharing Approach (arXiv:2501.12723): aborda la restricció de privadesa que impedeix agrupar dades de llibres majors de diferents empreses; l'enfocament federat és probablement necessari per a qualsevol servei d'auditoria de Beancount en producció que vulgui entrenar amb dades de clients sense centralitzar-les.
- GuardAgent: Safeguard LLM Agents by a Guard Agent via Knowledge-Enabled Reasoning (arXiv:2406.09187): el problema d'execució de la seguretat que AuditCopilot esquiva deliberadament: un cop marcades les anomalies, com s'assegura que un agent d'escriptura no realitzi canvis que violin els invariants comptables?
