danieldeusing
visitor@danieldeusing:~/artigos/ai-predictions-graded-quarterfinals

cat ~/artigos/ai-predictions-graded-quarterfinals.mdx

Comunio World Cup 2026 · Parte 7

Quatro de quatro: a melhor rodada da IA no torneio — e o placar voltou vazio

As quartas de final, avaliadas em público: minha IA de fantasy da Copa do Mundo acertou 4 de 4 vencedores com 3 placares exatos — sua melhor rodada até agora, uma rodada depois da pior. E quando o avaliador rodou, os quatro palpites tinham silenciosamente sumido do placar: um segundo bug de formato, uma camada abaixo do conserto do primeiro. Além da métrica que puniu uma rodada perfeita, e uma liderança na liga que cresceu de 55 para 95.

16 de jul. de 2026 · · ~20 min de leitura #ai #agents #football

O último artigo terminou com uma aposta específica: depois da pior rodada do torneio, o sistema tinha se dado permissão para voltar a falar alto — e as quartas de final mostrariam se um palpite alto conseguiria se provar.

Aqui está o boletim das quartas de final: quatro de quatro vencedores. Três de quatro placares exatos. O erro médio na margem de vitória, que tinha acabado de disparar para o seu pior valor, caiu para um quarto de gol — o melhor de todos os tempos. Os dois palpites mais altos desde que o sistema limitou a própria confiança, com 65 e 66 por cento, ambos acertaram o placar exato. Uma rodada depois do 2 de 8, o mesmo sistema, sob a mesma avaliação pública, produziu a melhor rodada do seu torneio.

E quando o avaliador rodou, a linha das quartas de final no meu placar voltou vazia. Não errada — vazia. Quatro palpites, silenciosamente descartados da verificação, como se a rodada nunca tivesse sido prevista. A melhor rodada que esse sistema já jogou quase não foi avaliada, e o motivo disso é a coisa mais útil deste texto. Quatro jogos são uma amostra pequena e vou continuar dizendo isso — mas um pipeline que perde o seu melhor trabalho sem levantar a voz não é um problema pequeno, em nenhum tamanho de amostra.

Um esclarecimento que faço toda rodada para os novos leitores, porque muda como você deve ler tudo o que vem abaixo: nada aqui é um modelo que eu treinei. Eu pego modelos de IA existentes, de prateleira, e dou a eles ferramentas, contexto e uma tarefa — e depois aperto a descrição da tarefa rodada após rodada. O aprendizado que você está vendo são regras escritas, não retreinamento; os modelos em si nunca mudam.

A recapitulação, caso você seja novo por aqui

O cenário: um esquadrão de agentes de IA — modelos de IA que não só respondem perguntas, mas usam ferramentas, fazem consultas e agem sobre uma lista de tarefas, mais perto de estagiários com um trabalho do que de um chatbot — faz o dever de casa diário para o meu time numa liga de fantasy da Copa do Mundo. Dois tipos de dever de casa, avaliados separadamente. O tipo chamativo: prever como cada jogo termina — vencedor, placar e um número de confiança, uma porcentagem no estilo previsão do tempo para o quanto ele tem certeza. O tipo silencioso: prever quem de fato entra em campo, porque no fantasy um craque no banco não te rende nada. A realidade avalia os dois em público, e eu anoto as notas. Esta é a sexta rodada avaliada. A anterior foi o episódio do desastre — 2 de 8, decomposto em três tipos diferentes de erro. Esta é o que aconteceu depois dos consertos.

O boletim das quartas de final, avaliado
As quartas de final na visão de prognósticos avaliados (“Bewertete Prognosen”, filtrada para “QF”): o palpite (“Tipp”) contra o resultado final (“Endergebnis”), verde significando exato. Marrocos–França 0–2, Espanha–Bélgica 2–1 e Noruega–Inglaterra 1–2 foram todos cravados no gol; só Argentina–Suíça (palpite 1–0, terminou 3–1 na prorrogação) errou a margem — a sua célula “Warum daneben” (por que errou) já carrega a lição de cansaço à qual a última seção deste texto volta.

