último acesso: sex., 12 de jun. de 2026 · daniel@home ~

Daniel Deusing

cat blog/ai-agents-fantasy-football.mdx

Montei um time de agentes de IA para fazer minha lição de casa no fantasy

Toda manhã um time de agentes de IA entra na minha liga de Copa do Mundo no Comunio, lê as notícias reais do futebol, confere as próprias conclusões e me deixa um único dashboard — além de um dossiê crescente sobre os rivais contra quem eu dou lances.

10 de jun. de 2026 · #ai #agents #football

Estou numa liga de fantasy para a Copa de 2026. Jogado a sério, é um emprego de meio período: todo dia tem notícia de lesão para caçar numa dúzia de sites, preço de jogador se mexendo, lance para pesar, e aquela sensação incômoda de que você deixou passar justamente a única coisa que importava. Eu não queria gastar minhas noites fazendo isso na mão.

Então fiz a coisa óbvia de 2026 e botei a IA para fazer a lição de casa por mim.

E aqui vem a parte em que eu quero ser preciso, porque ela é o ponto inteiro. Eu não escrevi um programa que raspa o site num timer e roda meia dúzia de regras que digitei mês passado. Eu montei um pequeno time de agentes de IA. Toda manhã eles entram no jogo, decidem o que vale a pena pesquisar, vão ler as notícias reais do futebol, raciocinam sobre o que aquilo significa para o meu elenco, conferem as próprias conclusões e me deixam um único dashboard. A análise é feita fresca, sob demanda — não está assada em código que eu escrevi de antemão. Guarda essa diferença: ela é a linha entre uma ferramenta estática e algo mais próximo de um colega de trabalho, e é o motivo de tudo isso importar para um negócio.

Construí para economizar meu tempo e dar lances melhores. Esta é a tabela que eu colocaria na sua frente se você perguntasse se funciona. Retrato de hoje de manhã, um dia antes da estreia:

ManagerComprasSaldo líquido de tradingPatrimônio desde o dia 1
Worldcup Allstars22−26,77M−11,30M (−20,6%)
Eu52+3,52M+9,29M (+17,3%)

Mesma liga, mesmos jogadores no mercado, três semanas de negociação. O patrimônio total do Worldcup Allstars encolheu um quinto. O meu cresceu um sexto. A diferença entre nós na última linha é de quase 21 milhões de euros, e a Copa nem começou.

Aquela última coluna é a que eu defenderia numa reunião. Não é métrica de sensação: é a contabilidade do próprio sistema, comparando o caixa + valor de elenco de hoje com o que cada manager tinha no dia 1. A coluna do meio é o saldo de trading que explica tudo — somando cada compra e venda, você entregou valor ou extraiu valor? O Worldcup Allstars foi com tudo nos nomes grandes e perdeu 27M pagando ágio. Eu também paguei ágio — na casa de um dígito percentual, porque tem jogador que eu quero mesmo — mas também vendi acima do mercado vezes suficientes para fechar no positivo só com o trading. Composto ao longo de três semanas, dá uma diferença de 21M partindo de posições iniciais quase idênticas. (Quase idênticas, para ser preciso, a favor deles: eles começaram o dia 1 um pouco mais ricos que eu.) O livro-caixa está logo abaixo, exatamente como o dashboard renderiza.

A tabela Markt-Saldo: uma linha por manager com compras, vendas, dinheiro gasto, ágio dos dois lados, saldo líquido de trading e performance desde o dia 1, células coloridas de vermelho e verde
O livro de onde saem esses números. Ele fala alemão — Käufe = compras, Verkäufe = vendas, Saldo = saldo líquido de trading, Performance = variação de patrimônio desde o dia 1. Vermelho é valor entregue, verde é valor extraído.

Agora, por que essa tabela vale mais do que parece — e onde, sem fazer barulho, isso deixou de ser sobre futebol para mim.

Neste jogo você não compra jogador com etiqueta de preço visível. Você dá lance num leilão às cegas: todo mundo manda uma proposta lacrada, ninguém vê a de ninguém, e o número mais alto simplesmente leva — tipo proposta em envelope fechado numa licitação. Então a pergunta de verdade nunca é “quanto vale esse jogador?”, e sim “quanto os outros managers vão jogar em cima dele?” E as pessoas são gloriosamente previsíveis nisso: pagam ágio pelos nomes grandes (todo mundo quer o Messi, o Kimmich) e perdem a disciplina em momentos muito específicos.

Que é exatamente o que os meus agentes vêm registrando em silêncio. Cada compra da liga, marcada com o quanto passou do valor justo — por quem, em qual jogador, em qual dia. Disso cai fora um modelo do comportamento dos meus adversários: quem paga ágio, por que tipo de jogador, quando e por quanto. Então quando eu mando um lance lacrado, não estou chutando no escuro — estou precificando contra o que esses rivais específicos sempre fizeram. Deixo os indisciplinados pagarem caro pelos nomes brilhantes e fico fora da guerra; e quando eu realmente quero alguém, dou o lance suficiente para passar do número previsto deles e nem um euro a mais.

