Sabato 24 ottobre 2026
L’edizione di oggi
Millebit
AI · Software · QA
Il segnale, non il rumore.

Gli articoli di Millebit sono scritti con l’intelligenza artificiale a partire da fonti citate in ogni pezzo. Come lavoriamo

Sviluppo software

Simon Willison rilascia condense-json 1.0 per ridurre stringhe duplicate nei JSON

Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.

La libreria sostituisce porzioni ripetute di testo con una sintassi {$r} e permette di ricostruire l'originale con uncondense_json, pensata anche per comprimere log di LLM in SQLite.

Illustrazione generata con l’intelligenza artificiale

Simon Willison ha pubblicato condense-json 1.0, una libreria che compatta i JSON sostituendo stringhe o sottostringhe ricorrenti con riferimenti e permette di invertire l’operazione per tornare all’originale1.

La libreria prende un JSON di input e un oggetto di sostituzioni. Scansiona tutte le stringhe nel documento, anche in oggetti annidati e array. Cerca le corrispondenze definite nell’oggetto e le rimpiazza con una forma compatta {"$r": [...]}. I pezzi variabili restano testo letterale. I segmenti ripetuti diventano riferimenti con la sintassi {"$": ""}. La trasformazione è reversibile: con uncondense_json(condensed, replacements) si ricostruisce l’input usando lo stesso oggetto di sostituzioni1.

Esempio dal README. Input:

{
  "foo": {
    "bar": {
      "string": "This is a string with foxes in it",
      "nested": {
        "more": ["Here is a string", "another with foxes in it too"]
      }
    }
  }
}

Oggetto di sostituzioni:

{"1": "with foxes in it"}

Output di condense_json(input_json, replacements):

{
  "foo": {
    "bar": {
      "string": {"$r": ["This is a string ", {"$": "1"}]},
      "nested": {
        "more": ["Here is a string", {"$r": ["another ", {"$": "1"}, " too"]}]
      }
    }
  }
}

In questo esempio, la sottostringa “with foxes in it” è associata alla chiave "1" nell’oggetto di sostituzioni. Le occorrenze nel JSON diventano sequenze che combinano testo letterale e riferimenti {"$": "1"} all’interno di {"$r": [...]}. Le stringhe senza corrispondenze restano inalterate. Con uncondense_json(...), la libreria ripristina le stringhe originali usando lo stesso oggetto di sostituzioni1.

Il modello d’uso è semplice: si definiscono a priori le sottostringhe che conviene comprimere. La libreria applica quella mappa in modo consistente sull’intero documento. Il vantaggio emerge quando molte stringhe ripetono gli stessi segmenti. L’encoding compatto sostituisce quelle ripetizioni con token brevi, preservando la capacità di tornare al JSON iniziale1.

Willison indica un caso d’uso concreto: ridurre lo spazio dei log in SQLite generati da modelli linguistici. Rimanda a “PR #1586” per seguire lo stato più recente del lavoro su quel fronte1.

Nel presentare la 1.0, Willison scrive di aver raccolto correzioni “sensate e non dirompenti” prima del rilascio e di voler essere più deciso nel marchiare come 1.0 progetti già maturi1. Per condense-json, questo significa una prima versione stabile senza cambiamenti radicali al comportamento dichiarato1.

La scelta di usare riferimenti espliciti nel JSON, invece di un formato binario, rende l’output leggibile e facile da ispezionare nei diff e nei log. È un dettaglio che aiuta chi integra la libreria in pipeline e strumenti esistenti1.

Fonti

  1. condense-json 1.0 Simon Willison · 3 agosto 2026
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici

Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:

  • Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono.
  • Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale.
  • Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica.

I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.

Come funziona Millebit, nel dettaglio →

Hai trovato un errore? Segnalacelo
Tipo di segnalazione

Leggiamo ogni segnalazione. Le correzioni fatte sono elencate in Correzioni. L’email, se la lasci, serve solo a risponderti.