Ir al contenido principal

AuditCopilot: LLMs para la detección de fraude en contabilidad de partida doble

· 7 min de lectura
Mike Thrift
Mike Thrift
Marketing Manager

El artículo que estoy leyendo esta semana es AuditCopilot: Leveraging LLMs for Fraud Detection in Double-Entry Bookkeeping (arXiv:2512.02726), presentado en diciembre de 2025 por Kadir, Macharla Vasu, Nair y Sonntag. Se sitúa en la intersección de la investigación de agentes de LLM y el cumplimiento financiero: el uso de modelos base para detectar asientos de diario fraudulentos en libros mayores corporativos reales. De todos los artículos de la lista de lectura de Bean Labs hasta ahora, este es el que se ocupa más directamente del mismo formato de datos brutos que nos interesa.

El artículo

2026-05-22-auditcopilot-llm-fraud-detection-double-entry-bookkeeping

Cada auditoría de una empresa pública —exigida por la norma de auditoría AS 2401 de la PCAOB— debe incluir Pruebas de Asientos de Diario (JET, por sus siglas en inglés): comprobaciones sistemáticas en el libro mayor para detectar asientos marcados por heurísticas basadas en reglas. Las reglas son cosas como "asiento registrado después de la medianoche", "importe de número redondo", "par de cuentas inusual" o "asiento registrado por un usuario raramente activo". Estas reglas funcionan, pero generan enormes volúmenes de falsos positivos: los auditores pasan la mayor parte de su tiempo descartando ruido evidente.

AuditCopilot se pregunta si los LLM pueden reemplazar o aumentar estas reglas. El sistema pasa cada asiento de diario —estructurado como un fragmento de texto similar a JSON con campos para la fecha de registro, importes de débito/crédito, IDs de cuenta, tipos impositivos y un conjunto de indicadores de anomalía binarios precalculados— a un prompt de LLM que devuelve una etiqueta de anomalía binaria y una explicación en lenguaje natural. Los autores comparan Mistral-8B, Gemma-2B, Gemma-7B y Llama-3.1-8B tanto en un libro mayor empresarial sintético como en un único libro mayor fiscal real anonimizado, comparándolos con las JET tradicionales y una línea base de Isolation Forest.

Ideas clave

  • En el conjunto de datos sintético (5,000 IDs de registro, tasa de anomalía real de ~1%), Mistral-8B con el prompt completo logra una Precisión de 0.90, Sensibilidad (Recall) de 0.98 y F1 de 0.94, en comparación con la Precisión de 0.53, Sensibilidad de 0.90 y F1 de 0.50 de la línea base JET; y fundamentalmente, solo 12 falsos positivos frente a los 942 de JET.
  • El prompt "completo" de AuditCopilot incluye no solo las características brutas del asiento, sino también estadísticas globales del conjunto de datos (media, mediana, importes de los percentiles 95 y 99) y una puntuación de Isolation Forest precalculada por fila. Esta ingeniería de contexto es el pilar del sistema.
  • En el conjunto de datos del mundo real, Gemma-7B con el prompt completo alcanza una Precisión de 0.89, Sensibilidad de 0.78 y F1 de 0.83. Cuando se elimina la pista de Isolation Forest, la precisión colapsa a 0.14: el LLM por sí solo no puede con el peso de la tarea.
  • Las explicaciones son la contribución más defendible del sistema: a diferencia de una puntuación de anomalía numérica, cada asiento marcado viene con una justificación en prosa ("este importe supera el percentil 99 para este grupo de cuentas y se registra fuera del horario comercial"), que un auditor puede aceptar o descartar rápidamente.
  • No hay ajuste fino (fine-tuning) en ninguna parte. Todo se ejecuta de forma zero-shot o con un breve prompt de rol de sistema, lo cual es bueno para el coste de despliegue pero también significa que los resultados dependen mucho de la plantilla del prompt.

Qué se sostiene y qué no

El resultado de la reducción de falsos positivos es sorprendente y real. Pasar de 942 a 12 falsos positivos sobre los mismos datos es el tipo de ganancia operativa que realmente cambia si una herramienta se utiliza en la práctica. Creo en esta dirección.

Sin embargo, tengo serias reservas sobre el diseño de la evaluación.