Essa é a vantagem para a qual eu construí isso. Num mercado onde não dá para ver o lance de ninguém até ele já ter vencido, os agentes me dão a segunda melhor coisa — um dossiê diário e crescente sobre as pessoas contra quem eu dou lances, para eu prever o comportamento delas antes de me comprometer. E só funciona porque os agentes voltam toda manhã e olham de novo, em vez de rodar um analisador estático que escrevi uma vez e abandonei.

Deixa eu voltar e mostrar a coisa inteira.

O que isso realmente é

O jogo de fantasy se chama Comunio. Se você nunca encostou nele: você administra um elenco de jogadores de futebol reais com um orçamento estilo dinheiro de verdade. Os valores deles sobem e descem conforme eles jogam de fato lá na grama, e você compra e vende — naqueles leilões às cegas — contra outros managers humanos da sua liga. É a bolsa de valores, só que os ativos têm posterior de coxa e você não vê as ordens de ninguém.

Para a Copa de 2026 estou numa liga. E em algum ponto do planejamento veio o pensamento que toda pessoa ocupada tem uma hora: isso vai comer as minhas noites. Então, em vez de fazer a lição de casa na mão, construí agentes para fazê-la — para eu tomar a decisão em dois minutos em vez de duas horas.

Todo dia, sozinhos, eles:

  • entram no comunio.com e puxam o estado ao vivo da liga — meu caixa, meu elenco, a classificação, quem está dando lance em quê
  • vão ler as notícias reais de futebol que mexem com o valor dos jogadores
  • conferem as próprias conclusões contra fontes independentes antes de confiar nelas
  • produzem previsões de placar para cada jogo da rodada seguinte, com níveis de confiança
  • e renderizam um dashboard: o dinheiro, as recomendações, as previsões e a evidência por trás de cada decisão

Só isso. Uma tela. Eu abro com o café, vejo tudo, decido. Sim, ensinei um bando de agentes de IA a fazer minha lição de casa, e não, não estou arrependido.

Aqui vai o tour. Repara no que cada parte está realmente fazendo — e se for passar o olho, passa o olho na última seção, onde eu entro em como tudo está ligado. O negócio está do 1 ao 7.

1. O dinheiro, num relance

O topo do dashboard são cinco cartões, atualizados hoje de manhã. Caixa em mãos: 0,30M — quase nada, de propósito: estou totalmente investido no elenco, e a caixa de estratégia diz isso com todas as letras (“elenco completo, sem compras obrigatórias — segura o caixa para upgrades pontuais”). Valor do elenco: 62,75M. Patrimônio total: 63,05M. Dezenove jogadores. Posição na liga: 3 de 11 por patrimônio total.

Esse último número merece uma pausa. O Comunio distribui para cada manager um elenco inicial aleatório, e o meu veio fraco: meu elenco do dia 1 valia 13,76M, perto do fundo da liga, enquanto o rival mais bem servido começou com 20,70M — uns 50% a mais que eu. São as cartas que te dão; reclamar não mexe na tabela. Três semanas de negociação disciplinada depois, na véspera de a Copa começar de verdade, meu portfólio está perto do topo. Os outros managers veem o mesmo ranking que eu; o que eles não conseguem ver é por que o meu subiu.

Topo do dashboard da liga WM 2026: um banner de contagem regressiva dizendo um dia para o pontapé inicial, os dois jogos de abertura, cinco cartões de dinheiro e o começo da tabela de propostas recebidas com a linha do Messi
O cockpit de hoje de manhã: um dia para o pontapé inicial, os dois jogos de abertura de amanhã, os cinco cartões de dinheiro — e as primeiras propostas recebidas, já precificadas contra os meus pisos de venda.

2. As notícias vêm até mim — e vêm com fonte

Aqui é onde deixa de ser brinquedo.

Espalhadas pela visão do elenco há pequenas células de notas, cada uma com links clicáveis para as fontes. Aqui está uma história que eles acompanharam ao longo de uma única semana — meu jogador mais caro:

Messi, alguns dias atrás: nova lesão na coxa/posterior no último jogo da MLS. Treinando separado, fora dos dois amistosos. Probabilidade de ser titular reduzida para 50 — titularidade não garantida. (espn.com, rotowire.com)

Messi, hoje de manhã: promovido de volta a apto — 20 minutos e um gol de pênalti no amistoso contra a Islândia em 9 de junho; o rastreador de lesões da ESPN o lista como “IN — Expected to Play”. Probabilidade de titularidade de volta a 85. (espn.com, rotowire.com)

Eu não cacei nada disso. Os agentes caçaram, enquanto eu dormia — primeiro a notícia ruim, depois a recuperação, cada passo com os recibos anexados: ESPN, RotoWire, Sky Sports, CBS, Sports Mole, World Soccer Talk. Cada afirmação tem link de volta para a origem. É assim que isso aparece no painel — primeiro a visão do elenco, depois o que acontece quando você passa o mouse na linha do Messi:

