Respuestas de IA comprobables

Una demo de IA puede convencer.
Pero ¿es correcta la respuesta?

En muchos agentes de IA, el modelo de lenguaje elabora la respuesta por su cuenta, y a quien la recibe solo le queda confiar. SynaLemma reparte el trabajo: el modelo de lenguaje traduce la pregunta a una regla, y un motor lógico verifica esa regla y calcula la respuesta en la base de datos existente. Cada paso queda a la vista.

Desarrollado por SynaLinks, un equipo de especialistas en IA formados en el CNRS. Cada capa del sistema es de desarrollo propio, del motor lógico al agente.

SynaLemma fábrica

¿Qué modelos de bicicleta se paran si falla Shenzhen VoltPack?

Los cuatro: Urban S1, Cargo C2, Trekking T3 y Folding F1. Cada modelo necesita uno de los dos packs de baterías, y ambos packs llevan la placa BMS y la carcasa que suministra VoltPack.

@SupplierExposure ✓ verificada
## Los conjuntos que se detienen si falla un proveedor,
## en todos los niveles de la lista de materiales.
@OrderBy(SupplierExposure, "supplier_id", "assembly_id");
SupplierExposure(supplier_id:, assembly_id:) distinct :-
  Supplies(supplier_id:, part_id: component),
  Requires(assembly_id:, component_id: component);
  • verificada formalmente antes de guardarse
  • ejecutada sobre Suppliers, Parts, BillOfMaterials
Datos ficticios de una fábrica, a modo de ejemplo. La regla es código Synalog real.
Equipo con sede en la Unión Europea
En servidores propios, con el modelo de lenguaje que se prefiera
Basado en nuestros componentes de código abierto con licencia Apache-2.0
El problema

La misma pregunta. Tres agentes de IA. Tres respuestas distintas.

Una pregunta sencilla: ¿cuántas existencias disponibles hay de un componente? Cada agente de IA escribe una consulta SQL válida y, aun así, llega a una cifra distinta. Cada agente tiene que decidir por su cuenta qué significa «disponible»: con o sin las existencias reservadas, con o sin los pedidos en curso, para qué planta y en qué fecha. La fábrica tomó esas decisiones hace años, pero el agente no las conoce.

Nada falla de forma visible. El agente presenta la cifra con total seguridad, alguien toma una decisión basándose en ella y nadie puede reconstruir cómo se calculó. Es el principal motivo por el que los proyectos de IA se estancan entre la demo y la producción. Un modelo más grande no lo resuelve: también tiene que adivinar las definiciones.

AgenteCuenta como disponibleResultado
Primerotodo lo que hay en almacén1.240
Segundoexistencias menos lo reservado para órdenes de fabricación870
Terceroexistencias menos lo reservado, más los pedidos de compra pendientes2.070
Ejemplo ficticio con fines ilustrativos: una pregunta, tres consultas plausibles.

Los agentes de IA necesitan las definiciones de la organización: escritas una sola vez, de forma que una máquina tenga que aplicarlas y una persona pueda comprobarlas. SynaLemma construye esa capa y la mantiene al día.

ArchivosBase SQLHojas de cálculoConocimiento de la empresa
Los datos se quedan donde están
SynaLemma
  1. Buscar una definición
  2. Escribir una regla
  3. Verificarla formalmente
  4. Ejecutarla en las tablas
  5. Responder citando la regla
Una respuesta comprobable
  • La cifra
  • La regla utilizada
  • Legible para el equipo
  • Reutilizable
La regla sigue disponible
Qué cambia

El modelo de lenguaje entiende la pregunta. El motor lógico calcula la respuesta.

Cuando un agente de IA «explica su razonamiento», se trata de un texto que el modelo genera a posteriori. Ese texto no muestra cómo se calculó realmente la respuesta, así que revisarlo aporta poco. En SynaLemma, el modelo de lenguaje traduce la pregunta a una regla. Un motor lógico calcula la respuesta a partir de esa regla, en pasos que se pueden volver a ejecutar.

Sistemas en los que razona el modelo de lenguaje SynaLemma
Quién razona El modelo de lenguaje, en un texto que no se puede volver a ejecutar Un motor lógico, con reglas legibles que se pueden volver a ejecutar
Rastro de auditoría Un relato de lo que el modelo dice haber hecho Una cadena de reglas con nombre, hasta las filas de origen
Relaciones entre tablas Joins que a menudo se reescriben en cada pregunta Un grafo de conocimiento extraído de las tablas existentes, sin base de datos de grafos
Cambios en una definición A menudo imposibles de rastrear: ¿qué prompt se usaba el trimestre pasado? Cada cambio es un commit de Git con autor y fecha, y se puede revertir
Significado de una métrica Se vuelve a estimar en cada pregunta Se escribe una vez como regla con nombre y la reutiliza todo el mundo
Antes de responder Sin comprobación sistemática Verificación formal y, después, ejecución sobre las tablas reales
Ante un error Una cifra errónea, a menudo sin aviso La regla se rechaza con el motivo, o una condición de control (aserción) muestra las filas que no la cumplen
La misma pregunta, dos veces Dos respuestas que pueden diferir Una vez escrita la regla: con los mismos datos, el mismo resultado, sea cual sea el modelo conectado
Sistemas actuales A menudo una nueva cadena de procesamiento y una copia de los datos Consulta directa de las bases de datos que ya están en uso
La pregunta número cien El mismo razonamiento, pagado de nuevo en tokens Una regla que ya existe, ejecutada como SQL
Qué aporta