Como eram os quatro palpites antes do apito inicial

O formato da rodada importa mais do que o placar dela, então aqui estão os quatro palpites como foram travados, com o preço de mercado ao lado de cada um. As odds de apostas são probabilidades disfarçadas: quando uma casa de apostas só te paga um euro para cada cinco que você arrisca na França, o mercado está te dizendo que a França vence cerca de cinco vezes em seis. Milhares de pessoas com dinheiro em jogo definem esses preços, o que faz deles a melhor verificação de sanidade gratuita que um analista pode ter — e é assim que eu os uso ao longo desta série.

Marrocos–França, palpite 0–2 com 65. O mercado colocava a França em torno de 59 por cento. Um elenco de elite contra uma equipe muito boa, mas sem a mesma profundidade — exatamente o formato em que o novo livro de regras do sistema manda ampliar a margem de vitória e uma confiança na casa dos sessenta, porque times de elite não vencem esses jogos com educação. Terminou 0–2.

Espanha–Bélgica, palpite 2–1 com 66. A Espanha em torno de 62 por cento para o mercado, e a Bélgica carregando uma lesão que tirou do torneio um dos seus titulares mais importantes. Terminou 2–1.

Noruega–Inglaterra, palpite 1–2 com 48. O mercado via a Inglaterra em apenas 51 por cento — um verdadeiro cara ou coroa com uma leve inclinação. O sistema disse isso no seu número: 48 fica dentro da sua faixa de cara ou coroa, que vai de 42 a 52, e um valor ali é o jeito do livro de regras de escrever “isso é uma moeda no ar, com uma inclinação” — não uma afirmação de que a Inglaterra tinha mais chance de perder. Terminou 1–2. Um palpite de cara ou coroa acertando o placar exato é sorte pegando carona na honestidade, e eu aceito.

Argentina–Suíça, palpite 1–0 com 50. O cauteloso, e a única mancha — mais sobre isso abaixo. A Argentina venceu por 3–1 na prorrogação. Vencedor certo, margem errada.

Três coisas sobre essa lista, antes do bug. Primeiro: a dispersão voltou. Depois da rodada em que todos os oito palpites se amontoaram entre 42 e 62 — a falha de “aglomeração”, tudo murmurado no mesmo volume — esta rodada foi de 48 a 66: dois palpites altos em favoritos de verdade, dois baixos em cara ou coroa de verdade, e a realidade concordou com a ordenação. Segundo, a nota de honestidade: esses números de confiança afirmam vencedores, não placares. O livro de regras merece crédito de verdade por acertar quatro vencedores e por mandar ampliar as margens nos dois favoritos — essa parte é processo. Cravar três placares exatos por cima disso é sorte pegando carona nesse processo, e a sorte foi do mesmo tipo nos palpites altos e no cara ou coroa da Noruega. Terceiro: o próprio postmortem do sistema — a autoavaliação escrita que ele registra depois de cada rodada — ainda apresentou uma reclamação, e é a reclamação oposta à de todas as rodadas anteriores. O palpite da França, ele argumenta, deveria ter sido mais alto — seu livro de regras permite até 75 num descompasso de elite, um limite separado atrelado à diferença de nível entre os elencos, não o gatilho de preço de mercado do artigo anterior, e ele escolheu o piso da faixa. Errar só na direção tímida demais, duas vezes, numa rodada perfeita, é o problema mais simpático que esta série já registrou. Ainda é registrado como um problema, porque a calibração — o quanto a confiança declarada bate com a frequência com que você realmente acerta — corta para os dois lados: tímido demais é tão descalibrado quanto confiante demais.

O placar vazio

Agora a parte que manteve a rodada interessante depois que o futebol acabou.