A tabela de análise do elenco: cada linha de jogador com posição, seleção, uma barra de probabilidade de titularidade, valor de mercado, uma tag de veredito e uma célula de notas com fontes linkadas
A visão do elenco: cada jogador carrega um status, uma barra de probabilidade de titularidade, um veredito e uma célula de notas com as fontes linkadas.
Um cartão de recomendação aberto sobre a linha do Messi: veredito HOLD, o upgrade de condição física depois do amistoso contra a Islândia, o raciocínio, um piso de venda de 23M e o conselho sobre a proposta de 17,2M
Passa o mouse em qualquer recomendação e o cartão inteiro se abre. Este é o do Messi, de hoje de manhã: o upgrade para apto depois do amistoso contra a Islândia, o raciocínio, o piso de venda de 23M — e o que fazer com a proposta de 17,2M que está na mesa (recusar).

Afirmação sem fonte é boato. Afirmação com link é algo sobre o qual dá para agir. A máquina inteira é construída sobre essa única distinção.

3. Recomendações — com número de confiança e motivo

Cada jogador ganha uma barra de probabilidade de ser titular e uma tag: BUY, CHECK, HOLD, SELL, GAMBLE ou AVOID. Nada de feeling. Um número e um veredito.

Algumas reais, todas do painel de hoje de manhã:

  • Rogers — 62% de chance de ser titular — CHECK. Meia inglês, no mercado a 4,55M. A pesquisa de hoje de manhã o tinha em 50 — cara ou coroa. A passada de auditoria foi atrás de algo para desempatar e voltou com três sinais independentes: o mercado de apostas o precifica em 2/7 para começar jogando, o técnico meio que o confirmou, a hierarquia do elenco concorda. Probabilidade elevada para 62, preço-alvo elevado para 6,0M — e o veredito ainda assim fica em CHECK, não BUY: “ainda sem confirmação oficial da escalação”. Ele até nomeia os dois rivais cheios de caixa que provavelmente vão dar lance contra mim, com a nota de que os dois historicamente pagam ágio.
  • Unai Simón — 92% — HOLD. “Meu único goleiro titular absoluto de um favorito ao título. Primeira opção da Espanha, sem concorrência. A proposta na mesa está 3% abaixo do mercado — recusar. Não vender abaixo de 7,4M (+25%).”
  • Nübel — 3% — AVOID. Terceiro goleiro da Alemanha, nem aparece na hierarquia do elenco. “Nenhum lance faz sentido.” Dois managers rivais — ambos sem goleiro no momento — estão dando lance nele mesmo assim.

Os três estão no painel de hoje. Rogers lidera a lista de alvos de contratação, a proposta pelo Unai Simón está na tabela de propostas recebidas, e o raciocínio em formato longo mora nas recomendações do elenco:

A tabela de alvos de contratação com uma caixa de estratégia recolhível em cima; Rogers lidera a lista com veredito CHECK e 62% de probabilidade de titularidade
A lista de alvos de contratação com sua caixa de estratégia, Rogers no topo — probabilidade elevada para 62, veredito ainda CHECK, não BUY.
A tabela de propostas recebidas: cada lance nos meus jogadores mostrado contra o valor de mercado, o piso de venda e uma recomendação por linha
Propostas recebidas, cada lance precificado contra os meus pisos de venda — a proposta pelo Unai Simón está 3% abaixo do mercado: recusar.
Cartões de recomendação por jogador do elenco, cada um com tag de veredito, probabilidade de titularidade, preços-alvo e várias frases de raciocínio
Os cartões de recomendação por jogador com o raciocínio escrito por extenso — o painel por trás dos bullets.

Olha o do Rogers de novo. O sistema não deixou o cara-ou-coroa em pé — ele foi caçar evidência, incluindo um mercado de apostas, a única fonte com dinheiro de verdade apostado em estar certa. Aí moveu o próprio número, documentou o porquê, e mesmo assim se recusou a subir o veredito além de CHECK, porque titular provável não é titular confirmado. Isso não é uma máquina fingindo certeza. É uma máquina mostrando a lição de casa quando muda de ideia — que é o único tipo a quem eu confiaria uma decisão. Uma máquina que te diz quando está em dúvida vale por dez que estão sempre convictas.

Os preços-alvo também não são chute. Tem um modelo por baixo: um prêmio pela força da seleção do jogador (um time de elite soma +35%, um forte +27%, um mais fraco +12%), pela escassez da posição, por quais rivais cheios de caixa provavelmente vão dar lance contra mim — e se o jogador está sequer disponível. Gols são ponderados por posição. Mata-mata conta em dobro, porque conta mesmo. É um modelo de valuation que por acaso é sobre jogadores de futebol.

Um pequeno desvio — relê as três últimas seções

Para um segundo e relê as seções 1, 2 e 3 — mas tira o futebol delas.

