Avaliação de rastro em três painéis (eval_trace)
A exibição eval_trace divide o rastro de um agente em três painéis sincronizados (Raciocínio, Chamadas de função e Resposta final) para que o avaliador veja num relance o que o agente pensou, fez e produziu. Criada para avaliação contínua.
A exibição eval_trace divide um único rastro de agente em três painéis sincronizados: Raciocínio, Chamadas de função e Resposta final. O avaliador vê lado a lado o que o agente pensou, o que fez e o que produziu, o que se adequa à avaliação contínua, em que novos rastros chegam e precisam ser julgados rapidamente.
Ao contrário de uma exibição vertical de rastro de agente, que empilha um rastro intercalado em uma única coluna, eval_trace decompõe um rastro em seus três componentes semânticos, de modo que a estrutura do comportamento do agente fica visível sem precisar rolar.
Um rastro de agente dividido nos painéis Raciocínio, Chamadas de função e Resposta final
Início rápido
Execute o exemplo incluído a partir da raiz do repositório:
python potato/flask_server.py start examples/agent-traces/continuous-eval/config.yaml -p 8000O exemplo também traz uma variante com monitoramento de diretório (config-watch.yaml) para ingerir arquivos de rastro depositados.
Configuração
instance_display:
layout:
direction: vertical # task header above the (internally horizontal) panes
gap: 12px
fields:
- key: task_description
type: text
label: "Task"
- key: trace # the field holding the agent trace
type: eval_trace
label: "Agent Trace"
display_options:
pane_labels: ["Reasoning", "Function Calls", "Final Answer"]
show_step_numbers: true
collapse_long_outputs: true
max_output_lines: 12
link_steps: trueOpções
| Opção | Padrão | Descrição |
|---|---|---|
pane_labels | ["Reasoning", "Function Calls", "Final Answer"] | Cabeçalhos dos três painéis. |
show_step_numbers | true | Mostra os números de passo #N nos cartões de raciocínio e de chamada. |
collapse_long_outputs | true | Recolhe os resultados de ferramenta mais longos que max_output_lines em um bloco expansível. |
max_output_lines | 20 | Limite de linhas para recolher os resultados. |
link_steps | true | Realce entre painéis: clicar em um cartão realça os cartões vinculados nos demais painéis. |
compact | false | Preenchimento e espaçamento mais compactos. |
Formato dos dados
eval_trace aceita os mesmos formatos de rastro que a exibição de rastro de agente. O mais comum é uma lista de passos {speaker, text}:
{
"id": "eval_001",
"task_description": "Find a vegan lasagna recipe.",
"trace": [
{"speaker": "Agent (Thought)", "text": "I'll search for a highly-rated recipe."},
{"speaker": "Agent (Action)", "text": "web_search(query='vegan lasagna')"},
{"speaker": "Environment", "text": "10 results found..."},
{"speaker": "Agent (Final Answer)", "text": "Here's a great recipe: ..."}
]
}Os formatos thought/action/observation e step_type/content também são suportados.
Como os passos se mapeiam para os painéis
| Passo (tipo inferido do speaker ou do rótulo) | Painel |
|---|---|
Thought, raciocínio, planejamento, system | Raciocínio |
Action, tool, function, call | Chamadas de função (o Environment/resultado adjacente aninha-se sob a chamada) |
Final Answer, send_message, respond, finish, ou a última ação se nenhuma corresponder | Resposta final |
Para definir uma resposta final explícita, encerre o rastro com um passo cujo speaker corresponda a um padrão de resposta (como "Agent (Final Answer)") ou com uma ação send_message(...).
Vinculação de passos
Os passos são agrupados em ciclos lógicos: um pensamento e as chamadas que ele dispara compartilham um índice de passo. Com link_steps: true, clicar em qualquer cartão realça todos os cartões que compartilham esse índice entre os painéis, para que você possa rastrear um pensamento até a ação que ele produziu.
Avaliação contínua
Combine eval_trace com qualquer um dos transportes de ingestão em tempo de execução do Potato para que os rastros sejam avaliados à medida que chegam:
- Webhook e SSE —
trace_ingestion: {enabled: true}expõe um endpoint de webhook e transmite os novos rastros aos anotadores. - Sondagem do Langfuse — adicione uma fonte
langfuseemtrace_ingestion.sources. - Monitoramento de diretório —
data_directoryjunto comwatch_data_directory: trueingere os arquivos.jsone.jsonldepositados.
Os rastros adicionados em tempo de execução podem ser atribuídos aos anotadores de imediato. Combine isso com a fila de triagem para empurrar para a frente os rastros com erro ou com pontuação baixa.
Notas e limitações
eval_traceé apenas para exibição; por si só não coleta nenhuma anotação. Combine-o com esquemas de anotação comoreasoning_quality,tool_use_correctnessouanswer_helpfulness, como no exemplo.- Anotação de trechos não é suportada em
eval_trace. Use uma exibição de rastro de agente oucodese precisar de realce de trechos no texto do rastro.
Relacionados
- Fila de triagem baseada em sinais — priorize quais rastros recebidos serão revisados
- Edição de trajetórias para SFT/DPO — transforme correções em dados de treinamento
- Anotação agêntica — configuração dos campos de exibição e ingestão
Para detalhes de implementação, consulte a documentação de origem.