Um loop termina quando o critério de pronto diz que terminou. Se o critério é vago, o loop não termina ou termina cedo; se dá para cumprir por atalho, o agente acha o atalho: apaga o teste que falhava, gera página vazia. A escala de 0 a 4 do kit execucao-longa dá nome a cada degrau e mostra o mínimo aceito: nível 3, comando com trava.
3Travas que fecham o atalho: contagem, arquivo congelado, validador
4Função, regressão e limite num critério só
Objetivo: classificar critérios de pronto de 0 a 4 com as 5 perguntas e reescrever um critério vago até o nível 3, com comando e trava.
01 · A escada do critério de pronto
Clique em cada degrau: como ele soa, como o agente o burla e o que fazer.
Aula 601 · A escada do critério de prontoClique em cada degrau: como ele soa, como o agente o burla e o que fazer.
1/6
0 · vago
Não tem fim que se confira. O loop para quando a cota acaba ou quando o agente acha que já está bom. Exemplo: "melhorar a performance".
Role a página: cada etapa abaixo acende a sua parte do diagrama.
1/6
0 · vago
Não tem fim que se confira. O loop para quando a cota acaba ou quando o agente acha que já está bom. Exemplo: "melhorar a performance".
2/6
1 · subjetivo
Parece um critério, mas quem decide é a opinião do agente: ele se autoaprova. Exemplo: "código revisado e sem problemas".
3/6
2 · burlável
Já tem comando, mas dá para cumprir sem fazer o trabalho: apagar o teste que falha dá "0 falhas"; vinte páginas vazias dão "20 páginas". É o degrau mais perigoso porque parece pronto.
4/6
3 · protegido
Comando mais uma trava que fecha o atalho: contagem mínima ("≥ 48 testes"), arquivo congelado ou hash conferido, validador do conteúdo. Exemplo do kit: "0 falhas e ≥ 48 testes e tests/ intocado", não só "0 falhas".
5/6
4 · independente
Nível 3 mais alguém ou algo de fora conferindo: teste ponta a ponta real, avaliador separado, amostra conferida por uma pessoa. Use quando o erro custa caro. Como montar o avaliador separado é o curso 1.
6/6
Suba até o 3, sempre
Vago e subjetivo se reescrevem; burlável ganha uma trava; protegido é o mínimo para deixar um agente sozinho; independente é para quando errar custa caro.
Escala do template goal.md do kit execucao-longa. Mínimo aceito: nível 3.
02 · A escala e as 5 perguntas, como estão no template
Trecho de execucao-longa/templates/goal.md. Cole no seu goal.md ou nas regras do agente.
templates/goal.md · escala e perguntas
ESCALA (apagar ao preencher)
0 vago ......... "deixar bom", "melhorar" → reescrever
1 subjetivo .... "revisado e limpo" (o agente se autoaprova) → reescrever
2 burlável ..... "0 falhas", "20 páginas" (apaga teste, página vazia) → pôr trava
3 protegido .... comando + trava (contagem mínima, arquivo congelado/hash, validador do conteúdo) → mínimo aceito
4 independente . nível 3 + checagem externa (e2e real, avaliador separado, amostra humana) → quando o erro custa caro
5 PERGUNTAS — cada "não" derruba o nível
1. Dá para checar com um comando?
2. A resposta é sim/não (sem "melhorou")?
3. É impossível cumprir sem fazer o trabalho?
4. A prova aparece na saída? (o avaliador do /goal no Claude só lê a conversa)
5. Função + regressão + limite estão cobertos?
SINAIS DE CRITÉRIO RUIM: "bom/limpo/adequado/completo"; depende do agente dizer que terminou;
só contagem sem checar conteúdo; não diz o que NÃO pode mudar; verificação leva horas.
Critério nível 3 · as três camadas
**Função** — faz o que devia
- [ ] python3 -m pytest -q tests/ | tail -1 → 6 passed (e nunca menos de 6)
**Regressão** — não quebrou o que já funcionava
- [ ] python3 -m pytest -q | tail -1 → sem "failed"
**Limite** — não mexeu onde não devia
- [ ] git diff --exit-code -- tests/; echo $? → 0
- [ ] sha256sum -c tests.sha256 → tests/test_conta.py: OK
03 · Do 0 ao 3, um degrau por vez
O mesmo pedido reescrito até ficar à prova de atalho.
1. 0 → 1
"Melhorar a função de contar palavras" vira "a função conta palavras corretamente".
Ainda é opinião: quem diz "corretamente"?
2. 1 → 2
"python3 -m pytest -q imprime 0 failed".
Agora dá para checar. Mas apagar os testes também imprime 0 failed.
3. 2 → 3
"pytest imprime 6 passed, tests/ não mudou (git diff vazio) e o hash do arquivo de teste confere".
Contagem mínima e arquivo congelado: não há como cumprir sem fazer o trabalho.
Acrescente uma checagem que o agente não controla: outro agente que só avalia, um teste ponta a ponta no ambiente real, uma amostra que você confere.
Esse degrau é o assunto do curso 1.
04 · Prática
Na sua máquina. O exercício 2 usa um projeto seu com testes.
E1 · Classificar e reescrever
15 min
Escreva em criterios.md três critérios que você já usou (ou viu) para dizer que uma tarefa acabou. Ao lado de cada um, o nível de 0 a 4 e, numa linha que começa com nível 3, a versão reescrita. Escreva a marca nível 3 exatamente assim, em português: é ela que o grep conta.
Pronto quando:grep -c 'nível 3' criterios.md → 3, e grep -ciE '\b(bom|limpo|adequado|completo)\b' criterios.md só acha palavras nas linhas dos critérios originais, nunca nas reescritas.
E2 · Um critério nível 3 que roda
15 min
Num projeto seu com testes, rode o critério completo: a suíte com contagem mínima e a trava de que os testes não mudaram.
Pronto quando:python3 -m pytest -q | tail -1 (ou o comando de teste do seu projeto) mostra o número de testes, sem failed, e git diff --exit-code -- tests/; echo $? → 0.
E3 · Provar que a trava pega
10 min
Na mesma pasta, simule o atalho: troque o conteúdo de um teste por um teste vazio, rode as travas e depois desfaça com git checkout.
Pronto quando: Com o teste trocado, git diff --exit-code -- tests/; echo $? → 1; depois de git checkout -- tests/, o mesmo comando → 0.
05 · Teste da aula
Pergunta 1 de 4
"python3 -m pytest -q imprime 0 failed". Qual o nível?competência
Correto
Tem comando, mas apagar os testes também dá 0 failed. Falta a trava: contagem mínima e testes intocados. O erro comum é achar que comando já é nível 3.
Não é essa
Tem comando, mas apagar os testes também dá 0 failed. Falta a trava: contagem mínima e testes intocados. O erro comum é achar que comando já é nível 3.Rever: A escada do critério de pronto
Pergunta 2 de 4
Qual das 5 perguntas derruba "o agente confirma que revisou tudo"?
Correto
Não há comando, a resposta depende do agente dizer que terminou (sinal de critério ruim) e ele pode dizer sem ter feito. Nível 1.
Um critério cobre função e regressão, mas não diz nada sobre arquivos que não podiam mudar. O que falta?competência
Correto
Função, regressão e limite: sem limite, o agente pode cumprir o resto mexendo onde não devia. "Não diz o que NÃO pode mudar" está nos sinais de critério ruim.