Uma visão ao vivo do seu caixa e da sua posição em ativos, e a distância entre o que você nominalmente tem e o que consegue de fato mover hoje. Um fluxo de notícias de fora sobre as coisas que você possui, cada item carregando um link para a origem, coletado de madrugada sem ninguém levantar um dedo. Um conjunto de recomendações ranqueadas, cada uma com nível de confiança e um motivo em português claro, que se rebaixa sozinha quando a evidência fica frouxa — e que precifica a sua jogada contra rivais que você não consegue ver.

Isso já não é uma tela de fantasy de futebol. Isso é acompanhar um portfólio, ou monitorar um mercado, ou precificar uma proposta lacrada contra concorrentes e fornecedores cuja mão você não vê. Mesmo padrão, outros substantivos. Que é exatamente o motivo de eu estar escrevendo isto.

Ok. De volta ao jogo.

4. Um cockpit em vez de dez abas

Tudo mora num único dashboard. Um banner de contagem regressiva da Copa atravessando o topo (“1 dia para o pontapé inicial — estreia 11.06.2026” — é amanhã, e sim, essa parte me dá um friozinho na barriga). Depois os cinco cartões de dinheiro. Depois as propostas recebidas pelos meus jogadores. Depois os alvos de contratação com a caixa de estratégia recolhível. Depois o meu elenco e as recomendações dele.

Oito abas — Visão geral, Meu Elenco, Classificação, Concorrentes, Transferências, Checagem de fatos, Previsões, Precisão — e um seletor de datas flutuante que pula entre os retratos diários. Eu consigo viajar no tempo pela história da liga e ver como a história de um jogador mudou dia a dia. (As duas últimas abas são novidade desta semana. Elas são o sistema dando nota em si mesmo — seção 7.)

Uma dessas abas, a classificação da liga, está aí embaixo — e é um bom exemplo de inteligência silenciosa, porque a tabela oficial do Comunio mostra dos outros managers exatamente uma coluna: o valor do elenco. A minha reconstrói o resto a partir do livro de transferências que ela vem mantendo — o caixa de cada manager, o patrimônio total, e um número do qual eu tenho um orgulho discreto: o poder de compra = caixa mais um quarto do valor do elenco, a regra do Comunio para o máximo que um manager pode ter comprometido em lances abertos ao mesmo tempo. Essa coluna me diz, para cada rival, quanto ele consegue de fato jogar em cima de um jogador agora mesmo. Num leilão às cegas, conhecer o teto da guerra de lances em que você está prestes a entrar é a diferença entre chutar e precificar.

A classificação da liga reconstruída: posição, nome do manager, caixa, valor do elenco, poder de compra e patrimônio total para os onze managers
A classificação reconstruída: caixa (Guthaben), valor do elenco (Teamwert), poder de compra (Kaufkraft) e patrimônio total (Gesamtwert) para os 11 managers. O jogo oficial mostra para todo mundo só a coluna de valor do elenco — o resto é contabilidade própria do meu sistema.

A questão é que eu não estou mais caçando. Dez abas e uma planilha foram substituídas por uma tela que já fez a caça por mim. Pensa no relatório que o seu time realmente precisa contra aquele que eles montam na mão na quinta à tarde. É essa a lacuna que isso fecha.

5. O livro-caixa — prever quem paga ágio, de quanto e quando

De volta para onde começamos, porque num mercado de lances às cegas isto é o mais perto que existe de ver as cartas dos adversários.

O sistema mantém o histórico completo de cada compra e venda da liga. Para cada manager ele acompanha quatro coisas: o ágio como comprador (dinheiro perdido pagando acima do mercado), o prêmio como vendedor (dinheiro extraído vendendo acima do mercado), o líquido dos dois, e a última linha — como o patrimônio total de cada manager se moveu desde o dia 1.

O Worldcup Allstars, o lado perdedor da tabela de abertura, pagou em média +97% de ágio como comprador (−34M perdidos em guerras de lances), recuperou uma parte vendendo a +67% (+7,4M extraídos da guerra de lances de outra pessoa), mas o líquido está em −27M. Patrimônio total: −20,6%. Eu também paguei ágio — 5% em média, porque tem jogador que eu quero mesmo — mas quando vendi, fiz em média +25% de prêmio, o suficiente para fechar no positivo só com o trading. Líquido: +3,5M de saldo de trading. Patrimônio total: +17,3%.

E como métrica que você não consegue decompor é métrica em que você não deveria confiar, as duas colunas que importam se explicam sozinhas no hover:

Um tooltip sobre a minha célula de Performance decompondo a variação de patrimônio de +9,29M em caixa inicial, valor do elenco do dia 1, a linha de base resultante e o patrimônio total de hoje
Sem caixa-preta: passa o mouse na minha célula de Performance e o dashboard mostra a aritmética — 40M de caixa inicial + 13,76M de elenco do dia 1 = linha de base de 53,76M, 63,05M de patrimônio total hoje, +9,29M.
Um tooltip listando o valor do elenco inicial do dia 1 de cada manager ao lado da posição atual dele
O segundo hover coloca a linha de base do dia 1 de cada manager ao lado de onde ele está agora.

