← Ultimi articoli
💻 computer science

SPL: Orchestrating Workflows with Declarative Deterministic-Probabilistic Composition

Questo articolo introduce SPL (Structured Prompt Language), un framework dichiarativo che unifica il calcolo deterministico e probabilistico all'interno di una singola specifica per abilitare l'orchestrazione di workflow agnostica rispetto al modello, dimostrando attraverso estesi esperimenti che il suo approccio basato su solver raggiunge una correttezza verificata dalla macchina significativamente più alta rispetto agli output non verificati basati esclusivamente su LLM.

Autori originali: Wen G. Gong

Pubblicato 2026-07-10
📖 6 min di lettura🧠 Approfondimento

Autori originali: Wen G. Gong

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di cercare di costruire un assistente robotico super intelligente che possa aiutarti con i compiti. In questo momento, costruire questi assistenti è come cercare di costruire un'auto dove il motore, il volante e il GPS sono realizzati da aziende diverse, parlano lingue diverse e devono essere incollati insieme con un nastro adesivo disordinato e personalizzato. Devi essere un mago della programmazione solo per farli comunicare tra loro.

Il documento introduce SPL (Structured Prompt Language), che è come un telecomando universale che finalmente permette alla parte "creativa" del robot e alla parte "matematica" del robot di lavorare insieme in un unico manuale di istruzioni pulito.

I Due Cervelli: Il Sognatore e La Calcolatrice

Il documento sostiene che gli attuali strumenti di IA siano bloccati in un unico modo. Sono o dei Sognatori (LLM) che sono bravi a scrivere storie, indovinare risposte e chiacchierare, ma a volte inventano fatti o sbagliano i calcoli. Oppure sono delle Calcolatrici (come SymPy o SageMath) che sono perfette nella matematica e nella logica, ma non sanno capire una battuta o scrivere una storia.

Gli autori dicono: "Perché non averli entrambi?". Propongono un sistema in cui il Sognatore (Sistema 1) scompone il problema e lo spiega, mentre la Calcolatrice (Sistema 2) fa il vero lavoro pesante e controlla il lavoro.

Il Grande Colpo di Scena: Il documento argomenta esplicitamente contro l'idea che l'IA debba essere "veloce" o "lenta" per essere l'una o l'altra. Non si tratta di velocità; si tratta di come pensano. Una calcolatrice può essere lenta se sta facendo una dimostrazione super difficile, e un sognatore può essere veloce se sta solo tirando a indovinare. La chiave è sapere quale cervello usare per quale compito.

La Magia del "Progetta una Volta, Distribuisci Ovunque"

Ecco la parte più interessante: con SPL, scrivi le tue istruzioni una volta sola in un file speciale .spl. Non devi riscrivere il codice se vuoi eseguirlo sul tuo laptop, nel cloud o su una gigantesca rete di supercomputer.

Pensa a una ricetta. Scrivi la ricetta una volta. Che tu la cucini in un piccolo fornello da campeggio (il tuo laptop), in una cucina lussuosa (il cloud) o in una massiccia fabbrica industriale (una rete distribuita), la ricetta rimane la stessa. Devi solo dire al sistema dove cucinarla quando inizi. Il documento chiama questo DODA (Design Once, Deploy Anywhere - Progetta una Volta, Distribuisci Ovunque).

La "Scala del Verificatore"

Come facciamo a sapere se la matematica è corretta? Il documento introduce una "Scala del Verificatore" con tre pioli:

  1. Piolo 1 (SymPy): Buono per l'algebra di base e il calcolo. È veloce e facile.
  2. Piolo 2 (SageMath): Per cose più difficili come la teoria dei numeri e la geometria.
  3. Piolo 3 (Lean 4): Il livello boss finale. Questo è per le dimostrazioni formali che sono controllate da un computer per essere matematicamente vere al 100%, come un contratto legale per la matematica.

Il documento mostra che puoi scrivere un flusso di lavoro che prova prima il Piolo 1. Se fallisce, il sistema sale automaticamente la scala verso il Piolo 2, e se anche questo fallisce, verso il Piolo 3. Non devi scrivere il codice "se questo fallisce, prova quello"; il linguaggio gestisce tutto per te.

