Skip to content

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.

Exibição eval_trace em três painéisUm 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:

bash
python potato/flask_server.py start examples/agent-traces/continuous-eval/config.yaml -p 8000

O exemplo também traz uma variante com monitoramento de diretório (config-watch.yaml) para ingerir arquivos de rastro depositados.

Configuração

yaml
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: true

Opções

OpçãoPadrãoDescrição
pane_labels["Reasoning", "Function Calls", "Final Answer"]Cabeçalhos dos três painéis.
show_step_numberstrueMostra os números de passo #N nos cartões de raciocínio e de chamada.
collapse_long_outputstrueRecolhe os resultados de ferramenta mais longos que max_output_lines em um bloco expansível.
max_output_lines20Limite de linhas para recolher os resultados.
link_stepstrueRealce entre painéis: clicar em um cartão realça os cartões vinculados nos demais painéis.
compactfalsePreenchimento 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}:

json
{
  "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, systemRaciocínio
Action, tool, function, callChamadas 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 corresponderResposta 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 SSEtrace_ingestion: {enabled: true} expõe um endpoint de webhook e transmite os novos rastros aos anotadores.
  • Sondagem do Langfuse — adicione uma fonte langfuse em trace_ingestion.sources.
  • Monitoramento de diretóriodata_directory junto com watch_data_directory: true ingere os arquivos .json e .jsonl depositados.

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 como reasoning_quality, tool_use_correctness ou answer_helpfulness, como no exemplo.
  • Anotação de trechos não é suportada em eval_trace. Use uma exibição de rastro de agente ou code se precisar de realce de trechos no texto do rastro.

Relacionados

Para detalhes de implementação, consulte a documentação de origem.