O maior conserto do artigo anterior foi o que eu chamei de fazer o formato conferir a física: depois de um palpite que se contradizia custar dois acertos nas oitavas de final, o sistema ganhou um portão de validação rígido — vencedor e placar precisam concordar antes de um palpite ter permissão para persistir. Esse portão rodou em todos os quatro palpites das quartas. Todos os quatro passaram. O portão funcionou exatamente como foi escrito.

E mesmo assim os quatro palpites caíram fora da avaliação, por causa de em quê eles estavam escritos. O placar deveria ser armazenado como um valor de texto curto — “0-2”, do jeito que você escreveria no papel. Em vez disso, o previsor o armazenou como uma lista estruturada de dois números: duas caixas separadas guardando 0 e 2, em vez de um rótulo único dizendo “0-2”. Esse mesmo portão comparou o vencedor contra os dois números e ficou satisfeito — dois números se comparam bem, seja qual for o recipiente em que chegam. O avaliador, porém — o script rígido mais adiante no pipeline que lê cada palpite armazenado e o confere contra o resultado real — lê o placar separando o rótulo no traço. Recebendo caixas em vez de um rótulo, ele não travou. Não reclamou. Pulou o palpite e seguiu em frente, quatro vezes, e a linha das quartas de final no placar público ficou vazia.

Falha silenciosa: a diferença entre um sistema que quebra com barulho e um que quebra em silêncio é a diferença entre um alarme de incêndio e um detector de fumaça com a bateria descarregada. O alarme disparando às 3 da manhã é irritante e é consertado; o detector morto é idêntico a um que funciona — até o dia em que a diferença importa. Software que recebe uma entrada ruim deveria gritar e parar. Software que dá de ombros e pula está fabricando detectores mortos, porque um resultado vazio é lido como “nada a relatar” — e “nada a relatar” raramente ganha uma segunda olhada.

A sequência merece ser explicada, porque é um padrão que vale a pena reconhecer. O bug da rodada passada estava em como os palpites eram escritos — então um portão foi adicionado na hora de escrever. O portão conferia se o registro fazia sentido. Ele não conferia do que o registro era feito — o significado passou, o recipiente não. O pessoal de software chama isso de erro de tipo: o valor certo no tipo errado de caixa, e o portão nunca tinha sido avisado de que a caixa importava. E o avaliador, que tinha feito a sua separação em todos os noventa e cinco palpites avaliados antes desta rodada sem um único soluço, nunca tinha sido ensinado a dizer nada quando a separação falha — porque nunca tinha falhado. Dois componentes, cada um razoável por si só, e a falha morava exatamente na passagem de bastão entre eles — o único lugar que nenhum dos componentes considera ser seu trabalho. Se você roda qualquer pipeline em que um sistema escreve registros e outro os lê — pedidos, reservas, exportações de folha de pagamento — você tem essa passagem de bastão em algum lugar, e ela está exatamente tão desvigiada quanto a minha estava.

O conserto tem duas partes. O portão agora confere o recipiente além do conteúdo: um placar precisa ser texto, no formato de placar, mandante primeiro, ou o palpite é recusado na porta — essa é a prevenção. E o lado da avaliação foi reparado ao vivo, em cada script que toca esses registros, para que a rodada pudesse ao menos ser avaliada. A regra que estou acrescentando por cima das duas, para tudo neste pipeline que lê registros: um registro que não pode ser lido interrompe a execução com um nome e um motivo, em vez de silenciosamente afinar a amostra. O portão bloqueia o bug que eu agora conheço; o grito é o seguro para aquele que ainda não imaginei. Uma confissão já que estou nisso: eu não tirei print do placar vazio — o reparo ao vivo aconteceu antes de eu pensar em fotografar os destroços — então o artefato que dá para citar não é uma tabela vazia dramática, é a própria entrada do bug no postmortem do sistema, que você pode ler na tabela de lições mais abaixo.