De respuestas plausibles a resultados comprobables.

01 · Fiabilidad

Resultados basados en los datos existentes

Cada regla se ejecuta sobre las tablas reales antes de que la asistente responda.

La respuesta cita las filas que devolvió la ejecución; nada sale de la memoria del modelo. SynaLemma funciona en los servidores de la organización, con el modelo de lenguaje que se prefiera. La asistente solo ve lo que permite el rol de quien pregunta.

02 · Trazabilidad

De la respuesta al dato de origen

El motor lógico realiza cada inferencia, y cada inferencia se puede volver a ejecutar.

Cada respuesta cita las reglas utilizadas, hasta la fila de la que procede una cifra. El equipo puede abrir una regla, leerla, volver a ejecutarla, modificarla o bloquearla. Las reglas son archivos en un repositorio Git: cada cambio registra quién lo hizo (una persona o la asistente), qué cambió y cuándo.

03 · Verificación formal

Errores detectados antes y después de la ejecución

El primer y único sistema de IA que escribe sus propias reglas, las verifica formalmente y contrasta sus resultados con enunciados matemáticos.

Cada regla se verifica formalmente antes de que exista una sola línea de SQL; más de quince tipos de error se rechazan, con el motivo. Además, el equipo expresa en lógica de primer orden lo que un resultado debe cumplir siempre. El motor lógico busca después contraejemplos a esas condiciones de control en los datos disponibles. Cuando una regla cambia, todo lo que se apoya en ella queda señalado hasta que se vuelva a ejecutar. Con otro modelo de lenguaje, las reglas siguen igual.

04 · Eficiencia

Sin copias adicionales de la base de datos

Sin ETL, sin un segundo almacén de datos y sin base de datos de grafos que comprar.

Las reglas se compilan a SQL y se ejecutan en la base de datos existente, sobre tablas que conservan sus nombres. Así también se aprovechan los sistemas más antiguos, sin proyecto de migración. Una definición se elabora una vez y después se reutiliza, lo que ahorra los tokens que un modelo gastaría cada vez en reconstruirla. SynaLemma también funciona con modelos abiertos en hardware propio.

Un ejemplo

Así es una regla comprobable.

Cada respuesta remite a una definición como esta: lo bastante breve para la persona responsable de la cifra, y lo bastante precisa para una verificación formal automática.

  • Arriba están las condiciones de control: lo que debe ser siempre cierto, en notación matemática. Aquí, una fila por proveedor y nunca más entregas con retraso que entregas en total.
  • Debajo, la regla describe cómo se calcula el resultado a partir de los pedidos de compra.
  • Si los datos contradicen una condición de control, SynaLemma muestra las filas que la incumplen, en lugar de dar una tasa errónea.
  • La definición es un archivo de texto en el repositorio Git de la organización y se revisa como cualquier otro código.
Una definición, tal como se guarda
factory/rules/SupplierDeliveries.l
---
name: SupplierDeliveries
description: Purchase orders per supplier, and how many were late.
keywords: [supplier, delivery, late, on time]
---
import tables.PurchaseOrders.PurchaseOrders;

@Assert(SupplierDeliveries,
  one_row_per_supplier: "∀ s a b c d, SupplierDeliveries s a b → SupplierDeliveries s c d → a = c",
  late_within_total:    "∀ s a b, SupplierDeliveries s a b → b ≤ a");
@OrderBy(SupplierDeliveries, "supplier_id");
SupplierDeliveries(supplier_id:, deliveries? += 1, late? += is_late) distinct :-
  PurchaseOrders(supplier_id:, is_late:);

Una definición de una capa de conocimiento industrial. Las condiciones de control se escriben en la notación del demostrador de teoremas Lean y se contrastan con los datos disponibles. Si la búsqueda de un contraejemplo no devuelve nada, la condición se cumple. Es una comprobación de los datos examinados, no una demostración sobre datos que el sistema no ha visto.

Cómo funciona