Por fase do torneio, a liga inteira enlouqueceu um pouco: na janela pré-torneio já foram 256 transferências, 190,56M de ágio total, uma média de +39% acima do valor justo. E a visão por jogador revela linhas como esta:

Kimmich, comprado em 24 de maio, pago 20,56M — valor de mercado no dia seguinte: 9,26M. Ágio de 11,30M. +122%.

Todas as transferências da liga ranqueadas por ágio; a primeira linha mostra Kimmich, comprado pelo Worldcup Allstars por 20,56M — 11,30M e 122% acima do valor de mercado
O histórico completo de transferências da liga, ranqueado por ágio. A linha do Kimmich reina no topo; o mesmo padrão se repete até embaixo — 256 negócios, 190M pagos acima do valor de mercado.

Um homem só, mais que o dobro. E como os agentes registram cada um desses casos, o padrão vira previsão: este manager sempre corre atrás de nomes alemães grandes, aquele perde a disciplina na semana antes da estreia, esta posição sai confiavelmente por +50%. Num leilão lacrado, essa é a vantagem — eu não estou mais dando lance contra o valor de um jogador, estou dando lance contra o hábito conhecido de um rival.

Vou fazer a troca de substantivos uma vez, direito, para você ver a forma fora do jogo. Apontei a mesma ideia — o mesmo livro-caixa, a mesma regra das duas fontes — para um pequeno lote de faturas de fornecedores, para um amigo que toca a operação de uma empresa de médio porte. Ela marcou um fornecedor cujos preços unitários vinham subindo de mansinho por vários trimestres enquanto o mercado não se mexia, e cravou o mês em que a deriva começou. Ninguém tinha percebido, porque ninguém estava olhando uma única tela para isso; os aumentos eram pequenos e espalhados pelos extratos. É só isso que isto é. Um livro-caixa que nunca pisca, vigiando o momento em que alguém começa a pagar — ou cobrar — demais, e aprendendo o padrão de cada jogador para que o próximo movimento seja previsível.

6. A parte de que eu mais me orgulho: ele checa os próprios fatos

Aqui é onde um sistema de verdade se separa de uma demo esperta. Esses agentes não confiam nas próprias conclusões.

Existe uma aba inteira para isso — um Faktencheck — e um agente separado que pega cada afirmação futebolística que o sistema fez e tenta verificá-la contra as fontes citadas mais fontes novas. Cada afirmação ganha um veredito: confirmada, incerta ou refutada. Uma rodada recente marcou 96 confirmadas, 30 incertas, 11 refutadas — 137 afirmações auditadas numa única passada, dispostas numa tabela com a afirmação, o veredito, a correção (se houver) e a evidência:

A tabela de auditoria do Faktencheck num dia cheio de notícias: linhas de afirmações com selos de veredito em verde, amarelo e vermelho, mais colunas de correção, evidência e fontes
A tabela de auditoria: afirmação, veredito, correção, evidência, fontes. Verde é confirmada, amarelo incerta, vermelho refutada — e as vermelhas são o motivo de a aba existir.

A rodada de hoje de manhã tem os três vereditos numa página só, e cada um é uma pequena história. O caso do Marrocos (Ez Abde fora com lesão no joelho, perde a fase de grupos) voltou confirmado: a federação marroquina mais três veículos independentes concordam. Um arquivo de pesquisa tinha a estreia da Inglaterra na Copa contra Gana em 12 de junho; o verificador refutou — a Inglaterra estreia contra a Croácia no dia 17, Gana é o terceiro jogo do grupo — e corrigiu o arquivo com a tabela de jogos citada. E o upgrade do Messi da seção 2 voltou incerto: “apto” é um pouco otimista demais, o RotoWire ainda o lista como decisão de última hora, e o técnico da Argentina só prometeu “evitar qualquer risco” — o que não é garantia de titularidade. O otimismo do pesquisador e o ceticismo do auditor, lado a lado na mesma página, antes de eu apostar um centavo em qualquer um dos dois. Aqui está essa página, de algumas horas atrás:

A tabela do Faktencheck de hoje de manhã: a afirmação sobre o próximo jogo da Inglaterra marcada como refutada, a probabilidade de titularidade do Rogers corrigida para cima, a lesão do Ez Abde confirmada e a afirmação sobre a condição física do Messi marcada como incerta
A auditoria de hoje de manhã, exatamente como descrevi: o erro da tabela de jogos da Inglaterra refutado e corrigido, a probabilidade de titularidade do Rogers elevada com o mercado de apostas citado, a lesão do Ez Abde confirmada pela federação — e a afirmação do Messi “apto” sinalizada como duvidosa.

A regra pela qual isso vive é a rigorosa: uma afirmação só é “confirmada” quando uma segunda fonte independente concorda. Uma fonte é uma pista. Duas são um fato.