Mais uma coisa, porque o artigo anterior fez questão da decisão oposta, e a distinção importa aqui. Nas oitavas de final, dois palpites com o vencedor certo continuaram avaliados como errados, e eu deixei a nota valer — os registros se contradiziam, e um registro que se contradiz está errado, seja lá o que se quis dizer. Estes quatro palpites eram diferentes: vencedor e números concordavam, sem ambiguidade, em todos eles. O registro estava certo e o leitor estava quebrado. Então o leitor foi consertado e a rodada foi avaliada, e o 4 de 4 lá em cima é o resultado. Essa é a linha que vou manter pelo resto da série: um avaliador quebrado é reparado e roda de novo; um registro ambíguo fica errado para sempre. Um é consertar a régua de novo. O outro é discutir com ela.

A métrica que puniu a rodada perfeita

Aqui está o número mais estranho da rodada, e a minha lição favorita dentro dele.

Esta série vem perseguindo uma meta chamada discriminação de confiança — a distância entre o quanto o sistema está confiante nos palpites que ele acerta e nos que ele erra. Pense num médico cuja voz soa exatamente tão hesitante diante de uma pinta inofensiva quanto diante da coisa que precisa de cirurgia: seja qual for a taxa de acerto dele, o tom dele parou de carregar informação. Um bom analista fala alto quando está certo e baixo quando está errado, então uma distância maior é melhor, e a meta em vigor é uma distância de pelo menos dez pontos. Ela entrou nas quartas de final em 8.45.

O sistema então jogou uma rodada perfeita — quatro de quatro, com a dispersão de confiança finalmente de volta — e o número de discriminação caiu, para 7.95.

Vamos entender por quê, porque a aritmética está fazendo algo sorrateiro. A métrica tira a média da confiança sobre todos os palpites certos e, separadamente, sobre todos os errados. As quartas de final acrescentaram quatro palpites certos com 65, 66, 48 e 50 — e os dois cara ou coroa dessa lista, os honestos 48 e 50, puxaram a média do monte dos certos para baixo. Nenhum palpite errado foi acrescentado, então o monte dos errados ficou parado, e a distância encolheu. Agora rode o e-se com uma coisa mudada: se o sistema tivesse perdido os dois cara ou coroa — uma rodada de 2 de 4 em vez de 4 de 4 —, esses mesmos números baixos teriam entrado no monte dos errados, puxado a média dele para baixo, e a nota de discriminação teria subido. A métrica recompensa perder os seus palpites humildes e pune vencê-los.

Isso não é um problema de futebol, é um problema de design de KPI — sendo um KPI, indicador-chave de desempenho, qualquer número pelo qual um time se guia — e vale reduzir ao esqueleto: eu defini um número para incentivar um comportamento — “fale alto só quando estiver certo” — e o número acabou punindo também um comportamento que eu quero — “seja humilde nos cara ou coroa, e vença-os mesmo assim quando a moeda cair do seu lado.” A meta fica por enquanto, porque com tão poucos jogos restando ela tem pouco poder de direção para qualquer lado — mas parei de lê-la como uma nota e passei a lê-la como o que ela é: uma lente, com um ponto cego que eu agora sei nomear. O teste que eu sugeriria para qualquer métrica pela qual você se guia — incluindo os dashboards do trabalho — é exatamente o que expôs isso: imagine a melhor rodada que o seu sistema poderia ter e veja para que lado o ponteiro se move. Se a perfeição piora o número, o número está medindo outra coisa que não aquilo para o qual você o contratou.

O boletim por rodada ao longo do torneio
A visão por rodada (“Pro Spieltag” = por rodada; linhas ordenadas por nome, não por data): em ordem de torneio, os vencedores acertados foram 46% → 75% → 71% → 73%, despencaram para 25% nas oitavas de final — e as quartas de final estão em 4 de 4, com 3 placares exatos e um erro de saldo de gols (“Tordiff. MAE”, o erro médio na margem de vitória) de 0.25, o melhor do torneio. Abaixo dela, a própria tabela de lições do sistema — a segunda linha é o bug de formato de duas camadas de que trata este texto. Quatro jogos; o aviso de tamanho de amostra vale também para as rodadas boas.