Tres pasos de la base de datos a una respuesta verificada.

  1. 1

    Conectar las fuentes de datos

    SynaLemma se conecta a la base de datos existente (PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB o SQLite) o importa archivos (CSV, Excel, JSON, JSONL, Parquet). Las bases de datos se consultan directamente: las tablas conservan sus nombres y no se migra nada.

  2. 2

    Hacer una pregunta

    Lemma, la asistente, busca primero una definición existente. Si no la hay, Lemma escribe una regla nueva, la verifica formalmente y la ejecuta sobre los datos. Solo entonces llega la respuesta, con la regla citada.

  3. 3

    Conservar el conocimiento

    La regla verificada se guarda con un nombre y una descripción, para que las preguntas siguientes puedan apoyarse en ella. El equipo puede revisarla, corregirla o bloquearla.

Acompañamiento

Implantación con especialistas del equipo de desarrollo.

Hemos comprobado que el software por sí solo no basta, sobre todo en organizaciones sin experiencia interna en IA. Por eso, uno o varios especialistas técnicos del equipo que desarrolla SynaLemma participan en cada proyecto, según su tamaño. Trabajan con el equipo del cliente, con un papel definido dentro de la plataforma. Sus tareas:

  • Acordar cada definición con las personas responsables de la cifra.
  • Determinar qué datos conectar, qué significa cada columna y qué falta.
  • Verificar técnicamente cada regla, con conocimiento tanto de la lógica como de la actividad de la empresa.
  • Mantener todo el trabajo dentro de la capa de conocimiento del cliente, sin sistemas a medida paralelos.
  • Encargarse de la investigación, el mantenimiento y la evolución del sistema, cubiertos por la licencia y el acompañamiento.
Más información sobre la implantación
Por qué SynaLinks

Desarrollo propio, del framework de agentes al motor lógico.

SynaLinks ha escrito el framework sobre el que funciona la asistente, el motor lógico que verifica sus reglas, el formato que almacena el conocimiento y el producto que reúne los tres. Como cada capa entre la base de datos y el modelo de lenguaje es de desarrollo propio, las piezas encajan entre sí y se puede explicar con precisión qué hace el sistema y dónde están sus límites.

  • 1,4k estrellas en GitHub
  • 1k descargas de PyPI al mes
  • Apache-2.0 componentes de código abierto
La plataforma

SynaLemma

El producto con el que trabajan los equipos. La plataforma ejecuta los tres componentes de código abierto sobre los datos de la organización y añade la asistente, el editor de reglas, el grafo de dependencias, los roles y la integración con Slack o Teams. Un producto comercial con licencia de pago, desplegado en la infraestructura del cliente.

Descubrir SynaLemma
El agente

Synalinks

El framework en el que se basa la asistente. Genera salidas estructuradas conformes a un esquema, da a los agentes de IA herramientas y un entorno aislado integrado (sandbox), y optimiza las instrucciones en función de resultados medidos, sin modificar los pesos del modelo. Desarrollado bajo la supervisión de François Chollet, autor de Keras. Código abierto con licencia Apache-2.0.

Ver en GitHub
La lógica

Synalog

Un lenguaje de programación lógica con verificación formal, escrito en Rust y compilado a siete dialectos de SQL. Las condiciones de control se expresan como proposiciones de Lean, la notación del demostrador de teoremas Lean, y se contrastan con los datos. Código abierto con licencia Apache-2.0.

Ver en GitHub
La capa de conocimiento

Semantic Layers

El formato en el que se guardan las definiciones: un archivo legible por concepto o regla, en un repositorio Git. El historial de cada definición se revisa y se audita como el código, y una capa de conocimiento se instala desde un repositorio Git. Código abierto con licencia Apache-2.0.

Ver en GitHub

El modelo de lenguaje traduce, el motor lógico razona. Esa separación hace comprobable el razonamiento y sustituible el modelo.

Ver los componentes de código abierto
Para quién

Para organizaciones que necesitan poder confiar en sus cifras.

Cuando una cifra errónea puede provocar una parada de producción o una auditoría fallida, el origen de cada número tiene que estar claro.

Industria y fabricación

Cadena de suministro, compras, producción y calidad. Listas de materiales, existencias, entregas con retraso y defectos tienen cada uno una sola definición, compartida por planificadores, compradores y los agentes de IA que los apoyan.

Sectores regulados

Salud, aeroespacial, energía y servicios financieros. Cada cifra se remonta a una regla y a las tablas que esa regla leyó: justo lo que pide ver un auditor.

Equipos con un piloto de IA estancado

La demo funcionó, pero nadie quiso darle el visto bueno: una demo lograda todavía no es un sistema en el que basar decisiones. SynaLemma ofrece a quien debe aprobar algo que se puede leer y comprobar: la regla detrás de cada respuesta.

Empezar

SynaLemma en acción con una pregunta real de negocio.

La demostración dura 30 minutos y es gratuita. El mejor punto de partida es una pregunta en la que los equipos no se ponen de acuerdo: mostramos la respuesta de SynaLemma y la regla utilizada para obtenerla. Si encaja, siguen una evaluación previa y, después, la implantación con especialistas del equipo de desarrollo.