Fila de triagem baseada em sinais
Priorize a fila de anotação por um sinal de qualidade por item para que os revisores vejam primeiro os traces piores ou mais suspeitos, em vez de anotar por ordem de chegada. Encaminhe por erros do agente, votos negativos em produção, pontuações baixas ou qualquer campo personalizado.
A fila de triagem prioriza a anotação por um sinal de qualidade por item, para que os revisores vejam primeiro os itens piores ou mais suspeitos em vez de trabalhar por ordem de chegada (FIFO). O sinal pode ser um erro do agente, um voto negativo em produção, uma pontuação automática baixa ou qualquer campo personalizado. Ele é lido tanto para dados carregados estaticamente quanto para traces ingeridos em tempo de execução, e aparece em dois lugares: um banner durante a anotação e a página de classificação /admin/triage-queue.
Quando o tempo de revisão humana é escasso, a ordem em que os itens chegam aos anotadores importa. Encaminhar primeiro os itens mais informativos é a metade de triagem de um ciclo de avaliação ativa, e combina naturalmente com o alinhamento do juiz para enviar discordâncias e erros primeiro às pessoas.
Um selo de prioridade que explica por que um item foi sinalizado para revisão
Configuração
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: prioritySe você omitir rules (e signal_field), o Potato usa um conjunto padrão pronto para uso: status de erro (100), feedback negativo (80) e pontuação abaixo de 0.5 (60).
Operadores de condição
| Operador | Significado |
|---|---|
equals | correspondência exata (as cadeias não diferenciam maiúsculas) |
in | o valor é um de uma lista |
contains | o campo de lista contém, ou correspondência de subcadeia |
lt / lte / gt / gte | comparação numérica |
exists | o campo está presente ou ausente (true/false) |
Ler um sinal numérico diretamente
Em vez das regras, ou além delas, você pode ler um número diretamente de um campo:
triage:
enabled: true
signal_field: quality_score # used as the priority when no rule matches
invert_signal: true # lower score => higher priorityComo a prioridade orienta a atribuição
Defina assignment_strategy: priority. Quando um usuário precisa de itens, a fila é ordenada pelo triage_priority armazenado de cada item (decrescente por padrão; order: asc inverte), com os empates resolvidos pela ordem de carregamento original para garantir determinismo, e os itens do topo são atribuídos. O sinal é calculado uma única vez no momento do carregamento ou da ingestão e armazenado no item, então a atribuição continua barata.
O selo (show_badge: true) é independente da estratégia. Ele explica por que um item foi sinalizado mesmo que você mantenha uma estratégia de atribuição diferente.
A página de fila do administrador
GET /admin/triage-queue # JSON
GET /admin/triage-queue?format=html # rendered page
Envie o cabeçalho X-API-Key. A página mostra cada item restante (incompleto) classificado por prioridade, com a regra que o sinalizou, a contagem atual de anotações e se ele já está atribuído.
Ingestão em tempo de execução
Como o pontuador é executado à medida que os itens são adicionados, os traces ingeridos em tempo de execução por meio da ingestão de traces (o endpoint de webhook ou um poller do Langfuse) são pontuados conforme chegam e se encaixam automaticamente na fila de prioridade. Um trace com pontuação baixa ou com erro inserido no meio da sessão passa à frente dos limpos que ainda aguardam.
Notas e limitações
- A prioridade é calculada no momento da inserção. Editar
triage.rulese reiniciar repontua tudo no próximo carregamento. - Uma regra malformada registra um aviso e é ignorada; ela nunca bloqueia o carregamento dos dados.
- A triagem ordena quais itens são servidos. Ela não altera os limites de anotação por item.
Relacionados
- Alinhamento juiz ↔ humano — quantificar a concordância entre juiz e humano
- Avaliação de traces em três painéis — ler rapidamente os traces recebidos
- Anotação agêntica — ingestão e exibição de traces
Para detalhes de implementação, consulte a documentação de origem.