Agora, a ressalva honesta, porque um verificador de fatos que só mostra as vitórias está te vendendo alguma coisa. Duas fontes concordando não é à prova de balas — às vezes os dois veículos estão só reescrevendo o mesmo despacho de agência, e pronto: você “confirmou” o mesmo boato duas vezes. Eu me apoio em fontes originadoras independentes onde dá, mas fonte correlacionada é um modo de falha real, e é exatamente o tipo de coisa que a próxima seção existe para pegar às claras. A manchete honesta para quem fosse rodar isso a sério não é “ele cita fontes” — é “com que frequência uma afirmação confirmada se revela falsa”, e essa eu só consigo responder depois que os jogos forem jogados.

O verificador também existe por um motivo nada glamoroso: no começo, os agentes erravam. Um leu uma probabilidade de titularidade vencida. Um colocou um jogador no grupo errado do torneio. Um precificou uma transferência com o valor de mercado errado. Um citou um jogador que não batia com ninguém de nenhum elenco real — um fantasma — e sem a checagem eu teria descoberto isso dando lance em alguém que não existia. O verificador é o tecido de cicatriz desses erros: a camada que audita uma decisão antes de eu agir sobre ela, do jeito que um time de finanças mantém quem lança a fatura separado de quem a aprova.

7. O sistema está dando nota em si mesmo, ao vivo

A coisa mais recente que adicionei — e a que estou mais curioso para acompanhar — é a parte em que os agentes declaram as previsões com antecedência, em público, e depois as pontuam contra a realidade quando os jogos forem jogados.

A aba de Previsões dá palpite em cada jogo da rodada atual — todos os 24 jogos da rodada de abertura neste momento, re-palpitados conforme as notícias se movem — cada um com um placar, um percentual de confiança, o raciocínio e as fontes. Três palpites do painel de hoje de manhã:

  • México x África do Sul — a abertura de amanhã — 2 a 0 com 72% de confiança. “O México abre no Azteca com clara vantagem de casa e um 4-3-3 entrosado em volta de Jiménez e Alvarado; o lateral-esquerdo da África do Sul é dúvida com problema no posterior, e eles mostraram limitações ofensivas contra adversários de ponta o ano inteiro. Alternativa plausível: 1 a 0 — jogo de abertura tradicionalmente é trancado.” Fontes: rotowire.com.
  • Coreia do Sul x Tchéquia — 2 a 1 com 58%. Ontem essa mesma linha dizia 1 a 1 com 50% — um cara-ou-coroa honesto, sem vantagem clara. De madrugada o raciocínio se atualizou: o talento de ponta da Coreia (Son, Lee Kang-In, Kim Min-Jae) num 3-4-3 de pressão alta, os tchecos dependendo de um centroavante só, com o reserva machucado. O palpite foi para 2 a 1 porque a informação foi — em público, com a versão de ontem ainda guardada no histórico de retratos. E onde genuinamente continua sem haver vantagem, ele diz: Costa do Marfim x Equador está em 1 a 1, 50%, um cara-ou-coroa assumido. É essa a disciplina que eu quero.
  • Catar x Suíça, 13 de junho — 0 a 2 com 75%. O 4-2-3-1 entrosado da Suíça e um elenco bem mais profundo; o Catar mal se reforçou desde 2022 e é ofensivamente inofensivo contra defesas europeias organizadas.
A tabela Prognosen: 24 jogos da rodada de abertura, cada um com horário, os dois times, um placar palpitado, uma barra de confiança, uma justificativa de uma linha e links para fontes
O painel completo: 24 jogos da rodada de abertura, cada um com horário, placar palpitado, número de confiança, raciocínio e fontes. Amanhã isso deixa de ser uma lista de opiniões e começa a ser um histórico.

E aí tem uma aba separada — Precisão — que está vazia neste momento. Duas seções moram ali: a precisão das previsões de jogos (compara cada placar palpitado com o resultado real) e a calibração das probabilidades de titularidade (verifica se as afirmações de “80% de confiança” realmente acertam 80% das vezes na prática, agrupadas por nível de confiança).

As duas seções dizem, neste momento: “Ainda não há rodadas verificadas — os valores aparecem quando a primeira rodada for concluída.” É exatamente isso que eu quero que elas digam. A infraestrutura está lá — pública, datada, cobrável. Ela começa a se preencher amanhã à noite, e a partir daí dá para conferir a lição de casa do sistema contra a realidade sem precisar acreditar em mim.

A aba Genauigkeit com duas seções vazias — precisão das previsões de jogos e calibração das probabilidades de titularidade — cada uma informando que ainda não existem rodadas verificadas
Minha captura de tela favorita deste artigo: uma página que existe só para dar nota no sistema, vazia de propósito, fotografada na véspera de começar a se preencher.

Essa é a parte que importa para qualquer pergunta de negócio. Um sistema que você não consegue avaliar é um sistema em que você não pode confiar. A maioria dos “dashboards de IA” que vão te mostrar em 2026 nunca vai, discretamente, ser cobrada pelos resultados que previu. Este aqui tem a página de notas embutida, com as colunas nomeadas, antes de a primeira bola rolar.