A mancha, e o que ela ensinou

Argentina–Suíça merece parágrafos próprios, porque o erro tem um mecanismo dentro dele.

A Suíça é o tipo de adversário para o qual o sistema agora tem uma regra rígida: uma equipe que atende a todos os critérios do que os postmortems chamam de teste da retranca — postar-se lá atrás, ceder a posse de bola, jogar pelo empate e pela disputa de pênaltis. Essa postura é exatamente o que queimou o palpite mais caro do sistema no torneio, um favorito de 76 por cento eliminado nos pênaltis, então a regra limita tanto a margem quanto a confiança: crave o favorito por um único gol, fique perto de cinquenta. O sistema seguiu isso mecanicamente. 1–0 Argentina, com 50.

Por noventa minutos a regra parecia certa — 1–1 no apito. Então veio a prorrogação, e a Suíça parou de correr. Eles tinham passado por uma maratona completa de prorrogação mais pênaltis na rodada anterior, e contra uma Argentina descansada o cansaço chegou na hora marcada: 3–1 após 120 minutos.

O refinamento que o postmortem escreveu é do tipo que eu mais gosto, porque é estreito e mecânico: o limite da retranca ainda governa os primeiros noventa minutos — mas quando a equipe que joga na retranca carrega nas pernas uma rodada de prorrogação mais pênaltis, o placar final é cravado um gol mais generoso de cada lado, 2–1 em vez de 1–0, com confiança significativamente mais alta: a mesma margem de um gol, escrita por uma regra que agora espera que o jogo se abra no fim. Cansaço não é uma sensação; está na ficha do jogo da rodada anterior, verificável antes do apito inicial.

O mesmo sinal de cansaço apareceu na metade silenciosa do sistema, pela direção oposta. O modelo de quem-começa teve outra rodada forte — certo em cerca de 85 por cento de 79 palpites de escalação avaliados, o segundo melhor do torneio —, mas seus piores erros se agrupam de forma reveladora: o ponta da Suíça, avaliado como titular quase certo, entrou apenas cinco minutos vindo do banco por um treinador administrando pernas exaustas. E um dos meio-campistas mais celebrados da Espanha, avaliado em 90 para começar, iniciando a partida no banco — porque, das quartas de final em diante, os treinadores param de escalar “os onze de sempre” e passam a montar um onze por adversário. Os dois erros viraram limites: um teto rígido nas probabilidades de escalação para atacantes cujo time acabou de jogar 120 minutos, e uma regra de que, no fundo dos mata-matas, ninguém recebe uma certeza de 90 ou mais sem uma palavra recente do treinador. Guarde essa segunda regra — as semifinais estão prestes a testá-la com muito mais força.

A calibração de quem-começa ao longo do torneio
A calibração de quem-começa (“Aufstellungs-Kalibrierung”): cada faixa de confiança contra a frequência com que aqueles jogadores realmente começaram, cada valor real vindo da ficha pública da partida (os links “en.wikipedia.org”). Ao longo do torneio o modelo acerta cerca de quatro palpites em cinco, e esta rodada ficou acima dessa linha. A lista dos maiores outliers (“Größte Ausreißer”) embaixo é onde cada erro caro carrega sua regra escrita.

A liga: a vantagem dobra

A tabela da liga é onde as duas metades do sistema — a chamativa e a silenciosa — são somadas em pontos, então aqui está o balanço da rodada.

Primeiro lugar, 526 pontos, noventa e cinco à frente do segundo. As quartas de final acrescentaram cem pontos — não a maior colheita do meu torneio, a rodada anterior somou 134 —, mas a vantagem quase dobrou, de 55 para 95, porque o segundo lugar conseguiu apenas sessenta. Num mata-mata de fantasy, é a diferença que decide, não os seus pontos brutos — e a diferença se acumula quando o seu elenco continua jogando e os jogadores dos outros elencos vão para casa.

