Prototypes d'historique de texte compressé dans SQLite
OpenAI
Simon Willison partage son idée de stocker les historiques de révision dans SQLite en utilisant des tableaux JSON compressés de toutes les versions précédentes. Il discute du prototype avec le mode vocal GPT-Live, puis demande à GPT-5.6 Sol Pro de construire des prototypes expérimentaux, qui montrent d'excellents résultats de compression.
Simon Willison s'intéresse aux options pour stocker les historiques de révisions dans les bases de données relationnelles. Lors d'une promenade avec son chien, il a eu une idée : prendre le texte complet de chaque version précédente dans un grand tableau JSON de chaînes de caractères et appliquer une compression zlib ou zstd sur l'ensemble. Il a discuté du prototype avec le mode vocal GPT-Live de l'application ChatGPT sur iPhone, expliquant qu'une colonne d'historique sur une table pourrait être un blob stockant un tableau JSON compressé de tous les documents précédents, ainsi qu'un tableau JSON séparé d'horodatages qui n'a pas besoin d'être compressé. Il a ensuite saisi une invite textuelle à GPT-5.6 Sol Pro pour créer des prototypes expérimentaux en Python. Les prototypes ont bien fonctionné : 1 000 révisions simulées d'un document ont produit 20,4 Mo de texte de révision brut qui s'est compressé en 80,3 Ko sous forme de tableau JSON compressé avec Zstandard. Pour éviter le surcoût de décompression et de recompression de l'intégralité du tableau à chaque modification, Sol a suggéré de diviser l'historique en plusieurs lignes, chacune contenant au maximum soit 128 révisions, soit 3 Mo de JSON non compressé.
Source: Simon Willison —
original