8. Como ele é construído

Para os engenheiros e os curiosos, aqui está a forma da coisa, sem rodeio.

Primeiro, aquilo em que eu insisto o tempo todo, dito uma vez e para valer. Um software normal busca dados num cronograma e roda as regras que você escreveu de antemão; mude a pergunta e você muda o código. Isto aqui não funciona assim. Toda manhã os agentes decidem o que pesquisar, leem, raciocinam sobre o assunto e podem chegar a uma conclusão que eu nunca pré-programei — eles mudam de ideia quando as notícias mudam. Os dados são buscados diariamente e a análise é computada sob demanda, por IA, não reproduzida de um script estático. Essa é a diferença entre automatizar um relatório e contratar um analista que por acaso é feito de tokens.

É um sistema multiagente. A versão simples: em vez de uma IA grande fazendo tudo em sequência, eu rodo um time de pequenos especialistas ao mesmo tempo, cada um com um trabalho. Um “agente” aqui é só um pequeno trabalhador de IA com uma tarefa e um checklist — como entregar o mesmo briefing para um analista por região e deixar todos trabalharem de uma vez.

A pipeline diária é uma linha limpa: logar → importar a liga → atualizar o livro-caixa → pesquisar → recomendar → palpitar os jogos → checar os fatos → renderizar o dashboard.

A pesquisa é a parte bonita. Eu disparo um agente pesquisador por seleção, todos em paralelo. O da Espanha, o da Suécia e o da Inglaterra trabalham ao mesmo tempo, cada um devolvendo uma escalação prevista, notas de lesão e fase por jogador, probabilidades de titularidade, palpites de placar com confiança e vereditos de compra cientes do ágio — como dados estruturados rígidos, não prosa. Depois eu disparo um agente verificador por seleção, também em paralelo, e o crucial: ele é independente e somente leitura — não pode mudar nada, só pode devolver achados. O pesquisador propõe; o verificador dispõe. Separar esses dois papéis é o truque inteiro: a coisa que faz uma afirmação não pode ser também a coisa que a aprova.

O encanamento que não precisa de julgamento — o rastreio do dinheiro, a classificação, a aritmética de valuation, a pontuação de precisão — mora em código comum, sem nenhuma IA. Isso é deliberado, e é a parte que a maioria entende ao contrário: use a ferramenta cara só onde ela paga o próprio aluguel. As checagens baratas e mecânicas — esse preço parece são, esse veredito bate com a própria probabilidade, esse ID de jogador existe mesmo, o 2 a 0 palpitado é igual ao 2 a 0 real — rodam em Python comum. As chamadas caras de IA ficam reservadas para o julgamento que sustenta o peso: ler a web aberta para verificar o punhado de afirmações sobre as quais uma decisão de fato se apoia. Eu limito a duas ou três buscas web por seleção e faço cache das fontes âncora. Saber quais dos seus problemas são raciocínio difícil e quais são só aritmética é a maior parte do que separa uma demo de IA de um sistema de IA que você consegue bancar para sempre — e a maioria dos sistemas de “IA” que eu vejo por aí faz exatamente o contrário e se pergunta por que a conta assusta.

Uma palavra sobre custo, porque é a primeira coisa que eu perguntaria. Com a aritmética fora do modelo e as buscas limitadas, uma rodada diária completa sai na casa dos centavos — uns poucos dólares de um dígito somando todas as seleções num dia movimentado, não a conta de arregalar os olhos para a qual as pessoas se preparam quando ouvem “multiagente”. O motivo de ser barato é a disciplina, não a sorte: o modelo só faz, em cada caso, a parte em que um modelo é unicamente bom.

O login é uma sessão real de navegador conduzida pelo Playwright contra o comunio.com. As credenciais saem de um cofre de senhas em tempo de execução via token de serviço — nunca impressas, nunca logadas, nunca paradas no código — e a sessão é reutilizada a cada rodada. Para uma liga de hobby, é mais que suficiente. Para uma empresa, é onde a conversa de verdade começa, não termina: onde os dados moram, quem pode passar por cima de uma recomendação, se um auditor aceitaria a trilha, e a parte genuinamente espinhosa — raspar um site de fantasy em que você tem conta é trivial, enquanto monitorar concorrentes e puxar dados de terceiros numa empresa regulada é um campo minado de termos de serviço e de acesso em torno do qual você projeta desde o dia um. Eu menciono isso não para varrer para debaixo do tapete, mas porque fingir que não existe é como esses projetos morrem na revisão jurídica.

Funcionou? Resposta honesta: me pergunta daqui a um mês — mas a página está aberta.

O torneio começa amanhã, 11 de junho de 2026. Enquanto escrevo isto, nenhuma bola rolou. Então não vou te dizer que os meus agentes estão ganhando, porque ninguém ganhou nada ainda. O arco do Messi e a correção do Rogers lá em cima não são acertos comprovados — são o sistema mudando de ideia conforme as notícias chegam, que é o comportamento que eu queria. Mas o placar ainda está em branco.