Primero, las etiquetas de referencia (ground-truth) en el conjunto de datos sintético están construidas a partir de reglas JET. Las anomalías que se inyectaron son exactamente los tipos de patrones que las JET fueron diseñadas para capturar. Por lo tanto, decir que "el LLM supera a las JET" en un conjunto de prueba etiquetado por JET puede reflejar en parte que el LLM está aprendiendo a imitar las mismas reglas a partir de las estadísticas contextuales en el prompt, en lugar de generalizar más allá de ellas.

Segundo, la ablación de Isolation Forest en datos reales es demoledora de una manera que el artículo no discute suficientemente. El F1 cae de 0.83 a 0.24 sin las puntuaciones de IF. Esto me indica que el LLM funciona principalmente como un umbral flexible sobre la señal de IF, no como un detector de anomalías independiente. El sistema está más cerca de un ensamble de ML con una capa de lenguaje natural que de un "modelo base realizando razonamiento de auditoría".

Tercero, solo hay un conjunto de datos del mundo real, extraído de un único socio industrial. Los autores lo reconocen, pero significa que no podemos evaluar la generalización a través de diferentes tamaños de empresa, sistemas contables o industrias.

Cuarto, el artículo compara contra JET y una única línea base de ML (Isolation Forest). La detección de anomalías basada en autoencoders, XGBoost con características diseñadas y la regresión logística simple sobre puntuaciones de IF están ausentes. El espacio de lo que cuenta como "ML clásico" aquí es estrecho.

La cuestión de las alucinaciones no se aborda. Los autores llaman a las explicaciones una contribución clave, pero no hay una evaluación de si las justificaciones en prosa son tácticamente correctas o coherentes con la predicción binaria.

Por qué esto es importante para la IA financiera

Este es el artículo existente más cercano a lo que Bean Labs está construyendo. Los libros mayores de Beancount son sistemas de contabilidad de partida doble. Cada transacción es un conjunto de líneas de asientos. La detección de anomalías sobre esas líneas —cuentas inusuales, importes fuera de rango, patrones de fechas inverosímiles— es una primera característica obvia para un asistente financiero autónomo.

El resultado de AuditCopilot sugiere que el enfoque correcto para la auditoría en Beancount probablemente no es "darle a un LLM una transacción bruta y preguntar si es sospechosa", sino más bien "calcular un contexto estadístico ligero (líneas base a nivel de cuenta, distribución temporal, puntuaciones de Isolation Forest) y darle al LLM ese contexto enriquecido". El valor del LLM está en la síntesis y la explicación, no en la puntuación bruta de anomalías.

La reducción de falsos positivos también es directamente relevante. Una herramienta de auditoría de Beancount que presente 942 candidatos a anomalía por ejecución será ignorada. Una que presente 12 candidatos de alta confianza con explicaciones será utilizada. Eso no es una métrica de rendimiento, es una métrica de producto.

La preocupación por la seguridad en la escritura (write-back) que más me importa no se aborda en este artículo. AuditCopilot solo lee y marca; no propone correcciones ni modifica el libro mayor. Ese es el alcance correcto para un primer artículo, pero el problema difícil para Bean Labs sigue siendo: una vez que tienes una anomalía marcada, ¿cómo decides de forma segura qué hacer al respecto?

Qué leer a continuación

  • Understanding Structured Financial Data with LLMs: A Case Study on Fraud Detection (arXiv:2512.13040, ACL 2026): introduce FinFRE-RAG, que añade ejemplos en contexto aumentados por recuperación al mismo problema de detección de fraude y realiza pruebas comparativas en cuatro conjuntos de datos de fraude públicos; aborda directamente la limitación de un solo conjunto de datos de AuditCopilot.
  • Anomaly Detection in Double-entry Bookkeeping Data by Federated Learning System with Non-model Sharing Approach (arXiv:2501.12723): aborda la restricción de privacidad que impide agrupar datos de libros mayores de distintas empresas; el enfoque federado es probablemente necesario para cualquier servicio de auditoría de Beancount en producción que quiera entrenar con datos de clientes sin centralizarlos.
  • GuardAgent: Safeguard LLM Agents by a Guard Agent via Knowledge-Enabled Reasoning (arXiv:2406.09187): el problema de la aplicación de la seguridad que AuditCopilot evita deliberadamente: una vez que se marcan las anomalías, ¿cómo te aseguras de que un agente de escritura no confirme cambios que violen los invariantes contables?