Carregando
0x50Lição 6 de 8

Avalie o ciclo inteiro

Avalie execuções inteiras, não respostas isoladas: resultados, número de etapas, ações proibidas - e a confiabilidade em tentativas repetidas.

22 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Avaliar rastros completos com critérios de resultado, orçamento e segurança
  • Medir a confiabilidade em execuções repetidas com pass^k
  • Localizar qual etapa do ciclo causou uma falha

Um ciclo pode produzir uma mensagem final perfeita depois de apagar os arquivos errados. Então avalie a execução inteira: ela atingiu o objetivo (verificado no ambiente), dentro do orçamento, usando só ações permitidas, com um motivo de parada sensato? Guarde os rastros (traces) - cada decisão, chamada, resultado e motivo de parada, com os segredos mascarados -, para ver onde uma falha começou: no planejamento, na escolha da ferramenta, nos argumentos, na leitura dos resultados ou na parada.

Os agentes são estocásticos, então rode cada tarefa várias vezes. O pass@k pergunta “pelo menos uma de k tentativas deu certo?” - serve quando uma pessoa escolhe a melhor tentativa. Para um agente que precisa funcionar todas as vezes, use o pass^k (passk\text{pass}^k): a chance de todas as kk tentativas darem certo (τ-bench, Yao et al., 2024). Uma taxa de sucesso de 70% por tarefa parece razoável até você ver que três execuções seguidas só dão todas certo cerca de 29% das vezes.

Experimente

Até 15 XP

Que etapa falhou?

Cada trecho de rastro mostra uma falha. Em que ponto do ciclo ela começou?

0 de 5 classificadosPontuação 0/0
  • “Chamou search_orders(customer="Ana") em vez de search_orders(customer_id="C-118")”

  • “Os testes imprimiram “3 failed”, e o agente respondeu “Todos os testes passaram!””

  • “Rodou 60 etapas tentando de novo o mesmo comando que falhava”

  • “get_logs() devolveu 2 MB de texto e o agente perdeu o fio da tarefa”

  • “Declarou a tarefa concluída depois de editar o código, mas antes de rodar os testes”

pass_hat_k.py
success_rate = 0.7
for trials in [1, 3, 8]:
    print(trials, round(success_rate ** trials, 3))
Saída
1 0.7
3 0.343
8 0.058

Principais conclusões

  • Avalie execuções inteiras: resultado verificado, orçamento, ações permitidas, motivo de parada.

  • Guarde rastros mascarados para descobrir qual etapa falhou.

  • Rode as tarefas repetidamente; o pass^k mede a confiabilidade que os usuários realmente sentem.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em Python

Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.

Exercício 1

Avalie rastros de agentes

+25 XP

Cada linha é um resumo de rastro em JSON {"id", "goal_met", "steps", "tools"}. Uma execução passa se atingiu o objetivo, usou no máximo 8 etapas e não usou nem delete_repo nem force_push. Imprima ID: pass ou ID: fail (REASONS), com os motivos nesta ordem - goal not met, S steps > 8, used forbidden tool T (cada ferramenta proibida usada, em ordem) - e depois pass rate: P/N.

  • Quatro execuções
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Exercício 2

pass@k contra pass^k

+25 XP

Cada linha é n c k: c de n execuções deram certo. Imprima pass@k=A pass^k=B com 3 casas decimais, em que pass@k=1−(n−ck)/(nk)\text{pass@}k = 1 - \binom{n-c}{k} \big/ \binom{n}{k} e passk=(ck)/(nk)\text{pass}^k = \binom{c}{k} \big/ \binom{n}{k}.

  • Três casos
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…