Sqlsure su Hacker News
Sqlsure è uno strumento open source che esegue controlli semantici deterministici su query SQL prodotte da modelli di linguaggio. Il repository
Funzionamento tecnico

Sqlsure non usa LLM per le verifiche. Confronta la query con un modello semantico derivato dai test dbt già presenti nel progetto: unique test definiscono il grain, relationship test specificano la cardinalità dei join, e meta tag indicano le colonne sommabili. Le regole sono lookup su dizionari, quindi il risultato è identico a ogni esecuzione e funziona offline in circa 0,1 ms. Ogni rifiuto restituisce una correzione machine-actionable che l'agente può applicare direttamente.
L'installazione avviene con pip install sqlsure. L'uso base è:
from sqlsure import SemanticModel, check
violations = check(sql, model)
Il comando python -m sqlsure.scan path/to/dbt-repo --report report.md produce un audit completo di un repository dbt.
Integrazione nel flusso di sviluppo
Sqlsure si inserisce come gate in CI o come passaggio all'interno di agenti che generano SQL. Il ciclo draft → check → fix → check permette di ottenere query corrette senza intervento manuale in molti casi. I test sul benchmark mostrano che applicare le correzioni proposte ha prodotto query valide in 10 su 10 tentativi. Non richiede un linguaggio aggiuntivo né la manutenzione di un modello separato.
Il limite principale è la dipendenza dalla qualità dei test dbt esistenti: se il modello semantico è incompleto, alcune violazioni passano inosservate. Inoltre lo strumento non sostituisce l'analisi del piano di esecuzione o i test di performance.
Valutazione sui benchmark

L'analisi delle risposte gold di BIRD e Spider ha evidenziato difetti reali, tra cui uno schema difettoso segnalato upstream. Questo indica che Sqlsure può servire anche come strumento di revisione statica su basi di codice esistenti, non solo su output generati da LLM. Il fatto che non abbia prodotto falsi allarmi su quasi 2.600 query suggerisce una bassa probabilità di interruzioni spurie in pipeline automatizzate.
FAQ
Sqlsure funziona solo con dbt? No, accetta un modello semantico definito in JSON, ma l'integrazione più immediata avviene importando i test già scritti in dbt.
Sostituisce i test di unità sulla query? No, verifica proprietà semantiche come cardinalità e additività; i test che controllano i valori di output rimangono necessari.
Quanto tempo aggiunge al ciclo di un agente? Meno di un millisecondo per controllo, quindi l'impatto sul tempo totale è trascurabile rispetto alla generazione e all'esecuzione della query.
---
📖 Leggi anche
- Agentic Coding: Una Trappola per lo Sviluppo Software?
- File agents.md: utili per gli agenti di coding?
- Phantom su GitHub: L'AI co-worker auto-evolvente e sicuro
Hai bisogno di una consulenza?
Aiuto aziende e startup a sviluppare software, automatizzare processi e integrare AI. Parliamone.
Scrivimi