L'Esperimento: Cosa è Successo Davvero?

Gli autori non hanno solo tirato a indovinare; hanno eseguito un enorme esperimento. Hanno testato 10 diversi modelli di IA su 20 diversi problemi di matematica (che andavano dal livello facile all'esperto) e hanno eseguito ogni test 3 volte. Sono in totale 1.200 esecuzioni.

Hanno confrontato due modi per risolvere i problemi:

  1. Il braccio "Solo-LLM": L'IA si limita a indovinare e scrivere la risposta.
  2. Il braccio "Solver": L'IA scompone il problema, invia la matematica alla Calcolatrice, ottiene la risposta verificata e poi scrive la spiegazione.

I Risultati:

  • La Buona Notizia: Il braccio Solver era incredibilmente accurato. Per i migliori modelli, come gemma4:e2b, hanno ottenuto il 93% delle risposte corrette quando verificate dalla calcolatrice. Persino sonnet-4-6 ha ottenuto l'85% di correttezza.
  • Il Problema: Il braccio "Solo-LLM" riusciva quasi sempre a produrre una risposta (quasi il 100% delle volte), ma non era verificata. Il braccio Solver ha dimostrato che solo perché un'IA dice qualcosa, non significa che sia vero.
  • Il Collo di Bottiglia: Il motivo principale per cui il braccio Solver falliva non era che l'IA non sapesse fare la matematica (la Calcolatrice lo faceva!), ma perché l'IA non riusciva a formattare correttamente la sua risposta. L'IA doveva scrivere la matematica in un formato molto specifico, simile al codice (expr|op), affinché la Calcolatrice potesse capirla. Se l'IA sbagliava la formattazione, la Calcolatrice la rifiutava.
  • La Sorpresa: Un piccolo modello open-source chiamato gemma4:e2b (molto più piccolo dei modelli giganti ed costosi) ha in realtà performato meglio di alcuni dei modelli enormi nel seguire le regole. Questo suggerisce che, per questo compito specifico, essere un buon "traduttore di formati" è più importante che avere un cervello gigante e super intelligente.

Cosa il Documento Dice di NON Essere

Il documento è molto chiaro su ciò che non fa:

  • Non sostiene che i modelli di IA siano ora perfetti nella matematica da soli. Infatti, l'esperimento ha mostrato che senza la Calcolatrice, i modelli stanno solo tirando a indovinare.
  • Non dice che i modelli di "Pensiero" (modelli che passano molto tempo a "pensare" prima di rispondere) siano migliori. In realtà, il documento ha escluso alcuni modelli di "pensiero" perché passavano troppo tempo a pensare e finivano lo spazio prima di poter scrivere il formato di codice specifico richiesto dalla Calcolatrice.
  • Non sostiene che questo risolva ogni problema. L'esperimento era specificamente sulla matematica simbolica. Gli autori suggeriscono che potrebbe funzionare per altre cose come il controllo del codice o la validazione dei dati, ma non lo hanno ancora dimostrato.

Il Punto Fondamentale

Il documento dimostra che separando la parte "creativa" dell'IA dalla parte "matematica" e lasciando che un computer controlli la matematica, possiamo ottenere risultati molto più affidabili. La cosa migliore? Non serve essere un genio della programmazione per farlo. Scrivi il piano una volta sola e il sistema gestisce tutto il resto, sia che tu lo stia eseguendo sul tuo laptop o su un supercomputer.

Gli autori hanno misurato questo con 1.200 esecuzioni e hanno scoperto che, sebbene il braccio "Solver" sia leggermente più lento (impiega qualche secondo in più per controllare il lavoro), esso trasforma una risposta "forse giusta" in una risposta "verificata dalla macchina". Per i migliori modelli, questa verifica non ha quasi alcun costo in termini di velocità, dimostando che questo approccio a due modalità è un modo pratico per costruire assistenti IA più intelligenti e sicuri.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →