Blog
Approfondimenti tecnici

The synthesis pipeline: contradictions, budgets, approval

La synthesis pipeline: i documenti di un archivio in pagine wiki combinate - corse con budget, contraddizioni giudicate, scritture solo approvate. Census: F-SYNTH-1.

Simmetric Team7 min di lettura16/10/2026
The synthesis pipeline: contradictions, budgets, approval

Dove i documenti non sono d'accordo, lo dice

Le pagine del wiki engine risolvono il memorizzare; la synthesis pipeline risolve l'accordo. Dato un insieme dei documenti di un archivio, la pipeline produce pagine wiki combinate - ciascuna unisce le proprie fonti e, dove le fonti divergono, lo dichiara con un marcatore di contraddizione. Nulla atterra sul filesystem finché un umano non approva esattamente ciò che è stato proposto, e ogni corsa è cinta da un budget esplicito di token, chiamate e pagine.

Questo articolo percorre il progetto: la pipeline a pass, come i candidati di contraddizione si formano e si giudicano, come il budget mantiene onesta la corsa, e perché la gate di approvazione - non il modello - decide ciò che parte.

Una funzione Community (la pipeline gira sulla stessa infrastruttura dell'orchestratore del chat; budget per-run). Fatti da FACT-CENSUS.md F-SYNTH-1.

La pipeline a pass

Una corsa di sintesi è orchestrate dalla facade del servizio sopra un insieme di pass:

  1. Estrazione delle entità - sul corpus selezionato.
  2. Le per-pagine - la pipeline stende la pagina propria di ciascuna fonte.
  3. I blocchi finali - la pagina combinata del wiki, scritta col blocco advisor dell'archivio che prende il ruolo di sistema della pass decisiva (la segheratura d'iniezione è esplicita: i binari advisor entrano solo nell'ultimo pass, quello che decide).

I pass girano attraverso un unico incapsulatore di chiamate LLM, così un budget conteggia ogni chiamata in un solo posto.

La rilevazione delle contraddizioni: pre-filtro, poi giudice

Accostare ogni affermazione a ogni altra è quadratico e per lo più rumore. La spaccatura della pipeline:

  • Le coppie candidate si formano per similarità - un pre-filtro al Jaccard con soglia bassa (0,15) porta in superficie le coppie che valgono un secondo sguardo.
  • Le coppie sospette vanno al giudice LLM - una chiamata per coppia legge le due affermazioni e decide: contraddizione o no.
  • Il verdetto atterra come marcatore di contraddizione sulle pagine coinvolte, con il riassunto dell'affermazione a una riga estratto per ciascun lato.

E un campione di fedeltà settimanale misura l'accuratezza del processo nel tempo - la qualità del rilevatore è essa stessa un numero registrato e osservato.

Il budget tracker

Ogni corsa cinge TRE budget - token, chiamate LLM, pagine prodotte. Si alimentano dal contatore dello stesso incapsulatore:

  • Fermarsi = uno stato nominato e atteso: l'output già scritto resta valido; il risultato della corsa non è mai un limbo di mezza-pagina.
  • Il watchdog parallels quello dell'orchestratore del chat - una corsa sfuggita non può spendere oltre la propria configurazione.

Ecco la guardia dell'operatore: la sintesi è un consumatore di sfondo, e il suo appetito è esplicito.

Approvazione selettiva - ciò che la rende sicura

Le modifiche proposte dalla pipeline NON atterrano da sole. Ogni scrittura passa dalla approvazione:

  1. La pagina proposta genera prima un'anteprima deterministica (la stessa macchina del percorso di scrittura del wiki) - ciò che rivedi è ciò che atterrebbe.
  2. L'approvatore conferma - e solo le modifiche approvate si persistono (applyApprovedChanges).
  3. Ogni pagina proposta porta il propre frontmatter delle fonti - la provenance viaggia con la proposta.

Il modello propone; l'umano spedisce. Quella divisione è l'intera postura di sicurezza della pipeline: un LLM può leggere tutto, ma il filesystem odota solo l'approvatore.

La pulizia: trigger e il reaper

  • Trigger post-OCR - quando una scansione compie, il servizio di trigger in coda una corsa di sintesi (con cooldown, così un lotto di scansioni non assalta la coda).
  • Il reaper - uno scheduler ogni 15 minuti capovolge le corse orfane in PROCESSING a FAILED - una corsa caduta non può mai essere scambiata per una occupata.

Per continuare

La guida porta il dettaglio operativo - le tabelle dei pass, gli endpoint dei trigger, le chiavi del budget - su /it/docs/synthesis-pipeline:

Provenance: Simmetric Chat docs/SERVICES.md (il dominio Sintesi; i moduli synthesis*) + README.md:33, docs/WIKI_SCHEMA_LAYER.md (la segheratura del Pass-4), CHANGELOG.md v0.28.1 - allo stato documentale fissato dal census (SHA aca5b8ff).

Articoli correlati