digline

Código abierto, Apache-2.0v0.15.0, previa a 1.0Traducido del inglés con un modelo de IA. Original en inglés del 2026-09-17

Cambiaste un prompt.¿Qué más empeoró?

Un prompt nuevo, una versión de modelo, la actualización de una biblioteca. La aplicación sigue funcionando y una respuesta de la que dependía tu cliente ahora es incorrecta. digline te dice qué caso, en cuánto y si la caída es mayor que el propio ruido del juez.

pip install digline

Requiere Python 3.12 o posterior

  • El inicio rápido no necesita clave de API
  • Sin servidor, sin telemetría
  • Código de salida para CI
digline comparesupport · exit 1

how-do-i-returnempeoró

llm_rubric
1.00 → 0.40
contains
1.00 → 0.00
También peor
is-it-waterproof, where-is-my-order
prompt.md · +1 −1 líneas, modificadas respecto a la referencia
-Sign every reply as "— Northwind Support".+Sign every reply as "— the Northwind team".

6 checks empeoraron. CI se detiene aquí.exit 1

Modelo y juez predefinidos, 1 muestra por caso: en esta demostración no se mide el ruido del juez. Capturado con digline 0.15.0, run 2026-09-17T13-40-13-686329… · home.json

El problema

Una aplicación LLM puede empeorar sin que nada se rompa.

Las pruebas pasan, la aplicación responde, la demostración funciona. Luego un cambio en un prompt, una versión de modelo o la actualización de una biblioteca modifica una respuesta de la que dependía tu cliente, y nada en el pipeline lo indica.

Cómo suele ocurrir

  • Volver a ejecutar las evaluaciones y mirar la media
  • No hay forma de distinguir una caída real de un mal día del juez
  • Lo que se aprobó, y cuándo, vive en el cuaderno de alguien
  • El cliente descubre la regresión primero

Con una referencia aprobada en el repositorio

  • Cada cambio se compara caso por caso
  • Se mide el ruido del juez antes de declarar una caída
  • La referencia es un archivo en un PR, con un commit y un nombre
  • CI se detiene antes que el lanzamiento

Cómo encaja

Vive en tu repositorio, no en un servidor.

No hay que registrarse en nada ni alojar nada. La referencia es un archivo y la herramienta, un paquete.

La referencia es un archivo de tu repositorio

Puntuaciones, prompt y configuración del modelo, versionados junto al código. Cambia mediante un PR, así que cada aprobación lleva un commit y un nombre.

Uno dependencia, sin SDK de proveedor

digline instala jsonschema y nada más propio. Sin servidor, sin telemetría, nada alojado. En CI el código de salida es toda la interfaz.

Proveedores

Un plugin para cada uno, que se instala solo si lo usas.

  • Anthropicdigline-anthropic
  • OpenAIdigline-openai y cualquier endpoint compatible con OpenAI
  • Amazon Bedrockdigline-bedrock

Ejemplos resueltos

Una aplicación real en cada framework, con su suite.

Otras formas de ejecutarlo

En un contenedor, o para un agente.

Checks

Primero lo determinista, el juez al final.

22 checks hoy, en cinco tipos. La lista crece; los tipos se mantienen.

Sin referencia y con ella

El mismo run de evaluación, leído de dos maneras.

Una línea del prompt cambió entre dos runs. A la izquierda, las puntuaciones que obtienes sin referencia. A la derecha, lo que imprime digline frente a la referencia aprobada.

El run nuevo por sí solo sin referencia

case               llm_rubric  containshow-do-i-return    0.40        0.00is-it-waterproof   0.40        0.00where-is-my-order  0.40        0.00¿Eran 1.00 ayer? ¿Cambió algo?Nada aquí lo dice.
sin baselineningún cambio registradosin código de salida

digline compare frente a la referencia

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 líneas másexit 1
cada check con su nombrecambio de prompt detectadoexit 1

Las dos columnas provienen del mismo run capturado, digline 0.15.0. La de la izquierda muestra solo las puntuaciones nuevas; la de la derecha es la salida de la comparación, abreviada donde se indica.

Pruébalo

El inicio rápido funciona sin clave de API.

Necesitas Python 3.12 o posterior. La llamada al modelo de la guía es predefinida, así que puedes ver todo el ciclo antes de conectar un proveedor real.

  1. digline run

    Ejecuta la suite y escribe un archivo de run.

  2. digline promote

    Una persona aprueba ese run como referencia.

  3. digline compare

    Cada run posterior se comprueba contra ella.

escribes
digline imprime
$ 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.

Salida capturada de digline 0.15.0, run 2026-09-17T13-40-13-029556…. Guía completa

En un flujo con agentes

Dónde se sitúa el check cuando un agente hace los cambios.

El agente edita; digline decide si la edición puede seguir adelante.

Diagrama animado de digline en un flujo con agentes: la salida de un agente pasa por digline, un gate dentro de tu repositorio, que la mide frente a un noise floor y al baseline aprobado. La deriva que se mantiene dentro del noise floor se absorbe en silencio; una deriva real llega a una persona en forma de dossier, y solo la firma de esa persona actualiza el baseline. Cuando el agente intenta recurrir a promote, el servidor responde que esa herramienta no existe. Diagrama animado de digline en un flujo con agentes: la salida de un agente pasa por digline, un gate dentro de tu repositorio, que la mide frente a un noise floor y al baseline aprobado. La deriva que se mantiene dentro del noise floor se absorbe en silencio; una deriva real llega a una persona en forma de dossier, y solo la firma de esa persona actualiza el baseline. Cuando el agente intenta recurrir a promote, el servidor responde que esa herramienta no existe.

Hoja de ruta

Hacia dónde va

Entregado — credibilidad del veredicto: una caída es una regresión solo cuando sale del intervalo que el baseline midió entre sus propias muestras, y el trabajo pendiente ahora es la adopción.

Dos cosas nunca estarán en la hoja de ruta. Un servicio alojado que reciba tus payloads — prompts, salidas y el juez se quedan en tu perímetro. Y la recopilación de datos de uso, nunca.

toda la hoja de ruta, con vías y gates en lugar de fechas →

Pilotos

¿Desarrollas funciones con LLM para clientes?

Busco unos pocos equipos piloto que usen digline en proyectos reales — sobre todo equipos que construyen y mantienen soluciones de IA para terceros. A cambio obtienes soporte directo y voz en lo que se construya después.

Escríbeme: hello@digline.dev o abre una issue en GitHub