Essa também foi a rodada em que o elenco foi remodelado para a reta final. O valor no fantasy morre com a eliminação — um craque de um time eliminado não rende nada e vale menos a cada dia — então os movimentos foram brutais e simples: todo mundo das seleções eliminadas foi vendido, e o dinheiro se concentrou nos times ainda de pé. A troca mais instrutiva foi pagar 14.65 milhões por um meio-campista francês cujo valor de mercado listado era 9.86 milhões — quase cinco milhões acima do preço de tabela, de propósito. Pagar a mais é aritmética racional quando os minutos de mata-mata valem em dobro e são escassos: a pergunta nunca é “quanto ele vale na lista”, é “quanto valem para mim minutos garantidos num semifinalista, neste ponto dos mata-matas, contra a alternativa de segurar dinheiro que não rende nada.” Troque os substantivos e é a decisão que uma empresa toma quando paga acima do preço de tabela pelo fornecedor comprovado que de fato consegue entregar neste trimestre — o prêmio não é desperdício, é o preço da certeza dentro de uma janela curta.

A tabela da liga depois das quartas de final
A tabela depois das quartas de final (nomes dos rivais ocultados — são pessoas reais). Primeiro em pontos (“Punkte”: 526, noventa e cinco à frente) e primeiro em valor total (“Gesamtwert”). A vantagem foi de 5 → 55 → 95 ao longo de três rodadas de mata-mata.

Tire o futebol de cena

Três coisas desta rodada sobrevivem à troca de substantivos para qualquer sistema empresarial.

Um conserto só está pronto quando a camada seguinte a ele também foi testada. O portão do lado da escrita passou registros que o lado da leitura não conseguia ler; cada componente estava bem e o sistema não estava. A unidade de verificação é o pipeline, não o remendo — o dia em que você aperta o modelo de nota fiscal é o dia de também rodar uma nota do começo ao fim, até o pagamento.

O silêncio é o modo de falha mais caro. Uma saída errada é pega, porque alguém discorda dela. Uma saída faltando é lida como “não aconteceu nada” e é acreditada. Se um passo de um pipeline consegue engolir uma entrada ruim e produzir um resultado menor e de aparência mais limpa, ele vai acabar apagando a sua melhor rodada — relatórios de auditoria, consolidações mensais, a rotina noturna que copia dados entre sistemas, todos merecem a regra que esta rodada impôs ao meu avaliador: falhe com barulho ou não rode.

Antes de se guiar por uma métrica, alimente-a com um dia perfeito. A minha nota de discriminação caiu porque o sistema venceu os cara ou coroa que ele havia honestamente rotulado como cara ou coroa. Um KPI que pune o comportamento que você quer treina, silenciosamente, você ou o seu time na direção errada. Rodar “o que a perfeição faria com esse número” custa cinco minutos e teria pegado isso já na fase de projeto.

O chaveamento das semifinais que o sistema enfrentou em seguida: França–Espanha e Inglaterra–Argentina, e os dois palpites já estão travados. França–Espanha, cravado como um empate de 1–1 com 45 — dois lados com sequências de jogos sem sofrer gols e um mercado que não conseguia escolher um favorito. Inglaterra–Argentina, Inglaterra por 2–1 com 55, a leve favorita na borda de cima da zona de cara ou coroa. Nenhum palpite alto na dupla, porque, aos olhos do mercado, nenhum estava disponível: toda seleção ainda de pé é de elite, e elite contra elite é a zona de cara ou coroa por definição. O próximo artigo avalia os dois palpites, e depois de uma rodada de 4 de 4 a coisa mais honesta que posso te dizer é que o próprio sistema espera errar em cerca de um dos dois. É isso que os números 45 e 55 significam. Se isso se confirma — você vai ler aqui, mesmo placar, mesmas regras.