Ejecución 001primera ejecución
envolvente de determinismo
- capability
- finance.npv
- runtime_bundle
- 0.1.0 · 4d64142e…
- platform
- darwin-arm64
- precision_mode
- float64
- thread_count
- 1
- value
- 505.020148896933
computation_hashb74f67d0d7a594aa…
Determinismo, por construcción
Haz la misma pregunta a un modelo dos veces y puedes obtener dos respuestas. Eso es IA no determinista — válida para prosa, fatal para números. SQAI aparta el número del modelo: cada cómputo corre en un runtime float64 fijado, monohilo, e imprime el hash que lo reproduce exactamente.
IIEl replay
Un cómputo — finance.npv a una tasa de descuento del 10% sobre cinco flujos de caja — ejecutado una vez y reproducido meses después. El determinismo como promesa pide tu confianza. Como hash, pide una comparación.
Ejecución 001primera ejecución
envolvente de determinismo
computation_hashb74f67d0d7a594aa…
Ejecución 002meses después
envolvente de determinismo
computation_hashb74f67d0d7a594aa…
Idéntico. No similar — idéntico.
computation_hash compartidob74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8
Dos lenguajes, un flujo de bytes
TypeScriptcanonicalJson(result.value)
Pythoncanonical_json(result.value)
bytes idénticos, en cualquier lenguaje505.020148896933
mismos bytes de entrada → mismo sha256 de salida → el mismo certificado
canonicalJson en TypeScript y canonical_json en Python emiten los mismos bytes por construcción: −0 se convierte en 0, las claves se ordenan, el escapado unicode es fijo. La igualdad de hash entre lenguajes no es una coincidencia que esperar — es un contrato de serialización.
IIILa letra pequeña
"Determinista" es fácil de proclamar y difícil de cumplir. SQAI no afirma que su resultado sea idéntico en todas las máquinas del universo. Declara un ámbito de ejecución, lo registra en la envolvente y garantiza identidad dentro de él.
Registrar el entorno es mejor que exagerarlo. Todo lo que pudiera alterar el número está fijado o documentado.
declarado en cada resultadodeterministic_scope: "local_registered_source"
IVProcedencia con separación de dominio
La procedencia aquí no es una línea de registro. Son tres construcciones sha256, cada una respondiendo una pregunta distinta, cada una calculada sobre bytes canónicos.
plan_hashf87610d8afeb…El plan resuelto, hasheado antes de que nada ejecute. La misma pregunta resuelve al mismo plan — decision_path: exact_spec — de modo que un plan revisado una vez queda revisado para siempre.
invocation_hashLa identidad de la llamada — la capacidad más sus argumentos canonicalizados — bajo su propio prefijo versionado. explainQuery lo imprime como vista previa en seco; el hash ejecutado se sella de forma independiente en tiempo de ejecución.
computation_hashb74f67d0d7a594aa…Incorpora el invocation_hash antes de los bytes canónicos del valor. La respuesta está encadenada criptográficamente a su pregunta — este hash no puede adjuntarse a un resultado diferente.
invocation_hash = sha256("sqai:invocation:v1\0" + canonicalJson(identity))
computation_hash = sha256("sqai:computation:v1\0" + invocation_hash + canonicalJson(value))Los prefijos son el punto central. "sqai:invocation:v1" y "sqai:computation:v1" son universos de bytes disjuntos: una invocación nunca puede colisionar con una computación, y un futuro v2 nunca puede suplantar a v1. La separación de dominio convierte los hashes en evidencia, no en decoración.
Bajo los tres, la superficie misma está fijada. El contrato de capacidades que define qué puede ejecutar en absoluto se distribuye con su propio hash:contract_hash sha256:79f1c5a6c716…
el muestreo no es ejecución — el modelo nunca computa aquí
VMuestreo vs. ejecución
temperature: 0un parámetro de decodificación
computation_hashuna propiedad de ejecución
VIDónde podría romperse el determinismo
seed_required
Diez de las 4.574 capacidades expuestas simulan aleatoriedad. Sin semilla, no ejecutan en absoluto — la llamada se rechaza antes de la ejecución. Con semilla, se reproducen como todo lo demás. Sin entropía oculta, sin excepciones silenciosas.
una de las diezdistributions.sample_normal
schema_revision_mismatch
Cada fuente registrada lleva una revisión de esquema. Reproduzca un plan contra datos que han cambiado y el motor rechaza con un error estructurado — no un número silenciosamente distinto que nada detectaría jamás.
declarado en cada fuenteschema_revision
4.564 deterministas tal cual · 10 deterministas una vez sembradas · 0 que especulan
VIIPreguntas
Un sistema cuyas respuestas se reproducen con exactitud: misma entrada, misma salida, de forma demostrable. SQAI lo implementa por construcción — los cálculos se ejecutan en un runtime float64 fijado, monohilo, y cada resultado lleva un computation_hash que lo reproduce byte a byte.
Un sistema cuya salida puede variar entre solicitudes idénticas. Los modelos de lenguaje muestrean tokens, de modo que la misma pregunta puede producir razonamientos distintos, SQL distinto y números distintos — sin ninguna señal de que algo cambió. Un hash reproducible es el antídoto a esa deriva.
La temperatura solo acota cómo se elige el siguiente token. El modelo sigue prediciendo tu número en lugar de calcularlo, y nada de la ejecución queda registrado ni es reproducible. El determinismo de SQAI es una propiedad de la ejecución, no de la decodificación: el modelo presenta un plan tipado y el motor realiza la aritmética.
Compara el computation_hash de cada resultado. Es un sha256 con separación de dominio sobre la identidad de la invocación y los bytes canónicos del valor, de modo que hashes coincidentes implican respuestas byte a byte idénticas — el ejemplo finance.npv imprime b74f67d0… tanto en TypeScript como en Python.
Negándose a ser aleatorias en secreto. Exactamente 10 de las 4.574 capacidades expuestas de SQAI simulan aleatoriedad; invocadas sin semilla se rechazan con seed_required, y con semilla se reproducen exactamente igual que cualquier otra capacidad.
La reproducción falla de forma explícita. Cada fuente registrada lleva una revisión de esquema, y un plan reproducido contra datos modificados devuelve schema_revision_mismatch — un error estructurado, nunca un número silenciosamente distinto.