O que eu consigo te mostrar é o sistema sendo honesto sob pressão, antes do pontapé inicial, onde já dá para conferir:

O arco do Angulo. Em 22 de maio ele o segurou apesar de um alerta de lesão — probabilidade de titularidade 50, valor 0,49M — contra o instinto de vender em pânico. Em 25 de maio uma fonte afirmou que ele estava “apto, p80”; o verificador refutou e corrigiu para p45. Então, em 7 de junho: confirmado apto, p72, valor subindo para 1,43M, vaga na lista oficial. O valor caminhou 0,49 → 0,52 → 1,43M enquanto todo mundo se assustava. “Não venda em pânico, segura até o fechamento das listas” foi a decisão, e ela se sustentou. Os três retratos abaixo são os próprios registros datados do sistema sobre esse arco — eu posso viajar no tempo até eles quando quiser com o seletor de datas:

Retrato do dashboard datado de 22 de maio: a linha do Angulo com um alerta de lesão, probabilidade de titularidade 50, valor 0,49M e veredito HOLD
22 de maio: segurado a 0,49M através do alerta de lesão — sem venda de pânico, segurar até o fechamento das listas.
Retrato do dashboard datado de 25 de maio: o verificador marca a afirmação otimista de apto com p80 como refutada e corrige a probabilidade de titularidade para 45
25 de maio: a afirmação prematura de “apto, p80” refutada pelo verificador e corrigida para p45.
Retrato do dashboard datado de 7 de junho: Angulo confirmado apto com probabilidade de titularidade 72, valor subido para 1,43M, vaga na lista oficial
7 de junho: confirmado apto, valor quase triplicado para 1,43M. Arquivado, conferível, sem como reescrever a história.

A armadilha Foden. Em 22 de maio: AVOID. “Fora da lista da Inglaterra para 2026. Sem Copa, não vale nada. A armadilha mais cara do mercado — não dê lance.” Simplesmente correto, e um rival pagou +63% de ágio por ele mesmo assim. O aviso estava ali no dashboard, com as fontes — continua lá no retrato de 22 de maio. Alguém só não leu.

O retrato de 22 de maio do cartão de recomendação do Foden: veredito AVOID, sinalizado como fora da lista da Inglaterra para 2026 e chamado de a armadilha mais cara do mercado
O aviso, como renderizado em 22 de maio. O ágio de +63% aconteceu mesmo assim — só que não fui eu.

E a tabela do topo deste artigo — Worldcup Allstars 20,6% no vermelho, eu 17,3% no azul — é a contabilidade do sistema, antes de uma única partida ser jogada, sobre uma diferença de quase 21M que surgiu puramente de como cada um de nós se comportou no mercado.

Então esse é o estado honesto das coisas. Os agentes são disciplinados, citam as fontes, se auditam, e já estão se avaliando numa página pública que começa a pontuar amanhã à noite. Se eles realmente ganham a liga é uma pergunta que só junho e julho podem responder.

E é exatamente por isso que estou transformando isto numa série. Vêm duas continuações por aí, ambas pontuadas contra a realidade depois do fato, sem nota de pena:

  1. Quão precisas foram as previsões? O sistema já tem a página para isso — vazia enquanto escrevo, preenchendo a partir de amanhã. Vou escrever direito depois da fase de grupos, com a precisão crua das previsões de jogos e as curvas de calibração das probabilidades de titularidade.
  2. Quão precisa foi a informação que ele coletou? Uma pergunta separada, e talvez mais importante — não “a aposta pagou?”, mas “a imagem que o sistema tinha do mundo estava correta desde o início?” É aí que a taxa de falsas confirmações e o problema das fontes correlacionadas têm o acerto de contas público deles.

Essa segunda é a pergunta que eu faria antes de confiar em qualquer sistema de decisão, fantasy ou não. Um sistema que ganha por sorte e um que ganha porque enxergou com clareza ficam idênticos no placar. As continuações são a minha tentativa de distingui-los, em público, onde você pode conferir o meu trabalho.

Uma nota antes de te deixar ir: a forma por baixo do capô aqui — agentes autônomos buscando informação fresca, citando cada afirmação, se auditando e avaliando as próprias previsões contra a realidade — não é específica de futebol. O mesmo padrão funciona contra qualquer alvo em movimento: dados de compras, preços de concorrentes, risco de fornecedores, os mercados em que você realmente vive. Uma liga de futebol é só o lugar onde eu escolhi provar isso em público, onde a pontuação é honesta e as apostas são baixas. Se a forma disso encaixa em algo com que você convive no trabalho — e você quiser ver como fica um protótipo apontado para o seu domínio — a porta está aberta. Caso contrário, a jogada mais inteligente é observar primeiro as páginas de precisão: se um sistema não consegue avaliar as próprias previsões contra a realidade, nada do resto importa.

Agora eu vou descobrir se os agentes estavam certos. A contagem começa junto com o apito.

[pagr] daniel@home:~/blog/ai-agents-fantasy-football