digline

Open source, Apache-2.0v0.15.0, pre-1.0Tradotto dall'inglese con un modello AI. Originale in inglese del 2026-09-17

Hai cambiato un prompt.Cos’altro è peggiorato?

Un prompt nuovo, una versione del modello, l’aggiornamento di una libreria. L’applicazione funziona ancora, e una risposta su cui il tuo cliente contava adesso è sbagliata. digline ti dice quale caso, di quanto, e se il calo è più grande del rumore proprio del giudice.

pip install digline

Richiede Python 3.12 o successiva

  • Il quickstart non richiede una chiave API
  • Nessun server, nessuna telemetria
  • Exit code per la CI
digline comparesupport · exit 1

how-do-i-returnpeggiorato

llm_rubric
1.00 → 0.40
contains
1.00 → 0.00
Peggiorati anche
is-it-waterproof, where-is-my-order
prompt.md · +1 −1 righe, modificate rispetto al riferimento
-Sign every reply as "— Northwind Support".+Sign every reply as "— the Northwind team".

6 check sono peggiorati. La CI si ferma qui.exit 1

Modello e giudice preregistrati, 1 campione per caso: in questa demo il rumore del giudice non viene misurato. Catturato con digline 0.15.0, run 2026-09-17T13-40-13-686329… · home.json

Il problema

Un’applicazione LLM può peggiorare senza che nulla si rompa.

I test passano, l’applicazione risponde, la demo funziona. Poi una modifica al prompt, una versione del modello o l’aggiornamento di una libreria cambia una risposta su cui il tuo cliente contava, e nella pipeline nulla lo segnala.

Come va di solito

  • Rieseguire le eval e guardare la media
  • Nessun modo per distinguere un calo reale da un giudice in giornata cattiva
  • Ciò che è stato approvato, e quando, sta nel notebook di qualcuno
  • Il cliente trova la regressione per primo

Con un riferimento approvato nel repo

  • Ogni modifica viene confrontata caso per caso
  • Il rumore del giudice viene misurato prima di dichiarare un calo
  • Il riferimento è un file in una PR, con sopra un commit e un nome
  • La CI si ferma prima che lo faccia il rilascio

Come si inserisce

Vive nel tuo repo, non su un server.

Nessuna iscrizione e niente da ospitare. Il riferimento è un file, e lo strumento è un pacchetto.

Il riferimento è un file nel tuo repo

Punteggi, prompt e configurazione del modello, committati accanto al codice. Cambia tramite una PR, quindi ogni approvazione ha un commit e un nome.

Uno dipendenza, nessun SDK di provider

digline installa jsonschema e nient’altro di proprio. Nessun server, nessuna telemetria, niente in hosting. In CI l’exit code è tutta l’interfaccia.

Provider

Un plugin per ciascuno, installato solo se lo usi.

  • Anthropicdigline-anthropic
  • OpenAIdigline-openai e qualsiasi endpoint compatibile con OpenAI
  • Amazon Bedrockdigline-bedrock

Esempi svolti

Un’applicazione reale su ciascun framework, con la sua suite.

Altri modi per eseguirlo

In un container, o per un agente.

Check

Prima il deterministico, il giudice per ultimo.

22 check oggi, in cinque tipi. L’elenco cresce; i tipi restano.

Senza riferimento, e con uno

Lo stesso run di valutazione, letto in due modi.

Una riga del prompt è cambiata tra due run. A sinistra, i punteggi che ottieni senza un riferimento. A destra, ciò che digline stampa a confronto con quello approvato.

Il nuovo run da solo nessun riferimento

case               llm_rubric  containshow-do-i-return    0.40        0.00is-it-waterproof   0.40        0.00where-is-my-order  0.40        0.00Ieri erano 1.00? È cambiato qualcosa?Qui nulla lo dice.
nessuna baselinenessuna modifica registratanessun exit code

digline compare a confronto con il riferimento

6 checks got worse compared with the reference. Every case could be judged. No case is suspended. The suite is unchanged from the reference. 1 file under test changed since the reference.  prompt.md · +1 −1 lineshow-do-i-return · llm_rubric · Went from passing to failing (1.000000 → 0.400000).how-do-i-return · contains · Went from passing to failing (1.000000 → 0.000000).… 4 altre righeexit 1
ogni check con il suo nomemodifica del prompt rilevataexit 1

Entrambe le colonne vengono dallo stesso run catturato, digline 0.15.0. Quella di sinistra mostra solo i punteggi nuovi; quella di destra è l’output del confronto, abbreviato dove indicato.

Provalo

Il quickstart funziona senza chiave API.

Serve Python 3.12 o successiva. La chiamata al modello nella guida è preregistrata, così puoi vedere l’intero ciclo prima di collegare un provider reale.

  1. digline run

    Esegue la suite e scrive un file di run.

  2. digline promote

    Una persona approva quel run come riferimento.

  3. digline compare

    Ogni run successivo viene verificato rispetto a quello.

scrivi
digline stampa
$ pip install digline==0.15.0

      
$ digline run --suite support.py
2026-09-17T13-40-13-029556-00-00-282b0c02d6511fb4
$ digline promote --suite support.py --run latest
support baseline set to 2026-09-17T13-40-13-029556-00-00-282b0c02d6511fb4
$ digline compare --suite support.py --run latest
Nothing got worse compared with the reference. Every case could be judged. No case is suspended. The suite is unchanged from the reference.

Output catturato da digline 0.15.0, run 2026-09-17T13-40-13-029556…. Guida completa

In un flusso agentico

Dove si colloca il check quando le modifiche le fa un agente.

L’agente modifica, digline decide se la modifica può andare avanti.

Diagramma animato di digline in un flusso agentico: l’output di un agente passa attraverso digline, un gate interno al tuo repository, che lo misura rispetto a un noise floor e alla baseline approvata. Uno scostamento entro il noise floor viene assorbito in silenzio; uno scostamento reale arriva a una persona sotto forma di dossier, e solo la firma della persona aggiorna la baseline. Quando l’agente prova a usare promote, il server risponde che quello strumento non esiste. Diagramma animato di digline in un flusso agentico: l’output di un agente passa attraverso digline, un gate interno al tuo repository, che lo misura rispetto a un noise floor e alla baseline approvata. Uno scostamento entro il noise floor viene assorbito in silenzio; uno scostamento reale arriva a una persona sotto forma di dossier, e solo la firma della persona aggiorna la baseline. Quando l’agente prova a usare promote, il server risponde che quello strumento non esiste.

Roadmap

Dove sta andando

Rilasciato — credibilità del verdetto: un calo è una regressione solo quando esce dall’intervallo che la baseline ha misurato sui propri campioni, e il lavoro aperto adesso è l’adozione.

Due cose non entreranno mai nella roadmap. Un servizio in hosting che riceve i tuoi payload — prompt, output e giudice restano nel tuo perimetro. E la raccolta di dati d’uso, mai.

l’intera roadmap, per percorsi e gate anziché per date →

Progetti pilota

Sviluppi funzionalità LLM per i clienti?

Cerco alcuni team pilota che usino digline su progetti reali — in particolare team che sviluppano e mantengono soluzioni di AI per conto terzi. In cambio ottieni supporto diretto e voce in capitolo su cosa verrà sviluppato dopo.

Scrivimi: hello@digline.dev oppure apri una issue su GitHub

Inizia con una suite e un run approvato.

Per la guida non serve nessuna chiave.

pip install digline