Cola de triaje basada en señales
Prioriza la cola de anotación según una señal de calidad por elemento para que los revisores vean primero las trazas peores o más sospechosas, en lugar de anotar por orden de llegada. Enruta por errores del agente, votos negativos en producción, puntuaciones bajas o cualquier campo personalizado.
La cola de triaje prioriza la anotación según una señal de calidad por elemento, de modo que los revisores vean primero los elementos peores o más sospechosos en lugar de trabajar por orden de llegada (FIFO). La señal puede ser un error del agente, un voto negativo en producción, una puntuación automática baja o cualquier campo personalizado. Se lee tanto para los datos cargados de forma estática como para las trazas ingeridas en tiempo de ejecución, y aparece en dos lugares: un banner durante la anotación y la página de clasificación /admin/triage-queue.
Cuando el tiempo de revisión humana es escaso, importa el orden en que los elementos llegan a los anotadores. Enrutar primero los elementos más informativos es la mitad de triaje de un bucle de evaluación activa, y se combina de forma natural con la alineación del juez para enviar primero los desacuerdos y errores a las personas.
Una insignia de prioridad que explica por qué un elemento se marcó para revisión
Configuración
triage:
enabled: true
order: desc # high priority first (default); 'asc' = low first
default_priority: 0 # items matching no rule
show_badge: true # banner during annotation explaining the priority
rules: # evaluated in order; highest matching priority wins
- name: "Agent errored"
badge: "Agent errored" # banner text (defaults to name)
priority: 100
when:
field: status # dotted paths allowed, e.g. metadata.tags
equals: error
- name: "Negative feedback"
priority: 80
when:
field: feedback
in: [thumbs_down, negative]
- name: "Low quality score"
priority: 60
when:
field: score
lt: 0.5
# Serve the highest-priority items first. If you enable triage without setting
# assignment_strategy, Potato defaults to `priority` automatically.
assignment_strategy: prioritySi omites rules (y signal_field), Potato usa un conjunto predeterminado listo para usar: estado de error (100), retroalimentación negativa (80) y puntuación inferior a 0.5 (60).
Operadores de condición
| Operador | Significado |
|---|---|
equals | coincidencia exacta (las cadenas no distinguen mayúsculas) |
in | el valor es uno de una lista |
contains | el campo de lista contiene, o coincidencia de subcadena |
lt / lte / gt / gte | comparación numérica |
exists | el campo está presente o ausente (true/false) |
Leer una señal numérica directamente
En lugar de las reglas, o además de ellas, puedes leer un número directamente de un campo:
triage:
enabled: true
signal_field: quality_score # used as the priority when no rule matches
invert_signal: true # lower score => higher priorityCómo la prioridad impulsa la asignación
Configura assignment_strategy: priority. Cuando un usuario necesita elementos, la cola se ordena por el triage_priority almacenado de cada elemento (descendente por defecto; order: asc lo invierte), con los empates resueltos por el orden de carga original para garantizar el determinismo, y se asignan los elementos superiores. La señal se calcula una sola vez en el momento de la carga o la ingesta y se almacena en el elemento, de modo que la asignación sigue siendo barata.
La insignia (show_badge: true) es independiente de la estrategia. Explica por qué se marcó un elemento aunque mantengas una estrategia de asignación distinta.
La página de cola de administración
GET /admin/triage-queue # JSON
GET /admin/triage-queue?format=html # rendered page
Envía el encabezado X-API-Key. La página muestra todos los elementos restantes (incompletos) clasificados por prioridad, con la regla que los marcó, el recuento de anotaciones actual y si ya están asignados.
Ingesta en tiempo de ejecución
Como el puntuador se ejecuta a medida que se añaden los elementos, las trazas ingeridas en tiempo de ejecución mediante la ingesta de trazas (el endpoint del webhook o un sondeador de Langfuse) se puntúan a medida que llegan y se insertan automáticamente en la cola de prioridad. Una traza con puntuación baja o con error introducida a mitad de sesión se adelanta a las limpias que aún esperan.
Notas y limitaciones
- La prioridad se calcula en el momento de la inserción. Editar
triage.rulesy reiniciar vuelve a puntuar todo en la siguiente carga. - Una regla mal formada registra una advertencia y se omite; nunca bloquea la carga de datos.
- El triaje ordena qué elementos se sirven. No cambia los límites de anotación por elemento.
Relacionado
- Alineación juez ↔ humano — cuantificar el acuerdo entre juez y humano
- Evaluación de trazas en tres paneles — leer rápidamente las trazas entrantes
- Anotación agéntica — ingesta y visualización de trazas
Para detalles de implementación, consulta la documentación de origen.