Todo experimento aqui existe para responder a uma pergunta prática. Às vezes a resposta contraria o que a gente apostava — e esses são os achados que valem contar. Inclusive quando desmentem o próprio site.
n, modelo, data e
método. E cada achado carrega a lista do que ele não prova — porque é aí que
benchmark costuma virar propaganda.
Rodamos 144 agentes de verdade (Claude Code em modo headless) resolvendo as
mesmas 8 tarefas sobre o mesmo backend de ticketeria. Só uma coisa mudava: como
o agente alcança o sistema — pelas ferramentas MCP, ou por curl
contra a API REST equivalente, descobrindo os endpoints pelo spec OpenAPI ou já
com a documentação colada no prompt.
A expectativa era ver o braço sem MCP falhar. Não falhou. Os três chegam ao resultado praticamente sempre — a diferença aparece na conta: com MCP o mesmo trabalho custa cerca de metade do braço OpenAPI, com 3 a 5 vezes menos tokens e nenhuma chamada falhada no caminho.
curl e documentação razoável
chega lá.
As duas únicas falhas saíram do mesmo erro, e ele é instrutivo: o agente mandou
?status=open&status=pending, o REST aceitou em silêncio usando só o último valor, e
ele respondeu com confiança sobre o ticket errado. O schema tipado de uma ferramenta MCP não
permite escrever essa chamada. Foram 2 casos em 144 — sinal, não prova.
O módulo 2 treina uma linear probe sobre vetores de ativação para prever uma pergunta binária: "o agente acertou esta instância?". Havia dois defeitos empilhados. O primeiro: a probe era avaliada no mesmo conjunto em que treinava — e com 50 parâmetros para 30 amostras, decorar é trivial. Não é "quase 100%" por sorte; é 100% por construção.
O segundo era o rótulo na tela. A linha que imprimia "Origem: ⚡ Llama real" lia
o modo que o usuário pediu no seletor, não o que de fato tinha rodado. Bastava escolher
"real" para a tela anunciar Llama sobre ruído gaussiano. E a docstring da função se contradizia
em uma linha só: "acurácia no treino (leave-one-out simplificado)" — acurácia no
treino não é leave-one-out. O comentário dizia a verdade; o rótulo mentia.
Com validação cruzada 3-fold estratificada, medindo fora da amostra, o ruído cai para perto do acaso — que é o resultado honesto — e o sinal limpo se mantém em 1,000. O número bonito de antes era a probe decorando, não descobrindo.
hook_resid_post via TransformerLens) precisa dos pesos e roda num script local —
o site mostra simulação didática, e agora diz isso.
Fica aqui porque é o achado mais desconfortável do projeto: quem constrói a ferramenta de medir é
quem tem mais facilidade em se enganar com ela. A regra desta página — citar n,
modelo, método e o que não se prova — nasceu deste episódio.
Numa tarefa operacional real de triagem de cobrança, três arquiteturas foram medidas com o mesmo modelo de raciocínio. As três acertaram os 24 casos — score 1,000 em todas. O score, que é a métrica que todo mundo olha primeiro, não decidiu nada. Quem decidiu foi token e latência: a arquitetura mais simples fez o mesmo trabalho por menos da metade dos tokens e em um terço do tempo.
O servidor MCP do OTM passou a ser verificado por um cliente MCP real, contra a
URL pública, e não por chamada interna simulada: conexão, catálogo de
ferramentas, prompts e o repasse de chave BYOK por header. 14 de 14 ferramentas
respondem. O caminho até lá incluiu um HTTP 421 que só aparece quando a
requisição chega pelo domínio público — exatamente o tipo de falha que teste local não encontra.
Quer ligar seu próprio agente? O mcp.json está na
página inicial, na seção "Para agentes" — a chave é sua, e não
fica guardada no servidor.