Alternativa a AtScale

La alternativa a AtScale en la que el agente nunca escribe SQL

SynaLemma responde a preguntas sobre los datos de su negocio con reglas demostradas antes de ejecutarse y luego compiladas a SQL. El agente nunca escribe SQL, y la misma pregunta siempre da el mismo SQL.

SynaLemma

SynaLemma frente a AtScale: diferencias clave

  1. El agente nunca escribe SQL

    El agente escribe reglas, no SQL. El motor comprueba cada regla y luego escribe un SQL que solo lee sus tablas: sin SQL en bruto, sin inyección, demostrado formalmente.

  2. Cada regla, demostrada antes de ejecutarse

    Un verificador simbólico demuestra que cada regla está bien formada, es segura y termina. Una regla no válida se rechaza con el motivo, antes de ejecutar ningún SQL.

  3. Aserciones que señalan las filas erróneas

    Claves, referencias, totales o transitividad se escriben en lógica de primer orden. El motor recorre toda la tabla y devuelve las filas que las incumplen.

  4. Preguntas de grafo sobre sus bases de datos SQL

    Las jerarquías, las listas de materiales y las cadenas de suministro son reglas recursivas, con terminación verificada y compiladas a SQL sobre PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB y SQLite. Sin base de datos de grafos, sin migración.

  5. Misma pregunta, mismo SQL

    La misma pregunta siempre se compila al mismo SQL, y cada cifra cita la regla de la que procede. Su equipo puede leerla, corregirla o bloquearla.

  6. Soberano por diseño, no por contrato

    Datos, reglas y modelo permanecen en su infraestructura. El motor compila el SQL, así que basta con un modelo abierto pequeño, sin tarifas por token. El motor Synalog es de código abierto, bajo licencia Apache-2.0.

Synalog

Ejemplo: una consulta recursiva con aserciones

Una lista de materiales a cualquier profundidad, con dos aserciones. Los datos contienen un ciclo; el motor lo señala antes de devolver ninguna respuesta.

parts.l
# La lista de materiales, leída de la base de datos.
Component(assembly:, part:, quantity:) :- bom(assembly:, part:, quantity:);

# Una pieza está dentro de un conjunto directamente, o dentro de una de sus piezas.
@Recursive(Contains, 20);
@Assert(Contains,
      transitive: "∀ a b c, Contains a b → Contains b c → Contains a c",
      no_cycle:   "∀ a, ¬ Contains a a");
Contains(assembly:, part:) distinct :- Component(assembly:, part:);
Contains(assembly:, part:) distinct :-
  Contains(assembly:, part: sub),
  Component(assembly: sub, part:);
$ synalog parts.l verify
✓ Contains.transitive holds ✗ Contains.no_cycle is violated: ∀ a, ¬ Contains a a 2 counterexamples: +---------+ | a | +---------+ | "wheel" | | "hub" | +---------+ 2 rows
De un vistazo

SynaLemma frente a AtScale, de un vistazo

SynaLemma frente a AtScale, de un vistazo
CriterioSynaLemmaAtScale
Cómo responde un agente Escribe una regla; el motor la demuestra y compila el SQLEl agente escribe un SQL SELECT y lo envía al servidor MCP
Qué comprueba las definiciones Se demuestra que cada regla está bien formada, es segura y termina antes de ejecutarseValidación de la sintaxis SML y el validador de modelos de Design Center
Comprobaciones sobre los datos Aserciones en lógica de primer orden que devuelven las filas que las incumplenComprobaciones integradas de claves y jerarquías; sin aserciones escritas por el usuario
Jerarquías y cadenas de varios saltos Recursión nativa a cualquier profundidad, con terminación verificadaJerarquías por niveles; sin padre-hijo en la referencia SML
Lenguaje de las definiciones Synalog, un lenguaje lógico de código abierto con compiladorSML, un formato YAML, o el editor Design Center
Uniones Cualquier unión que enuncie la regla, tan lejos como la pregunta lo requieraDe los conjuntos de datos de hechos a las dimensiones; muchos a muchos mediante una tabla puente
Modelo de lenguaje El que usted elija: basta con un modelo abierto pequeño, sin tarifas por tokenEl modelo del cliente, como ChatGPT, Claude o Gemini
Despliegue En sus instalaciones, sobre su infraestructuraSu infraestructura: Kubernetes con Helm, o un instalador para Linux
AtScale

Por qué los equipos buscan una alternativa a AtScale

  • SQL escrito por el agente

    La herramienta MCP run_query valida y ejecuta un SELECT que el agente escribe a partir de la pregunta (herramientas MCP).

  • Jerarquías por niveles

    Las jerarquías SML son niveles fijos, cada uno una subdivisión del superior; las cadenas recursivas padre-hijo no figuran en la referencia (dimensiones SML).

  • Validación, no demostración

    La CLI de SML comprueba la sintaxis y el validador de modelos comprueba las claves y las jerarquías; no se documentan aserciones sobre los datos escritas por el usuario (SML).

Preguntas frecuentes

Alternativa a AtScale: preguntas frecuentes

¿Cuál es la mejor alternativa a AtScale para agentes de IA?

SynaLemma. El agente escribe reglas en lugar de SQL, cada regla se demuestra antes de ejecutarse, las aserciones señalan las filas erróneas y la recursión es nativa. Basta con un modelo abierto pequeño en su propio hardware.

¿Admite AtScale jerarquías recursivas?

La referencia SML solo describe jerarquías por niveles. En Synalog, la recursión es nativa: un organigrama o una lista de materiales se recorre a cualquier profundidad, y su terminación se verifica.

¿Quién escribe el SQL cuando un agente consulta AtScale?

El agente. Escribe un SQL SELECT sobre el modelo semántico y lo envía a la herramienta run_query. En SynaLemma, el agente escribe una regla que se verifica y que después el motor compila a SQL.

¿Puede SynaLemma funcionar con un modelo local?

Sí. Basta con un modelo abierto pequeño en su propio hardware, porque el motor compila el SQL.

Véalo con sus datos

Traiga una pregunta que su stack actual no sabe responder.

En 30 minutos, le mostramos a SynaLemma respondiéndola, con la regla que hay detrás de la cifra y las comprobaciones que ha superado.